Zoho Forms just became a whole lot more powerful. With its new dynamic prefill feature, you can now auto-populate form fields based on a real-time lookup to Zoho CRM or any external database—all without URL parameters or complex workarounds.
In this tutorial, we’ll walk you through how to implement dynamic prefill using webhooks and authenticated API calls, step by step.
? Need the code snippets and config details?
Check out our Club Zenatta post for copy-paste setup info.
What Is Dynamic Prefill in Zoho Forms?
Previously limited to Zoho Survey, dynamic prefill now allows Zoho Forms users to fetch data from external services (like Zoho CRM) at the moment a form is filled out—no pre-loaded URLs required.
Users enter a value (like an email), click a search icon, and the form pulls relevant CRM data into the fields.
Real-World Use Case: CRM Contact Lookup
Imagine you have a simple form where the user types their email address. With dynamic prefill:
- Zoho Forms sends a webhook to CRM
- CRM searches for a matching contact
- If found, the form auto-fills the user’s name and address
And this isn’t limited to CRM—you could query Zoho Books, third-party databases, or external APIs like QuickBooks or SAP.
Setting It Up: Step-by-Step Overview
- Create Your Zoho Form
Include a search field (e.g., email) and target fields like name and address. - Configure Dynamic Prefill
- Go to Settings > Dynamic Prefill Webhook
- Choose the field to search (e.g., email)
- Create a Connection to CRM
- You must be a Zoho admin
- Use OAuth 2.0 with client ID and secret from api-console.zoho.com
- Set scope to
ZohoCRM.modules.ALL
or limit as needed - Make sure the parameter type is
header
- Set Up Your Webhook
- Use the CRM v8 search API:
https://www.zohoapis.com/crm/v2/Contacts/search?email=example@example.com
- Use the CRM v8 search API:
- Test and Map Fields
- Run a test to ensure the form gets JSON data from CRM
- Use the JSON structure to map form fields like first name, last name, and street address
- Save and Deploy
- The form is now ready to prefill fields dynamically for live users.
Why This Matters
This feature brings smarter, more responsive forms to Zoho’s ecosystem, eliminating the need for URL parameter tricks and allowing for real-time data syncing.
It also opens up new use cases:
- Instant quote forms
- Pre-filled customer support tickets
- Event sign-ups with CRM contact enrichment
⚠️ Security Concerns & Our Recommendation
A user on YouTube raised a valid concern:
“I can’t think of a single use for this that doesn’t present a data protection risk.”
– @GregRobsonUK
They note that if a lookup relies on something easily guessable—like a sequential order ID—you could expose sensitive data.
Our reply:
To enhance security, we recommend storing an encrypted version of a record ID in CRM. This encrypted value can be used in the URL as a token for the lookup field, triggering the webhook safely without exposing identifiable values.
Final Thoughts
Dynamic prefill in Zoho Forms is a massive upgrade—especially for businesses already using Zoho CRM. It’s flexible, fast, and can connect to virtually any platform with an API.
With secure practices in place, this is a powerful tool for streamlining user experiences and reducing form fill friction.
For more resources on Zoho Forms, CLICK HERE.
FAQ: Dynamic Prefill in Zoho Forms
Yes. As long as your data source supports API access, you can fetch records from any external system, including QuickBooks, SAP, or custom SQL databases.
Only the first record returned will be used for prefill. It’s best practice to use a unique identifier like email or contact ID.
Yes. You must set up an OAuth connection using the Zoho API console and authenticate your webhook with header-based tokens.
Any field available in your JSON response from the external service can be mapped to form fields—name, address, contact info, and more.
Use encrypted or hashed values as lookup keys in the URL, and store those safely in your CRM or database.