Stay organized with collections
Save and categorize content based on your preferences.
By default, your agent responds to a matched intent
with a static response.
If you're using one of the
integration
options, you can provide a more dynamic response by using
fulfillment.
When you enable fulfillment for an intent,
Dialogflow responds to that intent
by calling a service that you define.
For example, if an end-user wants to schedule a haircut on Friday,
your service can check your database and respond to the end-user
with availability information for Friday.
Each
intent
has a setting to enable fulfillment.
If an intent requires some action by your system or a dynamic response,
you should enable fulfillment for the intent.
If an intent without fulfillment enabled is matched,
Dialogflow uses the static response you defined for the intent.
When an intent with fulfillment enabled is matched,
Dialogflow sends a request to your webhook service with information about the matched intent.
Your system can perform any required actions and respond to
Dialogflow with information for how to proceed.
When fulfillment is enabled, the static response you defined for the intent
is only used if your
webhook service fails.
The following diagram shows the processing flow for fulfillment.
The end-user types or speaks an expression.
Dialogflow matches the end-user expression to an intent and extracts parameters.
Dialogflow sends a
webhook request
message to your webhook service.
This message contains information about the matched intent, the action, the parameters,
and the response defined for the intent.
Your service performs actions as needed, like database queries or external API calls.
Your service sends a
webhook response
message to Dialogflow.
This message contains the response that should be sent to the end-user.
[[["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-08-07 UTC."],[[["\u003cp\u003eFulfillment allows for dynamic responses to user intents, unlike the default static responses.\u003c/p\u003e\n"],["\u003cp\u003eEnabling fulfillment for an intent triggers Dialogflow to call a defined service for a customized response.\u003c/p\u003e\n"],["\u003cp\u003eWhen fulfillment is enabled, Dialogflow sends a webhook request to your service with details about the matched intent.\u003c/p\u003e\n"],["\u003cp\u003eYour service then performs necessary actions and sends a webhook response back to Dialogflow with the tailored reply for the user.\u003c/p\u003e\n"],["\u003cp\u003eThe static response you have set up for an intent will only be used if the webhook service fails when fulfillment is enabled.\u003c/p\u003e\n"]]],[],null,["# Fulfillment\n\nBy default, your agent responds to a matched intent\nwith a static response.\nIf you're using one of the\n[integration](/dialogflow/docs/integrations)\noptions, you can provide a more dynamic response by using\n\n*fulfillment*.\n\nWhen you enable fulfillment for an intent,\nDialogflow responds to that intent\nby calling a service that you define.\nFor example, if an end-user wants to schedule a haircut on Friday,\nyour service can check your database and respond to the end-user\nwith availability information for Friday.\n\n\nEach\n[intent](/dialogflow/docs/intents-overview)\nhas a setting to enable fulfillment.\nIf an intent requires some action by your system or a dynamic response,\nyou should enable fulfillment for the intent.\nIf an intent without fulfillment enabled is matched,\nDialogflow uses the static response you defined for the intent.\n\n\nWhen an intent with fulfillment enabled is matched,\nDialogflow sends a request to your *webhook* service with information about the matched intent.\nYour system can perform any required actions and respond to\nDialogflow with information for how to proceed.\nWhen fulfillment is enabled, the static response you defined for the intent\nis only used if your\n[webhook service fails](/dialogflow/es/docs/fulfillment-webhook#errors).\nThe following diagram shows the processing flow for fulfillment.\n\n1. The end-user types or speaks an expression.\n2. Dialogflow matches the end-user expression to an intent and extracts parameters.\n3. Dialogflow sends a [webhook request](/dialogflow/docs/fulfillment-webhook#webhook_request) message to your webhook service. This message contains information about the matched intent, the action, the parameters, and the response defined for the intent.\n4. Your service performs actions as needed, like database queries or external API calls.\n5. Your service sends a [webhook response](/dialogflow/docs/fulfillment-webhook#webhook_response) message to Dialogflow. This message contains the response that should be sent to the end-user.\n6. Dialogflow sends the response to the end-user.\n7. The end-user sees or hears the response."]]