Bottender + Dialogflow
This is my story about how I created a chatbot on Bottender with Dialogflow as an NLU (Natural Language Understanding). You can go to this article to learn more about a chatbot. There is a little explanation there.
There is a lot of NLU services. The reason I picked Dialogflow because it has Bahasa Indonesia. You can go to other services if you want to build a chatbot in English, that will be no problem.
Refer to this article if you want to build a chatbot on Bottender with Dialogflow. What you need to do on Bottender is to create intents then train them. I suggest you name them with camel cases, so you can map that intents to responses easily on Bottender. After that, you need to connect the agent that you create on Dialogflow to Bottender. It requires a GCP (Google Cloud Platform) project ID and a credential. Go to Service Accounts then Keys to generate a key then you will get the JSON file which is the credential as I mentioned before.
The benefits of creating a chatbot using Bottender is because it is fully custom. So you can customize how responses will be, store them to the database, call other third party functions, etc. The benefits of using Dialogflow as NLU for Bottender because it is mature, multiple languages available, easy to use. That is all from my experiences.