Overview
Dynamic form prefilling through webhooks streamlines form-filling for respondents by populating form fields with values fetched from an external service.
With this feature, you can share a personalized form with your respondent. When the respondent accesses the form and fills out a search field, the form fields gets automatically prefilled with the associated data retrieved from an external service.
Benefits:
- Saves time and effort for respondents by pre-filling form fields.
- Improves data accuracy by reducing manual data entry errors.
- Creates a personalized experience for respondents.
How does dynamic prefilling work?
Respondent opens the form, enters data into the Search Field and clicks the search icon.
On searching, the form sends a request to the external service along with the value entered in the Search Field to fetch the data.
The external service processes the request and returns data to be prefilled.
The form receives the response from the external service and the data will be prefilled in the form fields based on the prefill configuration.
The respondent views the prefilled form and can complete the remaining fields or make any necessary adjustments to the prefilled information.
Configuring Dynamic Prefill - Webhook
- Once you have your form built, in your form builder, navigate to the Settings tab >Prefill > Dynamic Prefill - Webhook.

- Click Configure.
In the pop-up, you will have 3 steps to complete the configuration for dynamic prefill:
1. Webhook Settings
In this section, you will have the Search Configuration and Webhook Details.
Search Configuration

Search Field
The Search Field will be the form field which will be used to retrieve related information from an external service. Select a form field from the dropdown as the Search Field.
The following form fields can be selected as search fields:
Single Line, Email, Phone, Dropdown, Radio, Number

Note: You must include the configured search field in either the URL Parameter or the Request Body, as it provides the webhook the identifier to retrieve a specific record.
Display Style
You can choose how the search field is going to be presented to your respondents by selecting one of the following display styles
- Inline Icon: Displays the search icon directly within the input field.
- Standalone Icon: Shows the search icon separate from the input field.
- Button: Displays the search function as a dedicated button.
Note:
- When a user clicks the search icon next to the Search Field in the live form, the webhook is triggered and the response is prefilled in the form.
- When a form loads with a pre-filled value (via Field Alias) in the search field, it triggers the search.
Webhook Details

Webhook URL
The Webhook URL is the endpoint where your form will send requests to the external service on search. Enter the full URL of the external service to retrieve the data.
The supported Webhook URL methods are
- GET
- POST
Authorization Type
Select the desired Authorization type to be either
General or one that is a configured connection in the Control Panel. If you choose
Connections to be the Authorization Type, you can choose the appropriate connection from the list in
Connection Name.
If a new connection is added, click the refresh icon next to the Connection Name dropdown list to select the newly added connection. Read more on creating connections.
Note: The Connection Name will only list the existing active connections. Read more about Connections.Data Retrieval Methods
Retrieval of data from external sources can be done by either
- URL Parameters
- Request Body
- Custom Header
URL Parameters
URL Parameter sends information to an external service, to retrieve the record to prefill a form when a user enters a value in the search field of the form.
During a record search, the webhook will include the URL parameter as a query string. The value entered in the Search Field, if mapped as a URL Parameter, is sent as the query parameter's value. The external service then uses this information to provide the data needed to prefill the form.
You can add additional information to filter the relevant data. For example, if you add a parameter named department with the value IT, then webhook will send a request like this:
You can add additional parameters by clicking the + icon and entering the name and value. You can also add a custom value to a parameter name by clicking Custom Input.

Request Body
Request Body is another way to send information to an external service to retrieve records and prefill the form. The supported formats for the request body are JSON and Text. The Request Body is used only with the POST method.
Example - Sample JSON to retrieve record based on a respondent's email and department
{
"email": "${zf:SingleLine}",
"dept": "IT"
}

Custom Headers
You can set a custom header name and value to be passed with the Webhook request. Enter the name of the header and the value associated with this header.
Note: You can add upto 5 URL Parameters and Custom Headers each.
Click Next.
2. Webhook Testing
In this step, you can test the webhook to ensure it retrieves the correct data based on the value entered in the Search Field.

3. Prefill Mapping
The next step is to determine which form fields should be pre-populated with the information from the fetched data.
To map the form fields that you wish to prefill with data from the external service,
Add a form field and click the field corresponding to it.

A popup with the JSON response will open. Identify the keys in the JSON response that contain the data you need and select it for the mapping.
For Date and Date-time fields, you have the option to choose the Expected Format. The date value received from the webhook in the chosen format will be converted to the Date Format configured in the form's settings (Settings > General > Date & Time > Date Format) and prefilled in the live form.
Repeat this for all the form fields that you wish to prefill.
- If you have any Subform field in your form, and wish to prefill them, map those Subform fields with the corresponding external service data fields in the same way.
Note: You can have a maximum of 50 field mappings, including fields mapped within the subform.
Check out the Response formats corresponding to the form fields.
Field Type | Example | Response Format |
Single Line, Multi Line, Address, Name, Dropdown, Radio | Richard |
|
Number, Rating, Slider | 100 |
|
Currency, Decimal | 100.5 |
|
Email | richard@zylker.com |
|
Website | www.zylker.com |
|
Phone | 2436673893 |
|
Date | 2024-08-23 | yyyy-MM-dd |
Time | 14:30 | HH:mm |
Date-Time | 2024-12-30T10:05:59.564600+08:00 | yyyy-MM-dd'T'HH:mm:ss.SSSXXX |
Checkbox, Multiple Choice, Image Choices | [100.50, 101.50] | JSON Array |
Decision Box | TRUE |
|
Subform | [ { <SUBFORM_ROW_1> }, { <SUBFORM_ROW_2> } ] | JSON Array |
Each time a search is performed, 1 wallet credit will be deducted. This means that even if the same respondent performs multiple searches, each individual search will consume one wallet credit. Essentially, every new search action triggers a deduction, regardless of how many times the same respondent repeats the process.
The total number of search operations available to you varies depending on the subscription plan you choose as follows:
Plan | Limit |
Trial | 100 |
Basic | 10000 |
Standard | 25000 |
Professional | 75000 |
Premium/Express | 150000 |
Zoho One | 150000 |
Note:
- This is the total limit for your organization's account, including all users and forms.
- You can view your usage details under Account Usage.
- Once the limit is reached, the access to the form will be blocked.
- The Dynamic Prefill - Webhook feature is not available in the Free plan.
- The limit will be reset automatically every month based on your billing cycle.