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.
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
In the Instagram app on your phone, open Settings → Account type and tools → Switch to professional account and choose Business.
- 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
Still in the Instagram app, open Settings → Privacy → Messages and allow message access under Connected tools — without this switch the webhook silently delivers nothing.
2. Add the Instagram use case to the app#
- 1
Open developers.facebook.com and enter the app you already use for the Facebook channel.
- 2
On the Dashboard, press Add use case in the top-right corner.
- 3
In the dialog, filter by Business messaging, tick Manage messaging and content on Instagram, then press Save.
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
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
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
Open Tools → Graph API Explorer and pick the right app in the Meta App box.
- 4
Add instagram_basic and instagram_manage_messages next to the three pages permissions you already have.
- 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.
4. Update the token and copy the Instagram callback URL#
- 1
In ChatHub, open Settings, choose the Channels group and find the Facebook app card.
- 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
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.
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
Open Use cases, press Customize on the Messenger row, then choose Instagram settings in the left column.
- 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
Under Webhooks, press Add callback URL.
- 4
Paste the Callback URL (Instagram) into the callback field and the verify token into the verification field, then press Verify and save.
- 5
In the webhook fields table that appears after saving, flip Subscribe on the messages and messaging_postbacks fields.
6. Add the Instagram channel in ChatHub#
- 1
In ChatHub, open the Channels page, press Add account and choose the Instagram type.
- 2
The list shows the Instagram-linked Pages your admin token can reach; pick the account to connect and press Create account.
- 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
Send a test Direct message from another Instagram account that has a role in the app and watch it arrive in the inbox.
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.