Helios Vision AIHelios Vision AI

Instagram

Connect Instagram professional accounts to answer direct messages, with an AI agent or a fixed line, and turn post comments into conversations.

Objective

Connect an Instagram professional account so it answers its direct messages — with your AI agent, or with one fixed line you write — and, optionally, answers post comments with a private DM, a public reply under the comment, or both. The primary path is one-click Connect with Facebook (Facebook Login for Business); a Connect manually fallback lets you bring your own Meta app.

Access

Sidebar -> Messaging -> Instagram

Routes:

  • /app/{tenant}/instagram (connect and manage accounts)
  • /app/{tenant}/instagram/conversations/{id} (one Instagram conversation, opened from Conversations)

There is no channel-only conversation list anymore: the View conversations button in the header opens the unified Conversations page filtered to Instagram (/app/{tenant}/conversations?channel=instagram), which has search, message previews, and the contact panel.

Roles

  • owner, admin: connect, assign, activate, edit, disconnect, and delete accounts, and change the comment automation settings.
  • agent: can open the module and work conversations; account management and automation changes are admin-only (controls show "Only admins can change this").

Prerequisites

  • Your plan must include Instagram; the number of active accounts is capped by your plan plus the Social Accounts Pack add-on.
  • An Instagram professional account (business or creator) linked to a Facebook Page.
  • An agent is required only for the functions you set to answer with AI. An account whose direct messages are answered by a fixed message, and whose comment automation therefore continues with that same line, needs no agent at all.
  • Any agent you do assign must be active and must have Instagram enabled on its own Channels tab. The picker only offers agents that declared Instagram.
  • A verified email (connecting is blocked with "Please verify your email address before connecting this channel." until it is).
  • The Comments to DM and Public reply tabs appear only in workspaces where comment automation is switched on. Where it is not, the account expands straight into its DM panel with no tab strip.

Overview chips

When your plan includes Instagram, a row of stat chips sits at the top of the page:

ChipShowsAction
Needs youInstagram conversations that require human attentionOpens Conversations filtered to Instagram with the attention filter on
ConversationsTotal Instagram conversationsOpens Conversations filtered to Instagram
accountsActive accounts in use; turns amber at your plan's ceilingStatic chip
Comments answeredPeople who received a comment-to-DM messageShown only once at least one DM was sent
Started a conversationPeople who answered that DMShown only once at least one DM was sent

If the counts cannot be loaded, the chips are hidden rather than showing zeros.

Instagram accounts

  1. Click Connect with Facebook.
  2. Complete the Facebook Login for Business flow and grant the Pages whose linked Instagram accounts you want to connect.
  3. Each linked Instagram professional account is connected as inactive and unassigned.
  4. You will see a banner: "Connected with Facebook. Configure the functions below, then turn Connection on when you are ready."
  5. For each account: open its tabs, set up the functions you want, then switch Connection on.

To add an account you created later, click Connect with Facebook again and choose Edit settings (Edit access) in the Facebook dialog. If no new accounts are found you will see "No new Instagram accounts were found."

An account can only be connected to one workspace: if it is already connected elsewhere you will see "One or more of these accounts is already connected to another workspace."

Connect manually (bring your own Meta app)

Use the small Connect manually link next to the Facebook button to open the connect form. The technical fields live under the Advanced (use your own Meta app) section (expanded by default when adding, collapsed when editing an account connected through Facebook).

Primary fields:

FieldNotes
UsernameOptional. Your Instagram handle, without the @. Shown in the dashboard.
AgentA responder picker: a solo agent or a Team. Only agents with Instagram enabled are offered.
Active (receive and reply to messages)Whether the connection starts on.

Advanced fields:

FieldNotes
Instagram account IDThe Instagram professional account ID. Required on add (numbers only).
Facebook Page IDThe Facebook Page linked to this Instagram account. Required on add (numbers only).
Page access tokenThe Page access token with messaging permissions. Required on add. On edit, leave blank to keep the current token.
App secretOptional. Only needed with your own Meta app.
Webhook verify tokenOptional. Only needed with your own Meta app.

A copyable webhook URL ({base}/api/instagram/webhook) is provided for your Meta app configuration. Tokens and secrets are stored encrypted and never shown again.

The Connect manually link is disabled once you reach your plan's account cap.

Manage connected accounts

Each account is a row titled with its @handle (or its Instagram account ID when no handle is set), with a switch labelled Connection and a one-line summary of what the account is doing right now: "Answering DMs", "Answering comments", "Answering DMs and comments", "Connected; automated replies are off", "Paused", "No agent assigned yet", "Agent is paused", "Connection needs attention", or "Disconnected. Reconnect to resume."

Status badges: Solo / Team (N specialists), Needs reconnection, Linked agent inactive, and Paused by plan limit.

The row menu has Edit, Disconnect, and — only while the account is inactive — Delete connection.

Notes:

  • Connection is the account's master switch, not a function switch. Each function has its own switch inside its tab, and those keep their state while Connection is off: "Connection is off. You can configure and turn on any function below, but none will run until you turn Connection on."
  • Connection only requires an agent when at least one enabled function delegates its replies to AI. When one does and none is assigned, the switch is disabled with "Assign an active Instagram agent first. At least one enabled AI function needs it."
  • Assign a Team instead of a single agent to let a coordinator ask a specialist for help (requires the Teams plan and an approved specialist).

Expanding a row shows one tab per function, in the order a customer meets them, each with its own on/off state dot: Comments to DM, Public reply, and DM automation.

DM automation

One switch decides whether anything automated answers this account's direct messages, under the heading "How this account answers its direct messages". Two options sit below it:

  • With my AI agent (shown as "With <agent name>" once one is assigned) — "It answers with everything it knows about your business, and your team can take over with one click."
  • With a fixed message — "Everyone who writes gets the one line you write. No AI is involved, and the account needs no agent."

Off is a real, allowed state: "Nothing automated answers. Messages still arrive and wait for someone on your team in the inbox."

Configure first, arm second. While the switch is off, picking an option is only a draft — nothing is written until the switch commits it — and the switch itself stays disabled and says why before you click: "Pick an agent before turning this on." or "Write the message before turning this on." Switching a live account to a mode that cannot answer anybody (for example "With my AI agent" with no agent assigned) turns the function off instead of leaving it on with nothing to reply, and keeps your choice on screen.

Only the fields of the chosen mode are shown.

Under With my AI agent:

  • Agent: the responder picker (solo agent or Team), described as "The same one every function on this account uses." It offers only agents that have Instagram enabled; if the assigned agent stops qualifying it is kept in the list, labelled either "Linked agent inactive" or "This channel is off on the agent", so a save never clears an assignment you did not touch.
  • Accept attachments (images, voice notes, documents): when off, the agent replies to text only and ignores any media the customer sends. Off by default for Instagram. The setting belongs to the linked agent and is shared by every connection using that agent, so it needs an agent assigned.
  • A card naming the agent's prologue — the questions it asks before answering freely — with a link to edit it. The same prologue runs on threads that started as a comment.
  • When the connection is unhealthy, this tab shows the reason and a Reconnect button that restarts the Facebook flow.

Under With a fixed message:

  • The line itself, under "Someone writes you directly, without commenting: they get this". Up to 800 characters, saved when you leave the box. Picking this mode with nothing written seeds a starting line for you to edit rather than refusing the click.

This same choice decides who continues a conversation that started as a comment: with the AI agent, your agent continues those threads too; with a fixed message, that same line answers them. Turning direct-message automation off leaves the comment automation's continuation setting as it was.

The Account and Page ID reference values live at the foot of this tab.

Comments to DM

When someone comments on your Instagram post or reel, the account sends them a private direct message with the exact text you write, once per comment. If they answer, the conversation continues in private. Comment automation ships with the channel — it does not require any campaigns feature.

  • 1. They comment, and get this DM: the fixed text of that first private message, up to 800 characters. There is no Save button: it is stored when you leave the box, and a small indicator reads Saved / Not saved yet / Saving.
  • On which posts: "Every post on the account" (including old ones) or "Only one post" — pick the post or reel; comments anywhere else are ignored. A filter box appears once the account has more than eight posts, and the post you already chose always stays in the list so filtering can never look like it erased the setting.
  • Which comments: "Only comments with my keywords" or "Every comment on my posts". Answering everyone shows a cost warning before you pick it, and a second line when public replies are on.
  • Keyword filter: add up to 50 keywords, each with a match type — Contains, Exact match, or Starts with. An empty keyword list matches nothing: while it is empty, nobody gets an answer.

Turning this on requires the DM message written, a scope that can match (keywords added, or "Every comment on my posts" chosen) and — only when direct messages are answered by AI — an assigned agent. The reason stands as a notice under the switch before you click it, naming the control that fixes it. Turning it off is always allowed, even when a prerequisite disappeared after you armed it.

Deleting the last keyword switches the automation off and tells you so: "The last keyword is gone, so this automation was switched off — armed with no keywords it would answer nobody." Any edit that leaves an armed automation unable to match anything does the same.

There is no separate "what happens when the person answers" question: that is decided once, by the mode you chose under DM automation.

"Limits we always respect" is a strip at the foot of the tab. It starts folded and remembers your choice.

Public reply

Besides the DM, the account can reply publicly right under the comment — this is what tells people to check their inbox, since a DM from an account they do not follow lands in Message requests. Instagram only.

  • The public reply is its own capability, not a step of the private one: it can run without the DM, and turning it on arms the automation on its own. When no private message goes out, the preview says so.
  • Write two or three Texts to rotate: three boxes are offered and at least two must be different, because publishing the same line under every comment is what Instagram flags as spam. A counter next to the label shows how many distinct texts you have. Each comment gets one of your texts; the same comment always gets the same text, so a retry never posts a second, different reply.
  • The public text is yours, never written by the AI: a public comment is permanent and your whole audience reads it.
  • It answers the same comments you chose under Comments to DM — the keyword choice is one decision and covers both halves. If the scope is keywords and the list is empty, the switch will not move and says so before the click: "Add a keyword in Comments to DM first, or switch it to Every comment on my posts."
  • What each person sees is a folded preview strip showing the public line and the private one side by side.
  • Public replies that Instagram rejected are counted next to the switch, and if Meta blocks the account's public replies the feature stops for that account, states the code Meta returned, and does not retry on its own until a person turns it back on.

Sending limits

The limits are stated in the panel — the private ones under Comments to DM, the public ones under Public reply — and enforced by the engine:

LimitValue
Private replies per comment1, never two
Private replies to the same person1 per 24 hours, across all your posts
Private replies per account150 per hour
Meta's windowA private reply is only allowed within 7 days of the comment
Public replies to the same person1 per day (their next comment still gets the DM)
Public replies under the same post30
Public replies per account10 per hour

Plan limits

A usage line shows "N active accounts of M" (or "(unlimited)"). Without the entitlement you see "Instagram is not in your plan" with a View plans link to billing. Hitting the cap opens an upgrade dialog. The Social Accounts Pack adds one account slot per unit.

Conversations

View conversations opens the unified Conversations page filtered to Instagram. The conversation view shows the message thread with delivery ticks (sent / delivered / read / failed), a Take over / Hand back to AI toggle, a Team-assisted badge when a team specialist helped, a link to the contact, and a reply composer. A customer who opted out shows "This customer opted out of messages. They must send START to resume." instead of the composer. A reply stopped by the outbound review policy appears as Held for review until a person decides on it.

Disconnect and delete

Disconnect asks to confirm: "Disconnect {name}? Your agent will stop replying to its direct messages and the connection is dropped. Your automation, keywords and history are kept, so reconnecting the same account restores them." The row stays visible as "Disconnected. Reconnect to resume."

Delete connection is a separate, second step that only appears on an inactive account, and it is refused while the connection is still live — active, or still holding its credentials — with "Disconnect this account first, then delete it." It permanently removes the account and everything built on it: the comment automation, its keywords, its public reply texts, and the record of every message it sent. The confirm button is Delete permanently.

Good practices

  • After connecting with Facebook, set up each account's functions first and turn Connection on last. Nothing runs while Connection is off, and nothing is lost either.
  • If all you want is to drop a link, set DM automation to a fixed message: the account answers everyone, no agent is involved, and the comment funnel inherits the same line.
  • If replies stop, look for Needs reconnection and use Reconnect to refresh the Facebook permissions.
  • Prefer the keyword scope over "Every comment on my posts": answering everyone spends your hourly DM budget on people who were not asking anything, and unwanted DMs get reported.
  • Write genuinely different public reply texts — rotation exists to keep your feed from filling with the same repeated line.
  • Use a Team responder for accounts that need more than one area of expertise.

Common errors

MessageWhat it means
"Assign an active Instagram agent first. At least one enabled AI function needs it."Connection cannot turn on: something is set to answer with AI and no agent is assigned.
"At least one enabled AI function needs an assigned agent before Connection can turn on."The same rule, refused server-side after a save.
"The selected agent is inactive. Activate it first or choose another."The assigned agent is paused.
"Enable Instagram on the selected agent before turning Connection on."Open the agent, go to its Channels tab and tick Instagram.
"Pick an agent before turning this on."DM automation is set to answer with AI but has no agent yet.
"Write the message before turning this on."DM automation is set to a fixed message and the line is empty.
"Write the line people get before turning the AI off."Saving the fixed mode with no text.
"This Instagram account is already connected to an account."The same Instagram account exists in another workspace; disconnect it there first.
"Please verify your email address before connecting this channel."Verify your email, then retry.
"This account was disconnected. Reconnect it before turning it back on."Use Reconnect (or Connect with Facebook) before activating.
"Disconnect this account first, then delete it."Delete is only allowed on a disconnected, inactive account.
"No Facebook Pages were found on your account. Make sure you manage at least one Page."The Facebook user has no Page linked to the Instagram account.
"The permission request was declined, so nothing was connected."The Facebook dialog was cancelled or permissions were denied.
"Write the private reply message before turning this on."The comment automation needs its DM text first.
"Choose an agent under DM automation first, or set it to answer with a fixed message."The comment automation continues with AI, and no agent is assigned.
"Add at least one keyword, or choose to answer every comment, before turning this on."The keyword scope is selected but the list is empty.
"Write at least two different texts before turning on public replies."Public replies need at least two distinct rotating texts.
"We could not subscribe this account to comment updates, so Comments to DM is still off. Try turning it on again."Saving worked but the comment subscription failed; retry the switch.