Dialogflow / API.AI integration with Airtable

I am trying to use Airtable to fulfill Dialogflow requests. I have limited coding knowledge. Wondering if there is anyone who has got this to work? This thread seems to imply it is possible - Create Slackbot for Airtable Lookup.

I assume you are wanting to have the data stored on your base on Airtable, accessed via Dialogflow?

You would probably want to use some third party service like Zapier to have both Airtable and Dialogflow interact with each other.

If in case such a third party does not exist which supports both Airtable and Dialogflow, your only other option is to write up some code and build this integration yourself.

The API docs provided by Airtable are pretty helpful and you might want to have a look at that.

Thanks for the advice. I eventually found a web app called Integromat which did the linking.

Tomas

1 Like

Hi @Tomas_Millar, would you share the settings of your scenario and how you manage the request from Diagloflow?

  1. In Integromat you create a webhook and follow the instructions to link this to your Dialogflow chatbot.

  2. You need to enable Webhook under the fulfillment tab in dialogflow and paste the URL supplied by integromat when you were setting up the webhook.

  3. You also need to “enable webhook call for this intent” in the individual Dialogflow intents.

  4. You then need to send some sample data to Integromat to interpret the data structure. You trigger this process from Integromat.

  5. Link Airtable to Integromat using the built in integration.

  6. setup whatever processing you need.

7 communicate back to Integromat using a “webhook response” node. You need to fill in the custom headers as shown in the attached image. You also need to make sure you format the JSON file back to Dialogflow according to the Dialogflow Fulfillment formatting and fields - https://dialogflow.com/docs/fulfillment

I hope that is enough to get you started. I might try and do a video tutorial at some point.

Tomas

1 Like

Thank you VERY MUCH!

This is really cool. I was wondering if you ever decided to make a video tutorial?

Unfortunately not yet…

Hi Tomas, very interesting!
I’m stuck in how can I make the webhook response available as dialogflow response in the conversation.
Thanks in advance for your help

Giancarlo

So you do need a tad bit of coding knowledge for the response, just search for Webhook Response in the dialogflow help documents. For some reason it won’t let me post a link.
If gives you a pretty good idea of what DialogFlow is looking for in their response.

{
  "fulfillmentText": "This is a text response",
  "fulfillmentMessages": [
    {
      "card": {
        "title": "card title",
        "subtitle": "card text",
        "imageUri": "https://example.com/images/example.png",
        "buttons": [
          {
            "text": "button text",
            "postback": "https://example.com/path/for/end-user/to/follow"
          }
        ]
      }
    }
  ],
  "source": "example.com",
  "payload": {
    "google": {
      "expectUserResponse": true,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "this is a simple response"
            }
          }
        ]
      }
    },
    "facebook": {
      "text": "Hello, Facebook!"
    },
    "slack": {
      "text": "This is a text response for Slack."
    }
  },
  "outputContexts": [
    {
      "name": "projects/project-id/agent/sessions/session-id/contexts/context-name",
      "lifespanCount": 5,
      "parameters": {
        "param-name": "param-value"
      }
    }
  ],
  "followupEventInput": {
    "name": "event name",
    "languageCode": "en-US",
    "parameters": {
      "param-name": "param-value"
    }
  }
}
1 Like

Hi Thomas and every body. Thank you for the post. I have been working on it and right now I’ve go it. The difference: I’m using an Integromat integration. I hav this question: The function I’m using responds with a webhook response. How do I process this webhook?

Hey Thomas,
You can definitely integrate Airtable with Dialogflow using integromat. But the bigger problem with that kind of integration would be they wouldn’t be native. To solve problems of non-native integrations, you can also try WotNot
WotNot has native integrations with both Airtable and Dialogflow, which means it can act as a middleware between both these parties and can help you affect the user experience based on data from both.
Think futuristically; if you wish to integrate this entire integration to a website bot and eventually store data to salesforce, you cannot expand your integration. With WotNot, you can.
I hope this was helpful.