Stay organized with collections
Save and categorize content based on your preferences.
Dialogflow
contexts
are similar to natural language context.
If a person says to you "they are orange",
you need context in order to understand what "they" is referring to.
Similarly, for Dialogflow to handle an end-user expression like that,
it needs to be provided with context in order to correctly match an intent.
Using contexts,
you can control the flow of a conversation.
You can configure contexts for an intent by setting
input and output contexts,
which are identified by string names.
When an intent is matched,
any configured output contexts for that intent become active.
While any contexts are active,
Dialogflow is more likely to match intents
that are configured with input contexts that correspond to
the currently active contexts.
The following diagram shows an example that uses context for a banking agent.
The end-user asks for information about their checking account.
Dialogflow matches this end-user expression to the CheckingInfo intent.
This intent has a checking output context, so that context becomes active.
The agent asks the end-user
for the type of information they want about their checking account.
The end-user responds with "my balance".
Dialogflow matches this end-user expression to the CheckingBalance intent.
This intent has a checking input context,
which needs to be active to match this intent.
A similar SavingsBalance intent may also exist for matching the same end-user expression
when a savings context is active.
After your system performs the necessary database queries,
the agent responds with the checking account balance.
[[["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\u003eDialogflow's contexts are used to understand user expressions by providing necessary conversational context, similar to how humans understand natural language.\u003c/p\u003e\n"],["\u003cp\u003eContexts control conversation flow by setting input and output contexts for intents, identified by string names.\u003c/p\u003e\n"],["\u003cp\u003eWhen an intent is matched, its output contexts become active, influencing which intents are more likely to be matched next.\u003c/p\u003e\n"],["\u003cp\u003eDialogflow matches intents with specific input contexts only when those contexts are currently active, allowing for tailored responses.\u003c/p\u003e\n"],["\u003cp\u003eThe banking agent example shows how the "checking" output context from the \u003ccode\u003eCheckingInfo\u003c/code\u003e intent enables the \u003ccode\u003eCheckingBalance\u003c/code\u003e intent to be matched later when a user asks for their balance.\u003c/p\u003e\n"]]],[],null,["# Contexts\n\nDialogflow\n\n*contexts*\n\nare similar to natural language context.\nIf a person says to you \"they are orange\",\nyou need context in order to understand what \"they\" is referring to.\nSimilarly, for Dialogflow to handle an end-user expression like that,\nit needs to be provided with context in order to correctly match an intent.\n\n\nUsing contexts,\nyou can control the flow of a conversation.\nYou can configure contexts for an intent by setting\n[input and output contexts](/dialogflow/docs/contexts-input-output),\nwhich are identified by string names.\nWhen an intent is matched,\nany configured *output contexts* for that intent become active.\nWhile any contexts are active,\nDialogflow is more likely to match intents\nthat are configured with *input contexts* that correspond to\nthe currently active contexts.\n\n\nThe following diagram shows an example that uses context for a banking agent.\n\n1. The end-user asks for information about their checking account.\n2. Dialogflow matches this end-user expression to the `CheckingInfo` intent. This intent has a `checking` output context, so that context becomes active.\n3. The agent asks the end-user for the type of information they want about their checking account.\n4. The end-user responds with \"my balance\".\n5. Dialogflow matches this end-user expression to the `CheckingBalance` intent. This intent has a `checking` input context, which needs to be active to match this intent. A similar `SavingsBalance` intent may also exist for matching the same end-user expression when a `savings` context is active.\n6. After your system performs the necessary database queries, the agent responds with the checking account balance."]]