Skip to main content
Once your organization is on the allowlist, do this for every Facebook and Instagram account that should receive DMs:
  1. Reconnect it with messaging permissions. This includes accounts that were already connected before we switched the feature on. They don’t have the permissions yet.
  2. Subscribe it to messages with messaging/enable. This registers the account for Meta’s message webhooks. Without it, no DM ever reaches us.
  3. Make sure your webhook endpoint accepts the new events (see Webhooks).

Step 1: Connect With Messaging Permissions

Add withMessagingScope: true when you generate the connect link. It works on both the hosted portal and the custom connect flow.
For the hosted portal, pass the same withMessagingScope: true to POST /api/v1/social-account/create-portal-link.
Accounts connected before the feature was enabled must be reconnected. That includes accounts connected with withMessagingScope: true, because the flag is ignored until your organization is on the allowlist. Meta only grants messaging permissions on its login screen, so there is no way to add them silently afterwards. The same reconnect also subscribes the account to new comments, which comment automations need.

Step 2: Subscribe The Account To Messages

Connecting an account never subscribes it to DMs by itself. messaging/enable registers the account for Meta’s message webhooks and starts processing its DMs. You opt in per account, so a customer who only wants scheduling never has their DMs processed. Endpoint: POST /api/v1/social-account/messaging/enable
The call is idempotent, so calling it twice is harmless.

Turning It Off

Endpoint: POST /api/v1/social-account/messaging/disable (same body) We stop processing DMs for that account immediately. Existing conversations stay readable, but sending, reactions and private replies return 403 until you enable it again. If Meta doesn’t confirm the change right away, the status becomes DISABLE_PENDING and the call returns 502, so you can safely retry it.
We only collect messages that arrive after messaging is enabled. Older DM history from before that moment is not imported, and each message we collect is kept for 30 days.