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 - Webhooks.
- 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:
- 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.
- Record Identifier Key: The Record Identifier Key is used as a query parameter to send the value in the Search Field to the external service.
During a record search, the webhook will include the Record Identifier Key as a query parameter. The value of the Search Field will be sent as the query parameter value.
Based on the value in the Record Identifier Key, the external service provides the data to be prefilled in the form.
Example:
For example, if your Search Field is " Enter your Email", the Record Identifier Key is email, when a user enters the value in the Search Field as richard@zylker.com and searches, the webhook will send a request like https://api.zylker.com/getEmpInfo?email=richard@zylker.com
URL Parameters: If you would like to send additional information along with the Webhook request, you can specify it in this section. For example, you can include a secret key to every request being sent. This would help you in filtering out authenticate requests. These parameters will be added as query strings to the URL. Click on Add Parameters and enter the parameter name, value in the text boxes provided.
- 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. Prefill Mapping
After the webhook request is sent to the external service and the relevant data is retrieved, the next step is to determine which form fields should be pre-populated with the information from the fetched data.
- Map the form fields that you want to prefill with data from the external service.
- Identify the keys in the JSON response that contain the data you need and enter the JSON key next to the corresponding form field for the mapping.
For example, If the JSON response contains "name": "Richard Johnson", enter name
as the JSON key. - 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.
- Click Next.
3. Test & Save
Before you can save your configuration, it's essential to test if the received webhook's response matches the expected response format. This ensures that the prefilling process aligns with your expectations.
To do this,
- Enter a sample value in place of <Search Field's value> and run the test to send the request to the external service.
For example, if your Record Identifier Key is email, enter a test email address (richard@zylker.com). - Click Run Test. This triggers the form to send a test request to the external service using the provided test value (richard@zylker.com).
https://api.zylker.com/getEmpInfo?email=richard@zylker.com
- It is checked if the format of the response matches the expected format.
- Once verified, you can proceed to save the configuration.
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 |
|
Matrix Choice - Radio | Option 1 |
|
Matrix Choice - Checkbox | [100.50, 101.50] | JSON Array |
Matrix Choice - Dropdown, Textbox | [ { "columnname": "Answer A", "value": "Option 1" }, { "columnname": "Answer B", "value": "Option 2" } ] | JSON Array |
Matrix Choice - Number | [ { "columnname": "Answer A", "value": "100" }, { "columnname": "Answer B", "value": "100" } ] | JSON Array |
Matrix Choice - Currency | [ { "columnname": "Answer A", "value": "10.50" }, { "columnname": "Answer B", "value": "20.60" } ] | JSON Array |
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.