Home / DialogFlow / REST API / Understanding Dialogflow API Integrations
DialogFlow | REST API

Understanding Dialogflow API Integrations

I was recently asked about integrating a Dialogflow health chatbot with the Infermedica API. While I haven’t personally done this yet, I realized that I have been getting questions about API integrations recently, and they all don’t mean the same thing.

Here are some of the types of APIs you will be dealing with when building Dialogflow chatbots.

The API of your Dialogflow agent

Dialogflow allows programmatic access to the agent you build inside your console.

Consider the Chemistry chatbot I built for my Intro to Dialogflow course.

I can interact with my Chemistry bot in multiple ways. For example, I could simply use what is now called the Dialogflow Simulator on the top right of the Dialogflow’s web interface (it used to be called the Dialogflow test console).

But you can also use it from a web demo.

Under the hood, when you use the built in web demo, you are programmatically calling the API for the agent.

The channel API

If you look under integrations tab, you will notice that Dialogflow provides a whole bunch of integrations with external messaging channels such as Slack, Skype, Twitter, Telegram etc.

How do these integrations work? Usually, all these messaging channels expose their own API. For example Facebook Messenger will have an API which will tell external applications what they should do if they want to send a message to a given Messenger user.

The Dialogflow team utilized these APIs to build out a chat interface with their Dialogflow agents.

External web API

In addition, you also have external web APIs. I have used the Internet Chuck Norris Database API to build a Chuck Norris joke bot, for example.

The important thing to understand about calling web APIs such as the Chuck Norris Joke API is that you can only do so from inside your webhook code.

In the case of the Infermedica API, you will need to call it from your webhook. Since Dialogflow imposes some limits on how long a webhook call can take before it times out (5 seconds as of this writing), you need to make sure that any API calls you make from your webhook code returns a response quickly.

The webhook itself is similar to an API

In addition, to complicate matters further, some people refer to the webhook itself as being similar to an API (it uses similar principles). Some might say, a webhook is like an API to the business logic of your chatbot. I don’t think this is common usage, but it is something that you might want to keep in mind.

Summary

You need to be clear what API you are referring to, as well as how you will use it, while talking about Dialogflow API integrations. Once you do this, it will be much easier to create your chatbot specifications.

FREE COURSES

Related Posts

    • Which external API are you interested in, and what is the intended goal (of the integration)? I am thinking of creating a course around this topic.

      • I wanted to integrate the MySql DB into DialogFlow Using fulfillment. And after fetching data from it, I wanted to connect the created chatbot into my android app.

        • I am planning to create a course on this, but it is not very high on the priority list at the moment. If you sign up for my mailing list (by enrolling in a free course), you can get notified when I release the course.