No credit card required • Cancel anytime

Connect your Instagram account

Three values, a Page in the middle, and the one field we deliberately do not ask you for.

People who DM your Instagram professional account reach your bot.

Instagram messaging runs through a Facebook Page. That is the part that surprises most people: you do not connect an Instagram account directly, you connect the Page your Instagram professional account is linked to, and Meta delivers the DMs against that link.

Before you start

  • A Facebook Page for your business.
  • An Instagram professional account — a Business or Creator account, not a personal one.
  • That Instagram account linked to the Page, in Meta Business Suite → Settings → Linked accounts. Without the link there is nothing to connect, and you will be told so at the point of saving rather than by silence afterwards.
  • A Meta app with the Instagram product added (Create your Meta app and business portfolio).

What you are collecting

Three values.

ValueWhere it comes from
Page access tokenA system user in your business portfolio
Page IDYour Facebook Page → About → Page transparency
App secretApp settings → Basic

There is no Instagram account ID to collect, and that is deliberate. A Page ID and an Instagram professional account ID are both plain numbers and look identical in a form. Filing a credential under the wrong one produces a connection that verifies, shows as connected, and receives nothing — because Meta addresses an Instagram webhook to the account, not to the Page. So we read the linked account off your Page while verifying, the same way we read the WhatsApp Business Account ID off a phone number. The safest field is the one that does not exist.

Get a Page access token

Use a system user token, not your own. A user token expires out from under you, usually on the day you have stopped thinking about it.

Business Settings → Users → System Users. Give the system user admin access to the Page, then generate a token with:

  • pages_messaging — sending and receiving Page messages.
  • instagram_manage_messages — the Instagram half. A token without it verifies as a perfectly good Page token and then cannot touch a DM.

Point the webhook at us

Instagram → Webhooks → Edit callback URL in the Meta console. Configuration → Channels shows the callback URL and verify token for your workspace — the same two values all three channels use. Save them, then subscribe to the messages field.

Paste the three values

Configuration → Channels, on the Connect Instagram card. We check them against Meta before storing anything, so a bad paste is caught here rather than by the first person who gets no reply. They are stored encrypted, and the token is never shown again in full.

On save we also subscribe your Page to your app. That step is invisible in Meta's console and is the usual reason a connection that looks complete receives nothing (Webhooks: why messages arrive, and why they sometimes don't). If it fails, the connection still saves and the result says that inbound messages may not arrive.

There is no test-send button, and nothing is missing

Instagram only allows a message to somebody who has written to you first, so there is nothing to send a test to. Every attempt would be refused, and the button would only ever teach you that a working connection is broken.

Send your own profile a DM from a personal account instead. It appearing in the Inbox is the proof the connection receives; the bot's reply is the proof it sends. Do that before you put the account in front of a customer.

If you also want Messenger

You have already done most of it — the Page, the token and the app secret are the same three values. Connect your Facebook Page needs only its own webhook subscription and its own card.

Was this helpful?