Skip to content
Instagram DM AI Agent

Connect Instagram so your AI agent answers direct messages

Every step, in order, from the Instagram app to the details you paste into Serviti. Allow about 30 minutes. You will switch between four places: the Instagram app, Meta Business Suite, the Meta developer dashboard and Serviti.

Before you start

  • A Serviti workspace with Instagram AI: included in the 30-day Growth trial, then a paid add-on on any plan. See pricing.
  • Admin access to the Meta business portfolio that owns your Instagram account.
  • A privacy policy page on your website, which Meta asks for.

Part 1 · In the Instagram app

Two settings on the account your customers message. Do these on your phone.

  1. Use a professional account

    Your account must be a Business or Creator account. In Instagram, open Settings → Account type and tools. If you see Switch to professional account, tap it and follow the steps.

  2. Allow access to messages

    In Instagram, open Settings → Messages and story replies → Connected tools and turn on Allow access to messages. Without it, Meta never sends your messages to Serviti, and nothing tells you why.

Part 2 · In Meta Business Suite

Your Instagram account must belong to a business portfolio and be linked to a Facebook Page. Sign in at business.facebook.com as an admin of that portfolio.

  1. Check your Instagram account is linked to a Facebook Page

    Open Settings → Accounts → Instagram accounts, choose your account and open Connected assets. You should see a Facebook Page. No Page? Create one for your business and connect it from the same screen.

    Note the ID shown under your Instagram username. This is your Instagram account ID for Serviti.

    Instagram account settings in Meta Business Suite showing the account ID and its connected Facebook Page
  2. Note your Facebook Page ID

    Open Settings → Accounts → Pages and choose your Page. Copy the ID under its name. This is your Facebook Page ID for Serviti.

    Facebook Page in Meta Business Suite settings with its Page ID

Part 3 · Create your Meta app

The app is how Meta delivers your direct messages to Serviti. Sign in at developers.facebook.com with the same Facebook account.

  1. Create the app

    Go to My Apps → Create app. Give it a name such as YourBusiness DM Agent. Meta rejects names containing Instagram, Insta, Gram, Facebook or FB. Enter a contact email you check.

  2. Choose the Instagram messaging use case

    Under Use cases, choose the one for managing messaging and content on Instagram.

    Use case list with the Instagram messaging use case selected
  3. Choose your business portfolio

    Pick the business portfolio that owns your Instagram account and Page, then finish creating the app.

  4. Fill in the app details

    Open App settings → Basic and fill in your business’s Privacy policy URL: Meta needs it before you can publish. Fill in any other field Meta marks as required. Click Save changes.

    App settings Basic page with privacy policy URL, data deletion URL, icon and category
  5. Publish the app

    Click Publish. Meta’s webhook settings say it outright: an unpublished app receives only test messages, not your customers’. For your own account you do not need App Review or Advanced Access.

    Meta confirmation that the app was published

Part 4 · Add your Instagram account to your Meta app

Meta only sends messages for Instagram accounts added to your Meta app.

  1. Make your account an Instagram Tester

    In your Meta app (developers.facebook.com), open App roles → Roles → Add people, choose Instagram Tester and enter your Instagram username.

    Add people dialog with the Instagram Tester role selected
  2. Accept the invite on Instagram

    On a computer, go to instagram.com → Settings → Apps and websites → Tester invites and click Accept.

  3. Add the account and turn on its webhook subscription

    Back in your Meta app (developers.facebook.com), open Use cases → Instagram → Customize → API setup with Instagram login. Under Generate access tokens, click Add account and sign in to your Instagram account. Then switch on Webhook subscription next to it. If the switch is not available yet, come back to it after Part 7.

    API setup with Instagram login showing the added account with Webhook subscription on
  4. Copy the Instagram app secret

    On the same screen, find the Instagram app secret, click Show and copy it. This is the App Secret Serviti needs. It is not the App secret under App settings → Basic: Meta signs your messages with the Instagram one.

    Instagram app ID and Instagram app secret on the API setup screen

Part 5 · Create the access token

Serviti uses a system user token to send your agent’s replies. Create it in business.facebook.com, in the same portfolio. If it is ever revoked, generate a new one and use Update credentials.

  1. Add a system user

    Open Settings → System users → Add. Give it any name that differs from your app’s name, for example yourbusiness-dm-bot, and choose the Admin role.

    Create system user dialog with a name and the Admin role
  2. Assign your app, Page and Instagram account

    Open the system user and, under Assigned assets, make sure your new app is listed with Full access. If not, use Assign assets to add it. You can add your Facebook Page and Instagram account the same way.

    Assign assets dialog with the app, Page and Instagram account selected
  3. Generate the token

    Click Generate token, choose your app and click Next. Set expiry to Never, click Next, then under Select permissions tick instagram_basic, instagram_manage_messages, pages_read_engagement and business_management. Click Generate token and copy it straight away: Meta shows it once.

    A permission missing from the list? Add it to your app’s Instagram use case under Customize, then generate again. Don’t use the token from the Instagram login screen instead.

    Generate token dialog with the app, Never expiry and the permissions ticked

Part 6 · Connect in Serviti

Now paste what you collected. Sign in at app.serviti.ai as a workspace admin.

  1. Open Connect Instagram

    In the menu, open AI agents → Channels and expand Instagram — answer direct messages. Under AI agent on your Instagram, click Connect Instagram.

    Serviti Channels page with the Connect Instagram button
  2. Paste your details

    • Instagram account ID: from step 3.
    • Facebook Page ID: from step 4.
    • Access token: the system user token from step 16.
    • App Secret: the Instagram app secret from step 13.
    • Does this app callback serve another integration or account? Choose No — this callback is dedicated. If your app’s callback already serves another tool, don’t overwrite it: create a separate Meta app for Serviti (Part 3) and use that.

    Click Connect. Serviti checks with Meta that your token can read the account you named.

    Serviti Connect Instagram form filled in
  3. Copy your Callback URL and Verify token

    Serviti now shows a Callback URL and a Verify token. Keep this page open. Treat both like passwords.

    Serviti showing the Callback URL and Verify token with copy buttons

Part 7 · Point Meta at Serviti

The last step, back in your Meta app.

  1. Paste the Callback URL and Verify token

    In your Meta app (developers.facebook.com), open Use cases → Instagram → Customize → API setup with Instagram login → Configure webhooks. Paste the Callback URL and Verify token from Serviti and click Verify and save.

    Configure webhooks with the Callback URL and Verify token filled in
  2. Subscribe to messages

    In the Webhook fields list on the same screen, switch messages to Subscribed. Leave Attach a client certificate off.

    Webhook fields with messages subscribed
  3. Turn the AI on and test it

    In Serviti, switch on Let the AI answer direct messages. Then send your account a direct message from a different Instagram account. Check that a reply arrives and that the conversation appears in Serviti. Repeat with a customer-style account outside the app’s roles once Meta grants the required access.

    No reply? Check the Webhook subscription switch from step 12 is on, then see Troubleshooting below.

    To answer someone yourself, reply from the Instagram app: the AI steps back from that chat for 12 hours.

    Before you call it ready

    • A real test DM arrives from another Instagram account.
    • The AI reply is delivered and the conversation appears in Serviti’s Customer inbox.
    • A clearly labelled test enquiry using contact details you control is captured in Leads and the configured alert arrives.
    • A human reply pauses the AI for that conversation; confirm it does not answer over your team.
    • Repeat the DM test with an account outside your app’s roles once the required Meta access is in place. Webhook verification or a Meta test sample alone is not an end-to-end test.
    Serviti Instagram card showing Connected with AI answering switched on

Not answering? Check these

Connect says it could not connect the account
  1. Check the Instagram account ID is the number from step 3, not your username.
  2. Check the system user was assigned your app, Page and Instagram account (step 15) and the token has instagram_manage_messages.
Meta’s test arrives but real messages don’t
  1. Publish the app (step 9). An unpublished app only gets Meta’s test samples.
  2. Add your account as an Instagram Tester, accept the invite and turn on its Webhook subscription (steps 10–12).
  3. Turn on Allow access to messages in Instagram (step 2).
Messages arrive but the agent never replies
  1. The App Secret is the wrong one. Use the Instagram app secret from step 13, not the App secret under App settings → Basic. In Serviti, click Update credentials, re-enter the token and that secret, and save. Your Callback URL stays the same.
  2. Check Let the AI answer direct messages is on.
It worked, then stopped
  1. The connection shows Needs attention: the token may have expired, been revoked or lost the required asset permissions. Generate a new one (step 16) and use Update credentials.
  2. Allow access to messages was switched off in Instagram.
  3. The Callback URL in your Meta app was changed. If that app is only for Serviti, paste Serviti’s values again. If another tool now uses it, give Serviti its own Meta app (Part 3).

Paid Instagram connection assistance: from ₹19,999 (outside India: $499), quoted after we review your setup. This is separate from free website-agent setup help and from plan or channel subscription charges.

Try our WhatsApp AI Agent