> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dmly.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Instagram

> Connect a Business Instagram account through its Facebook Page and see what Instagram supports in DMLY.

Instagram DMs arrive in your [Inbox](/inbox/overview) alongside WhatsApp, and your flows can
answer them. Instagram connects through Facebook, not on its own — and it behaves differently
from [Messenger](/channels/facebook-messenger) in ways worth knowing before you set your bot up.

## Read this first

<Warning>
  **Your welcome message never reaches Instagram.** Instagram has no Get Started button, so the
  welcome message and greeting you configure in **Bot setup** are only pushed to Facebook.
  On Instagram, only **Ice breakers** and the **Persistent menu** reach Meta.
</Warning>

Two more things that look like features but are not:

* **Default reply** — the **Reply automatically when no keyword or flow matches** section is
  shown and saved on Instagram and Facebook channels, but nothing sends it. It only works on
  [Telegram](/channels/telegram). If no flow matches an Instagram DM, nothing is sent.
* **Buttons under the welcome message** — the welcome editor lets you add up to three buttons.
  They are never delivered on Instagram or Facebook, even though the live preview draws them.

## Before you start

<Steps>
  <Step title="Your Instagram account must be a Business account">
    Personal and Creator accounts cannot be connected.
  </Step>

  <Step title="It must be linked to a Facebook Page">
    Link the Instagram account to a Page in Instagram or Meta Business Suite first. DMLY builds
    the picker from the Instagram accounts whose Page link Meta returns — an unlinked account
    never appears in the picker.
  </Step>

  <Step title="You must be an admin of that Page">
    The picker is built from the Pages your Facebook login administers. If you are not an admin,
    ask the Page owner to give you admin access, or have them connect it.
  </Step>
</Steps>

## Connect the account

<Steps>
  <Step title="Open the channel list">
    Go to **Integrations → Channels** and start adding an account.
  </Step>

  <Step title="Choose Instagram via Facebook">
    Select the **Instagram via Facebook** tile — *Connect a new Business Instagram account*. Not
    the **Facebook Page** tile.
  </Step>

  <Step title="Sign in to Facebook and approve the permissions">
    Approve everything Meta asks for. If you decline the messaging permissions, the account
    connects but DMs never flow.
  </Step>

  <Step title="Pick the Instagram account">
    Tick your Instagram account in the list and finish the connection. DMLY resolves the Facebook
    Page behind it, creates the Channel, and subscribes that Page to incoming messages and
    comments.
  </Step>
</Steps>

Your plan controls how many Instagram accounts you can connect. If you are over the limit you
never reach the Facebook sign-in screen.

<Note>
  Your workspace may also show a second tile labelled just **Instagram** — same icon, same
  *Connect a new Business Instagram account* subtitle. Don't use it for messaging: accounts
  connected that way are for publishing only — no Channel, no Inbox and no bot. The messaging
  tile is the one that reads **Instagram via Facebook**.
</Note>

## The 24-hour window

Meta only lets you message someone who messaged you first, and only for a limited time. The
rules are the same as Messenger:

* **Automated messages** — flows, sequences and broadcasts can only reach a contact within
  **24 hours** of that contact's last message to you. Outside it, the send is blocked and recorded
  as failed, not silently dropped. The one exception is the **Marketing Opt-in** node: ask while
  the contact is still in the window, and if they accept you get exactly one more message after it
  closes.
* **Manual replies from the Inbox** — a teammate can reply for **7 days** after the contact's
  last message. DMLY sends these under Meta's human-agent allowance automatically.
* **No templates.** Instagram has nothing like WhatsApp's approved message templates. There is no
  way to open a new conversation with someone who has not written to you first. If you need to
  reach people cold, use [WhatsApp](/channels/whatsapp).

<Tip>
  Treat every inbound Instagram DM as a 24-hour clock. Anything you want automated — a reply, a
  booking link, a payment link — should fire while the contact is still in the window.
</Tip>

[Broadcasts](/broadcasts/overview) work on Instagram, but they are plain text sent inside that
same window. Anyone outside it is marked failed with a window-closed reason on the broadcast
report, unless they accepted a Marketing Opt-in request. See
[WhatsApp rules and limits](/broadcasts/whatsapp-rules-and-limits) for the contrast.

## What Bot setup gives Instagram

Open **Bot setup** and pick the Instagram channel from the channel selector. Two of the four
sections reach Instagram:

<Columns cols={2}>
  <Card title="Ice breakers" icon="comment-dots">
    Up to 4 suggested questions a first-time visitor can tap. Each can send a text reply or start
    a flow. Instagram shows them on mobile only.
  </Card>

  <Card title="Persistent menu" icon="bars">
    An always-available menu in the conversation. Up to 3 items per level, up to 3 levels. Items
    can open a URL or start a flow.
  </Card>
</Columns>

Save the page and DMLY pushes both to Instagram. Turn the menu off and save to remove it again.
If the push to Meta fails you get a warning on save telling you to check
**Salesbot → Logs** — see [Logs](/troubleshooting/logs).

<Note>
  The live preview hides the persistent menu when the Instagram channel is selected. That is a
  preview limitation only — the menu does sync to Instagram and does appear in real conversations.
</Note>

For a persistent menu item, use **Start flow** or **Open URL**. A **Postback** item's payload is
never acted on, so the tap does nothing useful.

## What starts a flow on Instagram

Beyond a plain DM, these trigger your [automations](/automation/overview):

* A **story reply** or a **story mention**
* A **comment** on a post, including **Instagram Live** comments
* A tapped ice breaker or persistent-menu item bound to a flow

In a comment-triggered flow, the first text **Send Message** step opens a DM with the commenter as
a private reply, bypassing the 24-hour window — the standard way to turn a comment into a
conversation. **Reply to Comment** only posts a public reply under the comment; pair the two if you
want both.

Instagram flows can also check whether the contact **follows** your account, which Facebook has no
equivalent for. DMLY reads this the first time it needs it and remembers it on the Contact.

## Instagram quirks in the Inbox

* **Quick replies are text-only** on Instagram. Buttons, carousels and media all work.
* **No delivery receipt.** Instagram never reports delivery, so a sent message stays at *sent*
  until the contact reads it. Messenger reports both. Nothing is wrong.
* **Names fill in late.** A new contact is created as `Instagram user <last 4 digits>` and upgraded
  to the real name and username once Meta returns the profile. People who only ever commented may
  keep the username, because Meta does not return a profile for someone who has never DMed you.
* **Opt-out keywords work here too.** A contact who sends `stop` or `unsubscribe` is opted out,
  tagged **Unsubscribe**, and removed from running flows and sequences. Automated messages stop;
  manual replies still go through.

## Troubleshooting

<Accordion title="Nothing arrives in the Inbox">
  The commonest cause is not your connection — it is Meta's app-level webhook, which controls
  whether Instagram events are delivered at all. Start with
  [No inbound messages](/channels/no-inbound-messages).

  Also check you connected through **Instagram via Facebook** and not a publishing-only tile, and
  that the Page behind the account is still one you administer.
</Accordion>

<Accordion title="The account connected but sends fail">
  Usually the Page access token — Instagram DMs are sent with the linked Page's token, not the
  Instagram account's. If the token expires or your Page admin access is removed, DMLY marks the
  channel unauthorized, shows a red dot on it and emails the workspace admins. Reconnect the
  account from **Integrations → Channels**.
</Accordion>

<Accordion title="The Instagram account isn't in the picker">
  It is not a Business account, it is not linked to a Facebook Page, or you are not an admin of
  that Page. Fix the link in Meta Business Suite, then start the connect again.
</Accordion>

<Columns cols={2}>
  <Card title="Facebook Messenger" icon="facebook-messenger" href="/channels/facebook-messenger">
    The sibling channel — same window, but it does get a welcome message.
  </Card>

  <Card title="Bot setup" icon="robot" href="/automation/bot-setup">
    Ice breakers, menus and what each channel supports.
  </Card>
</Columns>
