FlowRunner
PricingContact
Theme
Start Free

SignalWire

Messaging

Send SMS and MMS, place and update phone calls, buy and manage phone numbers, and pull call recordings through SignalWire's Twilio-compatible LaML API, all from AI agents running against your SignalWire Space.

10 actions Basic auth available
SignalWire website ↗ Platform Documentation ↗ Capability data verified 2026-07-27
The fulfillment system reports a failed delivery on an order
Send Message texts the customer from the store's number with the redelivery options and a reply keyword
Get Message checks the text's delivery status by SID a few minutes later
The customer has not replied and the message shows delivered, or shows an error code
Make Call places an automated call with inline LaML that reads the options and captures a keypress
A voicemail, a confused response, or a press for "talk to someone" routes the case to a support rep, who calls back with the whole exchange in front of them
Every message SID, call SID, status, and outcome logs to the call-tracking sheet

What This Integration Enables

The phone is the loudest instrument a company owns: nothing else lands in a pocket and interrupts a person mid-thought. SignalWire gives that instrument programmable plumbing through its Twilio-compatible LaML API, numbers, SMS and MMS, voice calls, live call control, recordings, and FlowRunner supplies the discipline the channel demands. Agents use the phone as an escalation ladder, not a broadcast tower: reach for it when the event justifies interruption, verify each rung before climbing to the next, and log everything the channel does. - Send SMS and MMS notifications, alerts, and one-time codes, with delivery status checked after the fact rather than assumed - Place automated outbound calls driven by LaML instructions, inline or fetched from a URL - Modify live calls in progress: hang up, cancel, or redirect into new instructions - Provision numbers and inspect the ones the Space already owns - Pull call recordings for logging, transcription, and compliance

Without FlowRunner

The phone channel sits idle Failed deliveries and time-critical issues wait in an email queue while the customer's phone stays silent
Or it fires blind A bulk SMS tool blasts the whole file, and nobody can say afterward what was sent, to whom, at what cost
Calls leave no trace Outbound attempts live in reps' memories, and the recording, if it exists, is wherever the softphone put it

With FlowRunner

Escalation has a ladder Text first, call second, human third, each step triggered by the observed outcome of the last
Every send is accounted for Message and call resources carry SIDs, statuses, prices, and error codes, and agents log all of it
Recordings are records Call audio is listable, filterable by call, and downloadable into whatever compliance or QA process needs it

Use Case Scenarios

The order confirmation that arrives where the customer looks

An order lands in [Shopify](/integrations/shopify). The agent calls Send Message with the order number and pickup details, then checks Get Message for the delivery outcome. An undeliverable status with an error code reroutes the confirmation to email and flags the phone field in the CRM as bad, so the next workflow does not repeat the mistake. The message SID and price log to [Google Sheets](/integrations/google-sheets), which means the monthly SMS spend is a report, not an archaeology project.

The lead that gets a call while it is still warm

An inbound lead lands in [HubSpot](/integrations/hubspot). The agent places a Make Call to the prospect with LaML that introduces the company, offers a callback booking, and records the keypress. Get Call reads the outcome: answered and pressed one becomes a booked-call task for sales; no answer schedules one retry at a reasonable hour; a bad number flags the record. The rep spends their morning on the leads that answered, and List Calls gives the manager the week's attempt history without asking anyone.

The recording pipeline that feeds QA

Nightly, the agent runs List Calls for the day's completed outbound calls, then List Recordings filtered by each call SID, and downloads the audio via the media URI. Recordings route into transcription, and the transcripts land beside the call log with duration and price attached. When a dispute surfaces about what was promised on a call, the answer is a lookup in [Slack](/integrations/slack), not a week of hoping someone remembers.

Human-in-Loop Highlight

A batch of Send Message and Make Call aimed at a customer list is not a message, it is a campaign: every text lands in a pocket, every call rings in a room, each send is billed per segment, and none of it can be recalled once the API accepts it. So campaign-scale sends never launch on an agent's own initiative. The agent assembles the list, the exact message body, the sending number, and the time window, and a person approves that manifest before the first send fires. Buy Phone Number carries the same discipline for a different reason: it provisions a recurring, billable asset into the Space, so the agent proposes the number and its webhook configuration, and the owner of the phone bill says yes. The ladder in this connector runs at machine speed; the decisions to interrupt and to spend stay human.

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

10 actions

Messaging

3
  • Send Message Sends an SMS or MMS from an owned E.164 number, with body text, optional media URLs, and an optional status callback for delivery updates. Returns the message resource with its SID and initial queued status.
  • List Messages Lists messages sent and received, most recent first, filterable by To, From, and send date, with pagination. The audit read behind spend reports and conversation history.
  • Get Message Retrieves a message by SID with delivery status, body, media and segment counts, price, and any error code. The verification step that turns "we sent it" into "it arrived."

Voice

4
  • Make Call Places an outbound call with caller ID, destination, and LaML instructions supplied inline or by URL, plus optional status callbacks and machine detection. Returns the call resource with its SID.
  • List Calls Lists calls to and from the Space, most recent first, filterable by To, From, and status, with pagination. The read behind attempt histories and daily call reporting.
  • Get Call Retrieves a call by SID with status, direction, duration, price, and timestamps. The outcome check that decides the next rung of the escalation ladder.
  • Update Call Modifies a live call by SID: set status to Completed to hang up, Canceled to stop one still queued or ringing, or supply new LaML to redirect it, transferring the caller or playing a message. Live-call control as an API operation.

Numbers

2
  • List Phone Numbers Lists the numbers owned in the Space with SID, E.164 number, friendly name, and configured voice and SMS webhook URLs. The inventory read before any provisioning decision.
  • Buy Phone Number Purchases a specific E.164 number into the Space, with optional friendly name and webhook configuration. A recurring spend, which is why it waits for a person.

Recordings

1
  • List Recordings Lists call recordings, most recent first, optionally filtered to a single call SID, with each recording's duration and media URI for audio download. The bridge from phone calls to transcription, QA, and compliance archives.

Frequently Asked Questions

What can FlowRunner do with SignalWire?

FlowRunner agents can run Send Message, List Messages, and Get Message in SignalWire, plus 7 more actions.

Does connecting SignalWire to FlowRunner require OAuth?

No. SignalWire connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.

Can SignalWire trigger a FlowRunner workflow automatically?

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

Start building with SignalWire

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