You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Dialogflow中如何优先后续意图实现转人工后机器人静默?

How to Stop Dialogflow Bot Responses After "Speak to a Human" Request (No Server Needed)

Hey there! No worries at all about basic questions—we all start somewhere with Dialogflow 😊 Since you don't have server access, we can totally pull this off using Dialogflow's built-in features without any external tools. Here's a step-by-step solution that should work:

Step 1: Create the Initial Transfer Intent

First, build the intent that triggers when the user asks to speak to a human:

  • Create a new intent (name it something like Transfer to Human Agent).
  • Add training phrases covering variations of the request:
    • "speak to a human"
    • "talk to a real person"
    • "get me a human agent"
    • "I want to chat with someone"
  • In the Responses section, add one final message (e.g., "Got it! I’ll stop responding now—someone will reach out to you shortly.")
  • Go to the Output Contexts section and add a context like human_transfer_initiated with a lifespan count set to the maximum allowed (20 for Dialogflow ES; adjust based on how long you want the bot to stay silent).

Step 2: Create a "Catch-All" Intent for Post-Transfer Inputs

Next, make an intent that captures every subsequent user message and returns nothing:

  • Create a new intent (name it Catch All Post Transfer).
  • Set its Priority to the highest value possible (e.g., 100) so it overrides all other intents once the transfer context is active.
  • In the Input Contexts section, add the human_transfer_initiated context you created earlier—this ensures the intent only triggers after the user asks for a human.
  • Add @sys.any as a training phrase (this matches literally any user input).
  • Crucially: Leave the Responses section completely empty. No text, no rich messages—nothing.
  • Go back to Output Contexts and re-add human_transfer_initiated with a lifespan of 20. This resets the context lifespan every time the user sends a message, keeping the catch-all intent active indefinitely.

Step 3: Test It Out

  • Use the Dialogflow simulator to send "speak to a human"—you should see your final response.
  • Send any follow-up message (e.g., "Hello?")—the bot should not send any response at all.

Quick Notes for Dialogflow CX Users

If you’re using CX instead of ES, the logic is similar:

  • Create a page for the transfer request, add your final response, and set a session parameter (e.g., transfer_active = true).
  • Create a route that matches all input (using a @sys.any parameter) when transfer_active is true, and route it to a page with no responses. Set the route priority to the highest level.

Give this a shot and let me know if you run into any issues—I’m happy to help troubleshoot!

内容的提问来源于stack exchange,提问作者NyW

火山引擎 最新活动