Stay organized with collections
Save and categorize content based on your preferences.
When an intent is matched at runtime,
the Dialogflow agent continues collecting information from the end-user
until the end-user has provided data for each of the required parameters.
This process is called
slot filling.
By default,
Dialogflow does not send a fulfillment webhook request
until it has collected all required data from the end-user.
If webhook for slot filling is enabled,
Dialogflow sends a fulfillment webhook request for each
conversational turn during slot filling.
While in most cases, the parameter prompts are enough to collect all required
parameters, a webhook for slot-filling allows you to define more specific agent
logic during collection of the parameters.
For example, your webhook could handle the customization of follow-up questions
or setting parameter slots that cannot be retrieved from the end-user response,
like from a database.
Enable webhook for slot filling
To enable webhook for slot filling at design-time:
The webhook request message received by your webhook service
has a queryResult.parameters field.
This field contains the current set of parameters provided
by the end-user.
Values that have not been collected yet
are set to empty strings.
An example of the webhook response message for setting parameters can be found in
Webhook Response examples.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-21 UTC."],[[["Dialogflow collects required data from users through a process called slot filling, continuing until all parameters are filled."],["By default, Dialogflow only sends a fulfillment webhook request after all required data is collected, but it can be configured to send a request for each conversational turn."],["Enabling the webhook for slot filling provides more specific agent logic during parameter collection, such as customizing follow-up questions or setting parameters from a database."],["To enable webhook calls during slot filling, toggle the \"Enable webhook call for slot filling\" option in the Fulfillment section of an intent within the Dialogflow ES console."],["When a webhook for slot filling is enabled, each request to the webhook contains a `queryResult.parameters` field showing the current parameters with uncollected values being empty strings."]]],[]]