Tutorial 4 - Explicit Human handoff with user intent

Dialogflow external chatbot with explicit human handoff using a Dialogflow intent

NOTE: this tutorial uses Dialogflow just as an example for a programmatic external chatbot integration. If you instead need to easily embed your Dialogflow Agent in your conversations, please use the Tiledesk Dialogflow Connector, the out-of-the-box Dialogflow integration that doesn't require programming skills.

Fork the tutorial code

We'll start from Dialogflow Tutorial 1, just adding a small library to our original endpoint.

You must use the code in Tutorial 1. The code is available on Github here.

Fork the tutorial code using the Fork button. Now you have a copy of the tutorial on your own repo.


In the previuos tutorial we learned how to automatically switch to a human agent based on the number of consecutive fallbacks during a conversation.

What if you want the user to explicitly choose to switch to a human during a conversation?

In this case the simplest thing that you need to do is starting from any of the above tutorials, adding a specific intent to Dialogflow that will switch to a human agent.

Train the 'talk to agent' intent

Open your Agent's Dialogflow console. Add a new intent. Let's call this intent 'talk to agent'. We'll train this intent with a single phrase (more phrases can be added as a convenience).

Now the intent will reply with:

'I'm putting you in touch with an operator' \agent

As soon as this phrase reaches Tiledesk, it automatically removes the chatbot and adds a human operator - following the rules you already set up in the Routing section or in the specific department.

To test the new talk-to-agent intent we also place a button under every DF reply (using micro languge) to allow the user to ask for an agent after each reply. Let's train for instance the defaultWelcome Intent to show this optional button (using microlanguage to add the buttons)

On every welcome intent reply the widget will show the "Talk to agent" button

If we tap the button the "Talk to agent" intent will be invoked and the user will be routed to an agent on the current department (compatibly with the routing rules, opening hours and agents availability).

Do you have feedback on this article? Please send us your feedback writing an email to info@tiledesk.com

Enjoy Tiledesk!

Last updated