Dialogflow에서 작업을 정의하려면 Dialogflow 에이전트에 인텐트를 만들고 이를 작업의 진입점으로 할당합니다. 다음과 같은 유형의 작업을 만들 수 있습니다.
기본 작업: 모든 Dialogflow 에이전트에는 사용자가 작업의 이름으로 작업을 요청할 때 호출되는 작업이 하나만 있어야 합니다 (예: "Hey Google. Google에 관한 사실 또는 "Hey Google. Google에 관한 사실에 대해 이야기해 보겠습니다.").
대화에 딥 링크를 연결할 추가 인텐트: 이러한 작업은 사용자가 작업 이름으로 작업을 호출하고 호출 문구를 지정할 때 트리거됩니다 (예: '역사적 사실에 관해 Google에 관해 상담하기').
모든 Dialogflow 에이전트에는 GOOGLE_ASSISTANT_WELCOME 이벤트를 처리하는 인텐트가 하나만 있어야 합니다. 이 인텐트는 사용자가 이름으로 작업을 호출할 때 (예: "Hey Google, Google에 관한 사실 알려 줘") 트리거됩니다.
다음과 같은 방법으로 GOOGLE_ASSISTANT_WELCOME 이벤트를 정의할 수 있습니다.
Dialogflow 콘솔의 인텐트 편집기에서:
탐색 메뉴에서 인텐트를 클릭합니다.
시작 이벤트로 설정할 인텐트를 선택합니다.
인텐트의 이벤트 섹션에 GOOGLE_ASSISTANT_WELCOME를 입력합니다.
저장을 클릭합니다.
그림 1. Dialogflow 인텐트의 이벤트 섹션 스크린샷
Google 어시스턴트 통합 모달 창에서:
탐색 메뉴에서 통합을 클릭하고 Google 어시스턴트를 클릭합니다.
X를 클릭하여 명시적 호출 필드에서 현재 항목을 삭제합니다.
시작 인텐트 상자에서 시작 이벤트로 설정할 인텐트를 선택합니다.
그림 2. Dialogflow 콘솔의 Google 어시스턴트 통합 모달 창 스크린샷
인텐트의 이벤트 섹션을 보면 이제 인텐트에 GOOGLE_ASSISTANT_WELCOME 이벤트가 설정되어 있음을 알 수 있습니다 (그림 1 참고).
처리 사용 설정
기본적으로 Dialogflow 인텐트는 인텐트의 응답 섹션에 지정된 정적 응답을 반환합니다. 이 설정은 호출 시 동일한 메시지로만 응답해야 하는 간단한 작업에 충분할 수 있습니다. 그러나 인텐트가 동적 응답을 반환하도록 하려면 복잡한 로직을 처리하고 인텐트의 응답을 실시간으로 작성할 수 있는 처리를 제공해야 합니다.
인텐트에 fulfillment를 사용 설정하려면 다음을 수행합니다.
인텐트의 인텐트 편집기 하단으로 스크롤합니다.
Fulfillment를 클릭하고 Enable webhook call for this intent(이 인텐트의 웹훅 호출 사용 설정)를 선택합니다.
[null,null,["최종 업데이트: 2025-07-26(UTC)"],[[["\u003cp\u003eDialogflow Actions are entry points into your Google Action, defined by intents, with a mandatory default Action triggered when users invoke your Action by name.\u003c/p\u003e\n"],["\u003cp\u003eAdditional intents can be created to handle deep links, allowing users to specify invocation phrases for more detailed requests.\u003c/p\u003e\n"],["\u003cp\u003eFulfillment can be enabled for intents to provide dynamic responses based on complex logic and real-time processing.\u003c/p\u003e\n"],["\u003cp\u003eWhen unrecognized Actions are invoked, Dialogflow can trigger a specific intent to handle these scenarios, using input context and the \u003ccode\u003e@sys.any\u003c/code\u003e entity for generalization.\u003c/p\u003e\n"],["\u003cp\u003eIt is generally recommended to utilize fallback intents to reprompt users for invalid input instead of overriding Assistant's default no-match behavior.\u003c/p\u003e\n"]]],["Dialogflow Actions are defined by creating intents in a Dialogflow agent. A **Default Action**, triggered by the Action's name, is mandatory, utilizing the `GOOGLE_ASSISTANT_WELCOME` event. Additional Actions allow deeper linking with specific invocation phrases. To define these, create intents with relevant training phrases, enable webhook fulfillment for dynamic responses, and add them to the Google Assistant integration. Handling unrecognized actions involves creating an intent with `google_assistant_welcome` input context, using `@sys.any` for general expressions.\n"],null,["# Define Actions (Dialogflow)\n\nTo define Actions in Dialogflow, you create intents in your Dialogflow agent and\nassign them as entry points into your Action. You can create the following types\nof Actions:\n\n- **Default Action** : Every Dialogflow agent must have one and only one Action that's invoked when users ask for your Action by name (for example, *\"Ok\n Google. Talk to Facts about Google\"* or *\"Ok, Google. Let me talk to Facts\n about Google\"*).\n- **Additional intents to deep link into your conversation** : These Actions are triggered when users invoke your Action by its name **and** specify an invocation phrase (for example, *\"talk to Facts about Google for history\n facts\"*).\n\nSee [Intents and invocation](/assistant/df-asdk/discovery) for more information on how\nthese invocation models work.\n\nDefine a default Action\n-----------------------\n\n| **Dialogflow Tip**\n|\n| Because Dialogflow supports many products, there are\n| welcome event triggers for specific platforms, such as\n| **GOOGLE_ASSISTANT_WELCOME** for Actions. The generic\n| **WELCOME** event lets you handle invocations across many platforms if you\n| deploy the agent on multiple platforms.\n\nEvery Dialogflow agent must have one and only one intent that handles\nthe **GOOGLE_ASSISTANT_WELCOME** event. This intent is triggered\nwhen users invoke your Action by its name (for example, *\"Ok Google, talk to\nFacts about Google\"*).\n\nYou can define the **GOOGLE_ASSISTANT_WELCOME** event in\nthe following ways:\n\n**From the intent editor on the Dialogflow console:**\n\n1. Click **Intents** in the navigation menu.\n2. Select the intent that you want to set as the welcome event.\n3. In the **Events** section of the intent, enter `GOOGLE_ASSISTANT_WELCOME`.\n4. Click **Save**.\n\n **Figure 1**. A screenshot of the Events section of a Dialogflow intent.\n\n**From the Google Assistant integration modal window:**\n\n1. Click **Integrations** in the navigation menu and click **Google Assistant**.\n2. Click **X** to remove the current item in the **Explicit invocation** field.\n3. In the **Welcome intent** box, select the intent that you want to set as the\n welcome event.\n\n **Figure 2**. A screenshot of the Google Assistant integration modal window\n on the Dialogflow console.\n\nWhen you view the intent's **Events** section, you should see that the intent\nnow has the **GOOGLE_ASSISTANT_WELCOME** event set (see **Figure 1**).\n\n### Enable fulfillment\n\nBy default, a Dialogflow intent returns a static response, which is specified\nin **Response** section of the intent. This setting might be enough for simple\nActions that only need to respond with the same message when invoked. However,\nif you want the intent to return a dynamic response, you need to provide\nfulfillment that can process complex logic and compose a response in real time\nfor the intent.\n\nTo enable fulfillment for an intent, do the following:\n\n1. Scroll to the bottom of the intent editor of an intent.\n2. Click **Fulfillment** and select **Enable webhook call for this intent**.\n\n **Figure 3**. A screenshot of the Fulfillment section of a Dialogflow intent.\n\nSee [Build fulfillment](/assistant/df-asdk/dialogflow/fulfillment) for information on how to handle this\nintent when it's triggered.\n\nDefine additional Actions\n-------------------------\n\nYou can provide additional Actions that act as entry points into your\nconversation. This setup allows users to specify more details about what they\nwant to do (for example, *\"Talk to Facts about Google to find me history\nfacts\"*).\n\nTo define additional Actions in Dialogflow, follow these steps:\n\n1. Create an intent for a specific Action that you want to build.\n2. In the intent's **Training phrases** section, specify the patterns that\n trigger this Action. For example, if you want the Action to be invoked by the\n phrase *\"Talk to Facts about Google to find me history facts\"* , provide the\n following *Training phrases*:\n\n - *\"Find me history facts\"*\n - *\"Look up history facts\"*\n - *\"Get me facts about history of the company\"*\n - *\"Read me some headquarters facts\"*\n - *\"Tell me a few facts about its headquarters\"*\n\n We recommend at least 10 training phrases per intent.\n3. To enable fulfillment for the intent, scroll to the bottom of the screen,\n click **Fulfillment** , and select **Enable webhook call for this intent** .\n (See [Build fulfillment](/assistant/df-asdk/dialogflow/fulfillment) for more details on\n fulfillment.)\n\n4. Click **Save**.\n\n5. Click **Integrations** in the navigation menu and click **Google Assistant**.\n (the Google Assistant modal window appears.)\n\n6. In the **Implicit invocation** section, add the intent.\n\n **Figure 4**. A screenshot of the Implicit invocation section on the Google\n Assistant integration modal window.\n\nWhen defining Actions, the following restrictions and guidelines apply:\n\n- Don't include the *reserved words* in invocation phrases.\n - For example, don't start your invocation phrases with *\"talk to\"* or \"let me talk to\".\n- Don't specify training phrases that contain only a `@sys.any` entity.\n - Be much more specific; for example, `find recipes for @sys.any`.\n\nHandling an unrecognized Action\n-------------------------------\n\nWhen users attempt to invoke an Action that your Actions don't recognize,\nDialogflow can trigger an intent to handle these cases.\n| **Warning:** You should avoid globally overriding Assistant's [default no-match behavior](#no-match_yielding), as it may negatively impact the ability of users to move between Actions. Generally, your Action should *not* try to handle all no-match and no-input scenarios. We recommend using [fallback intents](/assistant/df-asdk/dialogflow/fulfillment#no-match_reprompting) to reprompt the user when your Action receives invalid input.\n\nTo enable this behavior,\ncreate a new intent with an input context of `google_assistant_welcome` and\nspecify the appropriate responses to users:\n\n1. In the navigation menu, click **Intents**.\n2. Click **Create Intent** and name your intent.\n3. In the **Contexts** section, Specify `google_assistant_welcome` as the input context and press enter key. (After entering the input context, `google_assistant_welcome` appears as an output context).\n4. Click **x** to remove that output context.\n\n5. In the **Training phrases** , add `banana` (or any other noun) as a user\n expression.\n\n6. Double-click on **banana** and select `@sys.any`. (We use the `@sys.any`\n entity to tell Dialogflow to generalize the expression to any grammar, not\n just *banana*.)\n\n7. In the **Response** section, specify a responses using `$any`. For example,\n use the following response:\n\n - `I'm sorry, I don't know how to help with $any.`\n\n8. Click **Save**.\n\n| **Note:** While you can use Dialogflow to return simple text responses as a fallback, you can turn on **Enable webhook call for this intent** and provide more advanced fulfillment in your webhook code."]]