Overview
The Prefill-Webhook field allows you to dynamically populate form fields with data fetched from an external service, making form-filling faster and more accurate. When a respondent enters a value in this field and clicks the search icon, the form sends a request to the configured service. Based on the response, relevant form fields are automatically prefilled, creating a personalized and streamlined experience.
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 Prefill-Webhook field and clicks the search icon.
On searching, the form sends a request to the external service along with the value entered in the Prefill-Webhook 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 Prefill-Webhook
To configure the Prefill-Webhook field, create your form and follow these steps:
- Navigate to the Builder tab.
- In the fields panel, go to Advanced.
- Drag and drop the Prefill-Webhook field onto your form to add it.
- A configuration popup will appear now with four steps to complete the setup:
- Field Configuration
- Webhook Settings
- Webhook Test
- Prefill Mapping
Let's check each step in detail below.
1. Field Configuration

In this section, you will configure the basic field settings:
- Enter the Field Label for your Prefill-Webhook field.
- Choose the Field Type.
- The supported field types are Single Line, Number, Email, Phone, Dropdown and Radio.
- Click Next.
2. Webhook Settings

In this section, you will configure the webhook:
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 following Webhook URL methods are supported:
- GET
- POST
Authorization Type
Select the desired Authorization Type:
- General: Use when the endpoint is public or when you handle authentication via headers or query parameters.
- Connections: Use a pre-configured connection from the Control Panel. If you choose Connections, select the appropriate connection from the Connection Name dropdown list. Click the refresh icon if you have recently added a new connection so that it appears in the list. 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 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:
- The Prefill-Webhook field must be included in either URL Parameters or the Request Body, as it provides the webhook the identifier to retrieve a specific record.
- You can add up to five URL Parameters and Custom Headers each.
- You can add up to five form fields in total, combining both URL Parameters and Request Body. Supported field types include Single Line, Number, Email, Phone, Dropdown, and Radio.
Click Next.
3. Webhook Test

In this step, you can test the webhook to ensure it retrieves the correct data based on the value entered in the
Prefill-Webhook field.
- Enter the test values in the Fields section.
- Click Run Test to execute the webhook.
- Review the received response to verify the data is correct.

Click
Next.
Note: The Fields section displays all the fields configured in the URL Parameters and Request Body.
4. 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,
- Click Choose Field to add a form field.

- Click the input text box on the right corresponding to the added form field.
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.
- Repeat this for all form fields you wish to prefill.
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.
For Subform fields: If you have any Subform fields in your form, and wish to prefill them, map those Subform fields with the corresponding external service data fields in the same way.
Click Save to complete the Prefill-Webhook field configuration.
Note:
- You can have a maximum of 50 field mappings in the Prefill Mapping section, including fields mapped within the Subform.
- When a form loads with a pre-filled value (via Field Alias) in the Prefill-Webhook field, it triggers the search automatically. Here, the mapped fields will get prefilled via the webhook without the respondent manually clicking the search icon.
- You can add only one Prefill-Webhook field to a form.
- If your form already has a Zoho CRM field, you cannot add a Prefill-Webhook field, and vice versa.
- Prefill-Webhook fields cannot be duplicated.
After you configure the Prefill-Webhook field, the standard field properties will be the same as those of the selected field type (Single Line, Number, Email, Phone, Dropdown, or Radio).
After configuring the field, Webhook Configuration and Search Icon Style can be edited from the properties panel itself later.
Webhook Configuration
Webhook Configuration displays your Webhook URL and method (GET/POST) within the properties panel itself. For a quick view of your configured webhook, click the Summary button; for editing it, click on Edit button.
Webhook Configuration Summary
Click on the Summary button to view Webhook Configuration Summary. It displays a summary of your configured webhook, including the Webhook URL, HTTP method used (GET/POST), URL Parameters/Headers and Prefill Mapping details. You can quickly view the configuration without reopening the full setup.
Edit Webhook
Click the Edit button to reopen the configuration screens and modify the Webhook Settings, Webhook Test, and Prefill Mapping details if required.
Search Icon Style
You can choose how the search action is presented to respondents in the live form using the Search Icon Style property. The search icon can be customized in the following display styles:
Inline Icon
The search icon appears directly within the input field, on the right side.

Standalone Icon
The search icon appears as a separate clickable icon right next to the field.

The search action appears as a dedicated button. On selecting this icon style, the Button Label property will appear. This lets you customize the text displayed on the button (for example, “Search”, “Lookup”, “Fetch Data”).

Note:
- After configuring the Prefill-Webhook field, clicking the search icon in the live form field triggers the webhook and automatically prefills the mapped fields.
- The button label cannot be left empty and the maximum length supported is 10 characters.
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 |
Pricing
Each time a search is performed, one 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 | 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 Prefill - Webhook field is not available in the Free plan.
- The limit will be reset automatically every month based on your billing cycle.