FlowRunner
PricingContact
Theme
Start Free

Connect AI agents to Inro, an Instagram DM automation platform. Agents manage Instagram contacts, run messaging scenarios and campaigns, and organize conversations into folders.

14 actions API key available
Inro website ↗ Platform Documentation ↗ Capability data verified 2026-08-06
A customer event fires in the commerce or CRM system that warrants a direct message
Search Contacts or Get Contact resolves the person to their Inro contact record
Update Contact writes the status, language, and custom properties the message will personalize on
List Folder Contacts confirms who is currently in the folder the send would target
Trigger Scenario starts the matching automation flow for that one contact with trigger data
The messaging owner receives the audience size and the scenario or campaign that would run
A person approves before Send Campaign starts a batch this connector cannot stop

What This Integration Enables

Inro is the odd one out among social connectors, and the difference is not cosmetic. Nothing here publishes. Every action in this integration ends in somebody's private Instagram inbox, which is a fundamentally different consent posture than a post on a feed. A post that misses is ignored. A direct message that misses is an intrusion into a personal space, sent under a brand's name, to a person who did not ask for it. That is why the useful design pattern for this connector is contact-level precision rather than volume. List Contacts, Get Contact, and Search Contacts resolve a real person by id, username, or email. Update Contact writes status, email, phone, language, folders, and custom properties, which is what makes a later message specific rather than generic. Folders are the audience layer: List Folders, List Folder Contacts, Add Contacts to Folder, and Remove Contacts from Folder maintain membership from the flow instead of from an export.

The messaging surface has three levels, and choosing between them is the real design decision. Send Message delivers a DM directly, as text, an image, video, or audio by public URL, a shared media post, or a conversion link, and accepts up to 1000 recipients in a single call. Trigger Scenario starts an existing automation flow for one specific contact, passing optional key and value data that the scenario reads as trigger variables, which makes it the natural bridge from an external event into Inro's own conversation logic. Send Campaign starts an existing DM campaign against its configured audience as an asynchronous batch. Note the shape of the last two carefully: this connector can start scenarios and campaigns but cannot build them. List Scenarios and List Campaigns are reads, and there is no action here that creates or edits either one. That is a reasonable division, because a campaign is a piece of messaging policy that a person should author. There are also no triggers, since Inro publishes no event subscription, so a flow is started by an event elsewhere rather than by Inro pushing one.

Without FlowRunner

DM follow-up done by hand Someone opens the Instagram inbox and works down a list between other tasks
Context missing at the moment of contact The message goes out without the order, the language, or the status that would have made it relevant
Audiences assembled in a spreadsheet Folder membership is maintained by exporting, editing, and re-importing lists

With FlowRunner

Follow-up starts from the event Trigger Scenario runs the moment the commerce or CRM event fires, for that specific contact
Context written before the send Update Contact sets status, language, and custom properties, so the scenario personalizes on current data
Folder membership maintained by the flow Add Contacts to Folder and Remove Contacts from Folder keep audiences accurate without an export cycle

Use Case Scenarios

A post-purchase conversation that starts from the order

An order ships in Shopify. The flow calls Search Contacts with the customer's email to find their Inro contact, then calls Update Contact to write the order number, the product, and the customer's language into custom properties. It calls Trigger Scenario for that contact, passing the order id as trigger data. Inro's own scenario takes over the conversation from there, personalizing on the properties the flow just wrote. The value is not that a message went out. It is that the message references the right order in the right language, because the enrichment happened before the conversation started rather than being improvised inside it.

Audience folders that stay true without an export cycle

Segments go stale the moment they are exported. A nightly flow reads the current customer segments from HubSpot and reconciles them against Inro. For each folder it calls List Folder Contacts to read current membership, then calls Add Contacts to Folder for people who newly qualify and Remove Contacts from Folder for people who no longer do. Nothing is sent. The only thing that changes is who would be in scope if something were sent, which is exactly the state that should be correct before anyone decides to send. Removals matter more than additions here, because the person who unsubscribed elsewhere and is still sitting in a DM folder is the one who generates a complaint.

An escalation path out of automation and into a person

An Inro scenario is handling a conversation and the contact asks something the flow was not built for. The agent watching the conversation calls Get Contact for the full record and Update Contact to set a status that marks the thread as needing attention, then posts the conversation context into the support channel in Slack with the contact's username, language, and recent properties. A person picks it up in Inro directly. The automation does not attempt an answer it is not qualified to give, and the handover carries enough context that the person taking it over does not have to start by asking the customer to repeat themselves.

Human-in-Loop Highlight

Send Campaign has no undo, and the shape of the connector proves it. List Campaigns filters by status, and the statuses it accepts include draft, running, completed, scheduled, limited, and canceled. So Inro has the concept of a canceled campaign, and this connector exposes no action that reaches it. There is no Cancel Campaign, no pause, no stop. Send Campaign starts an existing campaign against an audience configured inside Inro that the flow never sees, and the send is processed asynchronously as a batch, so by the time anybody realizes it targeted the wrong folder, the direct messages are already arriving in individual people's Instagram inboxes. The only control point that exists is the one before the call. So the agent gathers what it can actually verify, using List Campaigns for the campaign's current status and List Folder Contacts for the membership of the folders it believes are in scope, and then it stops: "Ready to run campaign 'March re-engagement'. Status is scheduled. The two folders I can see hold 4,180 contacts, 340 of whom were added by tonight's sync. Send Campaign runs asynchronously and this connector has no action to cancel it once started. Confirm?" An agent that will start something it cannot stop should say so out loud first. That is the whole job of a digital andon cord.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

14 actions

Account

1
  • Get Organization Retrieves details about the organization tied to the API key. Used to confirm which Inro workspace a flow is operating against before it touches contacts or sends anything.

Contacts

4
  • List Contacts Returns a paginated list of Instagram contacts with ordering. Used for reconciliation runs and for building the picture of who the organization can currently reach.
  • Get Contact Fetches a single contact by id, username, or email. The action that turns an identifier from another system into a person with a status, a language, and a history.
  • Search Contacts Runs a free-text search across contacts. Used when the identifier available upstream is partial or inconsistent, which is the normal case when matching a commerce customer to a social handle.
  • Update Contact Updates a contact's status, email, phone, language, folders, and custom properties. This is the enrichment step that makes a later message specific, and running it before a send is the difference between a relevant DM and a generic one.

Messaging

1
  • Send Message Sends a direct message to one or more contacts, as text, an image, video, or audio referenced by a public URL, a shared media post, or a conversion link. Accepts up to 1000 recipients per send, so the recipient list deserves the same scrutiny as the message text.

Scenarios

2
  • List Scenarios Returns a paginated list of automation scenarios with text search and folder filtering. Scenarios define automated DM flows, and this connector reads them rather than authoring them.
  • Trigger Scenario Starts a scenario for a specific contact identified by id, username, or email, passing optional key and value data that the scenario reads as trigger variables. The cleanest bridge from an event in another system into an Inro conversation.

Campaigns

2
  • List Campaigns Returns a paginated list of DM campaigns with text search and filtering by status, including draft, running, completed, scheduled, limited, and canceled, and by campaign folder. Check status here before starting anything.
  • Send Campaign Starts sending an existing DM campaign to its configured audience. The campaign must already exist in Inro, and sending is processed asynchronously as a batch. This connector exposes no action to cancel a campaign once it has started.

Folders

4
  • List Folders Lists the contact folders in the organization. Folders are the audience unit that campaigns and bulk sends operate against.
  • List Folder Contacts Lists the contacts inside a folder. The action to run before any bulk send, because it is the only way a flow can state who is actually in scope.
  • Add Contacts to Folder Adds contacts to a folder by id. Used to keep audiences current from the systems that actually know who qualifies.
  • Remove Contacts from Folder Removes contacts from a folder by id. The more important half of audience maintenance, since a contact left in a folder after they stop qualifying is the one who receives a message they should not have.

Frequently Asked Questions

What can FlowRunner do with Inro?

FlowRunner agents can run Get Organization, List Contacts, and Get Contact in Inro, plus 11 more actions.

Does connecting Inro to FlowRunner require OAuth?

No. Inro connects to FlowRunner with an API key, no OAuth flow required.

Can Inro trigger a FlowRunner workflow automatically?

Inro doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Inro

$100 in credits. No card required. Connect in minutes.