ChatHub/docs

Search documentation

SUGGESTED FOR YOU200 results

Search published articles · By section

Get Instagram API access and connect an account to ChatHub

Add the Instagram use case to your existing Meta app, request the messaging permissions, register the Instagram webhook, then add your business account to the ChatHub inbox.

What this guide covers#

ChatHub's Instagram channel receives and answers the Direct messages of an Instagram business account right in the shared inbox. Instagram has no token of its own: every call goes through the token of the linked Facebook Page, so this channel shares the Meta app, app secret and admin token with the Facebook channel — you only request extra permissions and register one more webhook.

The first requirement is therefore a finished Facebook Page setup: the Meta app exists, and the App ID, app secret and admin token are already saved in ChatHub. This guide continues from there.

No Meta app yet? Do the Facebook Page guide first ↗

1. Prepare the right kind of Instagram account#

Meta only opens the messaging API to professional Instagram accounts (business or creator) linked to a Facebook Page. A personal account cannot call the API, no matter which permissions you request.

  1. 1

    In the Instagram app on your phone, open Settings → Account type and tools → Switch to professional account and choose Business.

  2. 2

    Link the account to a Facebook Page: open the Page on Facebook, go to Settings → Linked accounts, choose Instagram and sign in with the account you want to connect.

  3. 3

    Still in the Instagram app, open Settings → Privacy → Messages and allow message access under Connected tools — without this switch the webhook silently delivers nothing.

These three steps happen in the Instagram app on a phone and in Facebook's Page management screens, so no screenshots accompany them. Menu names can drift slightly between app versions, but they always revolve around: professional account, linked Page, and letting connected tools read messages.

2. Add the Instagram use case to the app#

  1. 1

    Open developers.facebook.com and enter the app you already use for the Facebook channel.

  2. 2

    On the Dashboard, press Add use case in the top-right corner.

  3. 3

    In the dialog, filter by Business messaging, tick Manage messaging and content on Instagram, then press Save.

After saving, the Dashboard gains a Customize the Manage messaging and content on Instagram use case row right under the existing Messenger one. Vietnamese UI shown.
An app created by the Facebook Page guide accepts Instagram. If the dialog shows no Business messaging group, that app is of another kind — create a new app per the Facebook Page guide and come back.

3. Add messaging permissions and issue a new admin token#

ChatHub messages Instagram through the Facebook Login route, so the permissions to add live on the API setup with Facebook login page of the use case you just added.

  1. 1

    Open Use cases, press Customize on the Instagram row, then open API setup with Facebook login (there is also a link to it inside the intro paragraph).

  2. 2

    Under Send messages on Instagram, press Add required messaging permissions. Meta confirms the permissions were added and the button becomes Go to permissions and features.

  3. 3

    Open Tools → Graph API Explorer and pick the right app in the Meta App box.

  4. 4

    Add instagram_basic and instagram_manage_messages next to the three pages permissions you already have.

  5. 5

    Press Generate Access Token, confirm the grant — the consent window asks about both the Page and its Instagram account — then copy the new token.

The Send messages on Instagram section sits under block 1, Add required permissions; the screenshot was taken after pressing the add button, so it now reads Go to permissions and features. Vietnamese UI shown.
The Permissions list needs all five rows: the three pages permissions from the Facebook guide plus instagram_basic and instagram_manage_messages (the two green rows were just added, before pressing Generate). The access token field is masked in the screenshot because it is a real value.
The old token from the Facebook guide does not carry the two new permissions. Generate a new token after adding them and update it in ChatHub in the next step — otherwise the Instagram account list will be empty.

4. Update the token and copy the Instagram callback URL#

  1. 1

    In ChatHub, open Settings, choose the Channels group and find the Facebook app card.

  2. 2

    Paste the freshly issued admin token into the Admin access token field and press Save. The App ID and app secret stay as they are.

  3. 3

    Scroll to Register the webhook with Meta: the Callback URL (Instagram) row is the address dedicated to the Instagram product. Press Copy on that row and on the Verify token row — this pair feeds the next step.

Callback URL (Instagram) sits between the Messenger callback URL and the verify token, each row with its own Copy button. The verify token is masked in the screenshot because it is a real value. Vietnamese UI, light mode.
The verify token is shared between Messenger and Instagram — only the callback URLs differ, because Meta splits the two products into separate registration fields.

5. Connect the Page and register the webhook under Instagram settings#

The Instagram webhook is registered on the Instagram settings page inside the Messenger use case — that is where Meta groups the Instagram messaging that runs on a Page token.

  1. 1

    Open Use cases, press Customize on the Messenger row, then choose Instagram settings in the left column.

  2. 2

    Under Access tokens, press Add or remove Pages and pick the Facebook Page linked to Instagram; the consent window also asks about the Page's Instagram account.

  3. 3

    Under Webhooks, press Add callback URL.

  4. 4

    Paste the Callback URL (Instagram) into the callback field and the verify token into the verification field, then press Verify and save.

  5. 5

    In the webhook fields table that appears after saving, flip Subscribe on the messages and messaging_postbacks fields.

The Instagram settings page before configuration: Access tokens carries the Add or remove Pages button, Webhooks carries Add callback URL. Vietnamese UI shown.
The dialog opened by Add callback URL: paste the Callback URL (Instagram) into the upper field and the verify token into the lower one, then press Verify and save. Captured empty, before saving. Vietnamese UI shown.
Meta only reaches webhooks over public HTTPS, and Verify and save calls it immediately. The ChatHub address in the screenshots is a demo environment; your installation must live on an Internet-reachable domain for this step to pass.

6. Add the Instagram channel in ChatHub#

  1. 1

    In ChatHub, open the Channels page, press Add account and choose the Instagram type.

  2. 2

    The list shows the Instagram-linked Pages your admin token can reach; pick the account to connect and press Create account.

  3. 3

    Press Connect on the new channel. ChatHub subscribes the app to the linked Page itself — nothing more to register on Meta's side.

  4. 4

    Send a test Direct message from another Instagram account that has a role in the app and watch it arrive in the inbox.

The Instagram channel type in the Add account dialog. The machine in the screenshot has no admin token saved yet, so the account picker shows a pointer back to Settings — once the token is saved, this area becomes the account list. Vietnamese UI shown.

See the channel guide for the remaining channel types ↗

Limits to know up front#

Instagram follows the same 24-hour window as Messenger: free-form replies are only accepted within 24 hours of the customer's last message, after which Meta refuses until they write again. ChatHub counts down right above the composer, and internal notes are never subject to the window.

On outgoing content: Instagram accepts images, videos and audio files only — documents such as PDFs cannot be sent; stickers arrive but cannot be sent; workflow buttons go out as quick replies, and link buttons are written into the text with their address because Instagram has nowhere to attach a URL button.

One trap when running both Meta channels: the webhook subscription belongs to the Page, not to each channel, so pressing Disconnect on the Instagram channel also stops the Messenger webhook of the Facebook channel on the same Page, and vice versa. The other channel shows Disconnected at its next check — pressing Connect re-subscribes it, nothing is lost.

An app in development mode only messages accounts that hold a role in the app; messages from strangers produce no webhook at all. To serve real customers, complete Meta's App Review for instagram_manage_messages — the process includes business verification, so budget time for it.
Get Instagram API access and connect an account to ChatHubBack to top
© 2026 ChatHub DocsPowered by CMSNT LTDA guide to using ChatHub.