FlowRunner
PricingContact
Theme
Start Free

8x8

Messaging

Send SMS and rich channel messages through 8x8 CPaaS. Agents deliver transactional SMS, reach customers on WhatsApp, Viber, Zalo, LINE, and KakaoTalk, schedule messages for future delivery, and poll delivery status to confirm receipt or catch failures.

4 actions API key available
8x8 website ↗ Platform Documentation ↗ Capability data verified 2026-07-27
An appointment is booked through the scheduling system for two days out
Send SMS queues the reminder with a scheduled send time the morning of the appointment and an expiry window so a stale reminder never delivers late
Agent stores the returned umid with a client message ID tying it to the booking
If the booking is canceled before send time, the workflow branches and the reminder is superseded by a cancellation confirmation
Get SMS Status polls the umid after send time until the message resolves
Failures post to the operations channel with the recipient and booking reference
An operator reviews recurring failures for a number and corrects the contact record or switches that customer to a chat channel

What This Integration Enables

Reaching a customer in Ho Chi Minh City, Seoul, and Berlin is three different messaging cultures: Zalo, KakaoTalk, and SMS. 8x8's CPaaS surface collapses that into one API with a subaccount-scoped key, and this connector puts it inside FlowRunner as ordinary workflow steps. Agents send transactional SMS with scheduling, expiry, and encoding handled, deliver rich-channel messages over WhatsApp, Viber, Zalo, LINE, and KakaoTalk, and poll every message to a terminal status by its umid. The design stance: a message is not fire-and-forget, it is a small contract with a deadline. The connector's scheduling and expiry parameters exist because delivery timing is part of the message's meaning, and FlowRunner workflows are where that timing logic lives: - Reminders queue at booking time and fire at the useful moment, not the convenient one - Expiry windows guarantee a time-sensitive message delivers on time or not at all - Client message IDs correlate every send with the order, booking, or invoice behind it - Status polling turns silent delivery failures into workflow branches and escalations - Channel choice per customer happens in the flow, so one automation serves every geography Messages that respond to a customer's own event run autonomously. Messages that make claims about a customer's money get FlowRunner's [human-in-the-loop](/concepts/human-in-the-loop) treatment first.

Without FlowRunner

Each channel is its own integration project SMS goes through one vendor, WhatsApp another, and LINE or KakaoTalk for Asian customers never happens at all
Time-sensitive messages arrive whenever A reminder for a 9am appointment lands at 4pm because nothing expired the queued message
Message and business record never meet The text went out, but nothing ties it to the order, booking, or invoice it was about

With FlowRunner

One send step, many channels Agents pick SMS or a rich channel (WhatsApp, Viber, Zalo, LINE, KakaoTalk) per customer inside a single flow
Messages carry schedules and expiries Sends queue for the right moment and expire when late delivery would be worse than none
Every umid maps to a record Client message IDs correlate each message to the transaction it serves, so status flows back into the source system

Use Case Scenarios

Order confirmations that pick the customer's channel

A [Shopify](/integrations/shopify) order arrives. The agent checks the customer's stored channel preference: SMS for most, Send Chat Apps Message over WhatsApp, Zalo, or KakaoTalk where that is how the customer actually communicates. The confirmation carries the order number and tracking link, the umid is logged against the order, and status polling confirms delivery. One workflow, every market, and the customer hears about their order in the app they already open forty times a day.

Appointment reminders that cannot arrive late

A [Calendly](/integrations/calendly) booking triggers a reminder queued via Send SMS with a scheduled send time the morning of the appointment and an expiry a few hours later. If the customer reschedules, the workflow supersedes the pending reminder with an updated one. The expiry window means a queued reminder can never embarrass the business by arriving after the appointment it was reminding about. Get SMS Status confirms delivery, and no-shows can be read against reminder-delivery data instead of assumptions.

Payment-failure alerts that pass through a person

A [Stripe](/integrations/stripe) payment intent fails. The agent drafts the SMS, verifies the failure is real and not a retry in progress, attaches the account context, and posts the queue to [Slack](/integrations/slack) for the billing owner's review. Approved messages go out through Send SMS, a follow-up task lands in [HubSpot](/integrations/hubspot), and delivery is confirmed by umid. The customer gets a prompt, accurate nudge; the business never robo-texts someone about money it actually received.

Human-in-Loop Highlight

The gated operation on this connector is Send SMS in its dunning role: a message telling a customer their payment failed. It reaches a personal phone, it makes a claim about their money, and it cannot be unsent. Sent on a false positive, a webhook race, a retry that succeeded seconds later, a refund misread as a failure, it is the fastest way to turn a good customer into a churned one. So FlowRunner agents assemble the evidence first: the payment state, the retry history, the account standing, and the drafted message, then hold the send for the billing owner's approval. The scheduled-send and expiry parameters make the approved message land at a defensible hour and never late. Confirmations and reminders flow without a gate because the customer's own action authorized them. Accusations about money never do.

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

4 actions

SMS

2
  • Send SMS Sends a single outbound SMS through the 8x8 CPaaS SMS API using the configured subaccount. Provide the recipient in international format and the message text. Encoding defaults to AUTO (GSM7 for plain text, UCS2 for Unicode). Optionally set a sender ID, a client message ID for correlation, a scheduled send time, an expiry, and a delivery-report callback URL. Returns a unique message ID (umid) and the queued/rejected status.
  • Get SMS Status Retrieves the current delivery status and metadata for a previously sent SMS, identified by its unique message ID (umid) returned from Send SMS. Use this to poll whether a message was delivered, is still in transit, failed, or expired.

Chat Apps

2
  • Send Chat Apps Message Sends an outbound message over a rich messaging channel (WhatsApp, Viber, Zalo, LINE, etc.) through the 8x8 Chat Apps (Messaging Apps) API using the configured subaccount. Provide the recipient identifier, the channel, and the message text. Optionally pass a client message ID for correlation. For text messages the content type is TEXT. Returns a unique message ID (umid) and queued status.
  • Get Chat Message Status Retrieves the current delivery status and metadata for a previously sent Chat Apps message, identified by its unique message ID (umid) returned from Send Chat Apps Message. Use this to poll whether the message was sent, delivered, read, or failed on the messaging channel.

Frequently Asked Questions

What can FlowRunner do with 8x8?

FlowRunner agents can run Send SMS, Get SMS Status, and Send Chat Apps Message in 8x8, plus 1 more action.

Does connecting 8x8 to FlowRunner require OAuth?

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

Can 8x8 trigger a FlowRunner workflow automatically?

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

Start building with 8x8

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