FlowRunner
PricingContact
Theme
Start Free

Sakari

Messaging

Send and track SMS through Sakari. Agents message contacts, review delivery history, and manage contacts and groups for two-way business texting campaigns.

6 actions OAuth available
Sakari website ↗ Platform Documentation ↗ Capability data verified 2026-07-28
A new booking is confirmed in the scheduling system, with an appointment 48 hours out
List Contacts searches the address book for the customer's mobile number
Create Contact adds the customer in E.164 format if they are not yet in the book
Send Message delivers the appointment reminder with date, time, and a reply prompt
List Messages filtered to Incoming picks up the customer's reply on the next polling pass
The agent classifies the reply: confirmation, reschedule request, or something needing a person
Reschedule requests and unclassifiable replies route to the front desk with the full conversation attached

What This Integration Enables

Sakari is built for two-way business texting, and two-way is the operative word: the value is not the outbound blast, it is the conversation that follows. Most teams automate the send and then drop the reply. FlowRunner agents run the full loop: they maintain the contact book, send transactional texts when events warrant them, poll the message history for inbound replies, and route each reply to a human or a workflow depending on what it says. - Send transactional alerts, appointment reminders, and notifications from any flow - Run one-to-many broadcasts to recipient lists, with a human approving the list - Audit conversation history and confirm delivery of outbound messages - Read inbound replies and trigger downstream follow-up from what customers say - Build and maintain the contact book and reuse contacts across campaigns and groups The conversation log is the underrated asset here. Because List Messages returns both directions of every exchange, an agent that polls it on a schedule builds a complete, timestamped record of what the business said and what customers answered, the raw material for everything from response-time metrics to dispute resolution. Teams that text customers without that record are running a channel on memory. Because Send Message accepts a whole recipient list in a single call, one action is all it takes to text hundreds of people. That is exactly the kind of power FlowRunner's [human-in-the-loop](/concepts/human-in-the-loop) gate exists to govern: the capability stays, the accident goes.

Without FlowRunner

Reminders depend on someone remembering Appointment confirmations go out when the front desk has a quiet moment, which is never
Replies land in a dashboard nobody watches Customers text back and the answer sits unread until after the missed appointment
The texting list is a pile of numbers No structure, no groups, duplicates from every campaign that ever imported a CSV

With FlowRunner

Every booking triggers its reminder The text goes out on schedule for every appointment, without a human in the send path
Replies become routed work Incoming messages get read, classified, and delivered to the person who can act
Contacts are managed once The address book stays deduplicated and grouped, built once and reused across every campaign that follows

Use Case Scenarios

The form fill that gets a text before it goes cold

A [Typeform](/integrations/typeform) submission arrives with a phone number. The agent calls Create Contact with the number in international format, then Send Message with a confirmation and next step. Inbound leads hear back in minutes over the channel with the highest read rate, and the contact is in the book for every future touch, deduplicated against List Contacts before creation. When the lead replies, the polling pass catches it and posts the exchange to the sales channel.

The CRM and the address book that agree

When a contact is created in [HubSpot](/integrations/hubspot), the agent mirrors them into Sakari with Create Contact, and the welcome text goes out. Weekly, the agent walks List Contacts and reconciles against the CRM, catching numbers that changed and contacts that exist in one system but not the other. Campaign audiences built from List Groups then reflect the same truth the CRM reports, instead of last quarter's import with its dead numbers and departed contacts.

The reply queue worked like a queue

Every fifteen minutes, the agent pulls List Messages filtered to Incoming. Opt-out language gets flagged for suppression immediately. Appointment confirmations close their loops silently, no human touch required. Genuine questions post to [Slack](/integrations/slack) with the sender's full contact record from Get Contact attached, and the full exchange appends to [Google Sheets](/integrations/google-sheets) for the conversation log. Nobody watches a dashboard; the dashboard comes to the people, and the fifteen-minute cadence means no customer waits an afternoon for a human to notice their text.

Human-in-Loop Highlight

Send Message takes a comma or newline separated list of recipients, which means the distance between a one-person reminder and a five-hundred-person broadcast is the contents of a single parameter. That is the sharpest edge in this connector. A text broadcast lands on phones within seconds, cannot be recalled, costs per recipient, and a bad list, stale numbers, people who opted out, a segment built from the wrong group, damages the sender reputation your number depends on. So FlowRunner draws the line at recipient count. A single transactional send tied to that recipient's own event flows autonomously. Anything with a list gets staged: the agent posts the recipient count, the group it came from, the message text, and waits for the owner's approval before the call fires. One parameter separates a reminder from a broadcast; the gate makes sure a human notices which one is about to happen.

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

6 actions

Messages

2
  • Send Message Sends SMS to one or more numbers in international format, queueing each recipient as an outbound message and returning the created records with delivery status. The list-capable send this page's human gate exists for.
  • List Messages Retrieves sent and received messages most recent first, with pagination and a direction filter. The read behind delivery confirmation, conversation logs, and the inbound reply loop.

Contacts

3
  • List Contacts Retrieves the address book with pagination and free-text search across name and number. Used for lookups, dedup checks, and audience building.
  • Create Contact Creates a contact from an E.164 mobile number and optional name, making them reusable across campaigns and groups.
  • Get Contact Retrieves one contact by ID with name, number, tags, and custom attributes. Used to attach context when routing an inbound reply.

Groups

1
  • List Groups Retrieves the contact groups that organize audiences for targeted broadcasts, with pagination. Used to resolve a group before any list-shaped send.

Frequently Asked Questions

What can FlowRunner do with Sakari?

FlowRunner agents can run Send Message, List Messages, and List Contacts in Sakari, plus 3 more actions.

Does connecting Sakari to FlowRunner require OAuth?

Yes. Sakari connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.

Can Sakari trigger a FlowRunner workflow automatically?

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

Start building with Sakari

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