This is a response to this article on Medium which introduces a tool called Integrator which can be used to connect Dialogflow and Chatfuel.
The article makes an important point about how the integration is quite challenging (which is true), so I am using this article to clarify when you might choose my system vs the tool they have proposed.
The Medium article is also correct when it states that using my system will require you to be more hands on in terms of writing code. But I don’t think that is a major issue, given I don’t think it is possible to create sophisticated Dialogflow chatbots without writing some code anyway.
When to use my relay system
Use my system if
1 You have a lot of intents
When you use the Integrator, you need to do a 1 to 1 mapping between the intents in your Dialogflow agent and the Chatfuel blocks. If you have a lot of intents in your Dialogflow bot (say over a page full), then my system will be much more scalable
2 You want to chain your intents together in a conversation
Suppose you are creating a chatbot which is conversational. Odds are, you will be using intents which have input and output contexts, like what I describe in the video below.
You will not be able to ‘move’ your conversation from one intent to the next using the Integrator tool.
3 You want to implement contextual fallbacks
When you are building more advanced chatbots, context-driven fallbacks become an important tool. You will not be able to use contextual fallbacks in the Integrator tool
4 You want complete control of your code
While the entire point in using frameworks such as Dialogflow and services such as Chatfuel is to avoid having to develop your own software, in those rare circumstances where it is an issue, my approach is better suited for the purpose.
When to use Integrator tool
On the other hand, you are better off using the Integrator tool if
1 You don’t have a lot of intents
2 You are creating mainly one and done conversations (i.e. no context based memory)
3 You don’t need contextual fallbacks
4 You are OK with using a third service in addition to Dialogflow and Chatfuel
I don’t think there is a one size fits all which will work for all scenarios when it comes to the Dialogflow + Chatfuel integration. Evaluate your options and choose what works for you.