Prerequisites

  • A Meta developer app that will serve as the primary platform for managing connection between Instagram and Botpress, including the configuration of webhooks and access tokens.
  • A Facebook page in which you have the administrator or developer roles. Instagram accounts must be linked to a Facebook page to use the Facebook Graph API.
  • An Instagram Professional account, necessary to use features specific to Instagram professional accounts.

Setting up the Instagram integration in Botpress

  1. Go to the Integration Hub in Botpress Cloud (if you don't have the integration installed yet).
  2. Find and open the Instagram integration then click on the "Install to Bot" button, now go back to your bot settings.

The Instagram integration has the following settings:

  • Enabled: Whether Botpress will communicate with Instagram
  • Webhook URL: The URL for receiving data in Botpress
  • App ID: The ID of your Meta app
  • App Secret: The secret of your Meta app
  • Verify Token: The token used to verify the webhook requests
  • Page ID: The ID of your Facebook page
  • Access Token: The access token

Setting up Instagram

Create a Facebook Page

If you do not already have a Facebook page you will need to create one. You can find details on how to create a new Facebook page here. To link your chatbot to a pre-existing page, you must have an administrator or developer role.

Create a Meta App

  1. Log in to your Facebook account and go to the Facebook for Developers website.
  2. Select My Apps from the top menu, and create a new app.
  3. Select Business as App Type.
  4. Give a name to your App.

Add Messenger to your Meta App

Messenger is the proxy for Instagram settings, and since is not added by default in your Meta app it must be added manually.

  1. In the left sidebar of your app dashboard, click on Add Product.
  2. Look for Messenger and click Set Up.

API version

Botpress can interact with the version 15.0 or higher of the Instagram API. It is not the default version so it must be changed in your app's settings

  1. Go to your Meta app.
  2. In the left sidebar, expand the Settings menu and select Advanced.
  3. In the Upgrade API version section, select v15.0 or higher as the API version.
  4. Click on Save Changes.

App ID and Secret

  1. In the left sidebar, expand the Settings menu and select Basic. Here you can find the App ID and App Secret.
  2. Click on the Show button in the App Secret text box. Copy the App Id and App Secret to your channel configuration.

Page ID and Access Token

  1. In the left sidebar, expand the Messenger menu and select Instagram Settings
  2. In the Access Tokens section, click Add or Remove Pages and add your Facebook page.
  3. Copy the number under you page name and paste it in you Page ID channel configuration.
  4. Click on Generate Token. Copy this token and paste it in the Access Token channel configuration.

Verify Token

The Verify Token is used by Meta to verify that you are the real owner of the provided webhook.

You can generate any random alphanumerical string for this configuration. Paste it in your Verify Token channel configuration.

Save Configuration

Channel configuration is completed, you can now click Save. It is important to save your configuration in Botpress before updating the webhook in the Meta app settings, otherwise Meta will be unable to validate the webhook URL.


Webhook Configuration

To receive messages from Instagram in your Botpress bot, you will need to setup a webhook.

  1. Go to your Meta App.
  2. In the left sidebar, expand the Messenger menu and select Instagram Settings.
  3. In the Webhooks section, click Add Callback URL.
  4. Copy and paste the Webhook URL provided in the integration configuration page in Botpress.
  5. Copy and paste the Verify Token that you generated earlier in the integration configuration page in Botpress.
  6. Click on Verify and Save. Make sure your channel configuration was saved before doing this step, otherwise the webhook validation will fail.
  7. Now you will select subscriptions for your webhook. Click on Add Subscriptions, then select instagram_manage_messages (if app has been reviewed by Meta), messages and messaging_postbacks. Then click Save.

Note: If you can't find the instagram_manage_messages subscription in the list above, that's because your app has not been reviewed by Meta yet (see this section). But don't worry, this is not mandatory to test your bot. You can still test it with the messages and messaging_postbacks subscriptions.

That's it, you may now start chatting with your bot on Instagram!


Submit your App for Meta Review

When your app is in Development Mode, your bot will work for admins, developers, and testers of the app only. After your app is approved and made public, it will work for the general public.

Read more about the App Review process on the official documentation and find some help if necessary in this Github issue.

You can find some troubleshooting in this documentation in case you app get rejected.