Connecting Instagram
From the Channels tab in the dashboard — click Connect → a modal opens → confirm in Instagram.
Requirement — Business or Creator profile
Before connecting your Instagram profile must be **Business** or **Creator**, not Personal. The switch happens inside the Instagram app — Settings → Account type and tools → Switch to professional account. It's free and doesn't change how your profile looks to followers. Step-by-step: see "Switching to an Instagram Business account".
1. Open the "Connect Instagram" modal
In Dashboard → **Channels** tab there's an Instagram row. When it's not connected you see a "Not connected" status and a purple "Connect" button on the right. Click the button — a modal opens titled "Connect Instagram" with the subtitle "Automatic connection with Meta". Below it is a "Before you connect, make sure you have:" section with one requirement — "Instagram Business account · It's free — switch from Settings".
2. Click "Connect with Instagram"
At the bottom of the modal there are two buttons: "Step-by-step full guide" (opens /guide in a new tab) and a purple CTA "Connect with Instagram". A note below reads "You'll be redirected to Meta for authorization". Click the CTA.
3. Brief "Connecting to Instagram…" screen
For a fraction of a second you see a black screen with a purple spinner and "Connecting to Instagram…" text. This is an interstitial we render — not an error. It exists because on iOS a direct HTTP redirect to instagram.com triggers Universal Links and hands the user off to the native Instagram app (where the callback never returns). A JS-driven redirect does NOT trigger Universal Links and keeps the login in the browser.
If it sits there for more than 2-3 seconds, a fallback "If nothing happens, tap here" link takes over manually.
4. Sign in to Instagram and approve scopes
You're redirected to `instagram.com/oauth/authorize` with these params:
• `scope=instagram_business_basic,instagram_business_manage_messages` — exactly 2 scopes. (We used to ask for `instagram_business_content_publish` too, but Meta never approved it — requesting it silently failed OAuth with "profile doesn't exist", so we dropped it.)
• `enable_fb_login=false` — hides the "Log in with Facebook" option. If a user's FB account has no linked IG Business, that path also silently fails with "profile doesn't exist".
• `force_reauth=true` — forces Instagram to prompt a fresh login even if a session is active, so you can pick the correct Business account.
You enter your IG username/password, see the requested-permissions screen, and click Allow:
• `instagram_business_basic` — read profile.
• `instagram_business_manage_messages` — read and send DMs.
Without both, the bot can't reply.
5. Back in the dashboard + automatic webhook
We return you to the dashboard. If everything went through — the Instagram row status is green and shows your handle. We automatically subscribe to messaging webhooks (`POST /v21.0/{ig-user-id}/subscribed_apps` with `subscribed_fields=messages,messaging_postbacks`) — no action needed from you.
If the subscribe step fails, the status shows "Pending setup" with a "Retry" button — click it and we'll try again.
Tip: To test — DM yourself from another Instagram account. The first reply may take 2-3 seconds (cold start), the rest are sub-second.
On mobile — why you need a Private / Incognito tab
**The desktop flow above works in one click.** On mobile, however, there's a known Instagram bug that LinkDM and other integrations also hit: if you have an active Instagram session in the mobile browser, `instagram.com/oauth/authorize` silently redirects you back to `instagram.com` (the feed) instead of returning the callback to raiceptionist.com. OAuth never completes, the bot stays disconnected.
**The fix** (industry-standard workaround): complete the OAuth in a **Private / Incognito tab** where there's no active IG session. There Instagram prompts a fresh login and the flow finishes cleanly.
So you don't have to log into raiceptionist.com from the Private tab, we use a **bridge link**: a one-time signed URL that auto-logs you in and immediately starts the IG OAuth.
Mobile flow — 3 steps in a Private tab
When you're on a mobile browser and tap "Connect Instagram", you see a dedicated modal titled "Connect Instagram" with a Meta Verified Business app badge:
**1. Copy the link** — tap the purple "Copy link" button. The bridge URL (from `POST /api/auth/mobile-bridge`) is **valid for 10 minutes** and **single-use** (consumed on first open). It's auto-copied to your clipboard; if clipboard permissions are missing, copy manually.
**2. Open a Private / Incognito tab** —
• **Safari (iOS):** the tabs icon bottom-right → "Private" → new tab.
• **Chrome:** "⋮" menu → "New Incognito Tab".
**3. Paste & Go** — long-press the address bar → "Paste & Go". The bridge URL sets a signed session cookie and immediately redirects to the IG OAuth start endpoint. From there the flow is identical to the desktop variant (interstitial → instagram.com/oauth/authorize → approve → callback → dashboard).
Tip: Why doesn't the link work in the same tab? The whole point is a fresh IG session — which you only get in a Private tab. If you paste in the current tab, it'll log you into raiceptionist.com and immediately hit the same Instagram bug.
Possible Instagram row states
• **Connect** — not connected.
• **Pending setup** (yellow badge) — OAuth succeeded but webhook subscribe didn't — click Retry.
• **Connected** (green badge) — all good; shows handle and a menu button for disconnect.
• **Token expired** (red badge) — rare; if it happens, click disconnect then connect again.
Meta Tech Provider verification
rAIceptionist is approved by Meta as a Tech Provider since April 2026. You connect Instagram self-serve — no manual whitelist needed.
Related topics
Switching to an Instagram Business account
Before you can connect Instagram to rAIceptionist, your profile must be Business or Creator. Steps from Personal to Business in 2 minutes.
Instagram troubleshooting
Steps for the most common Instagram connect and runtime issues.
Connecting Facebook (Messenger)
From the Channels tab — click Connect → a modal opens → you're redirected to Facebook for authorization.