FlowRunner
PricingContact
Theme
Start Free

FireText

Messaging

Connect AI agents to FireText, a UK SMS marketing and transactional messaging gateway. Agents send and schedule SMS, manage contacts, groups, and keywords, and pull delivery and click reports so UK text campaigns run and report automatically.

Verified 23 actions API key available
FireText website ↗ Platform Documentation ↗ Capability data verified 2026-08-12
A schedule opens the client's campaign slot, because FireText posts inbound messages and delivery receipts to a URL set in the account's API Settings and offers no subscription API, so this connector ships no triggers
The approved copy and the target group's API ID come out of the campaign brief
Get Credit is read for that specific sub-account, since every operation is scoped to a sub-account and the main account's balance is not the balance this send will spend
Get Unsubscribed Contacts returns the opt-outs on that group, which is the only part of the audience FireText will let the agent see
The body is measured against the 612 character ceiling and the billed part count is computed, because one credit is charged per part per recipient
The group id, the sender id, the credit position, and the opt-out count go to the account manager, with the fact that group membership cannot be read back stated plainly
The account manager confirms this is the group they meant, and only then does Send SMS run against it

What This Integration Enables

FireText is a UK SMS gateway, and the structure it is built around is the sub-account. Every operation on this connector can be scoped to one, credit moves between the main account and its children with Transfer Credit, and Get Credit Transfers keeps the history. That is an agency shape, or a multi-brand shape, and it is what makes FireText interesting for an orchestration layer: the agent is not running one account's messaging, it is running several tenants' messaging with separate balances that must not be confused with each other.

The API has a deliberate asymmetry that shapes how a flow should be written on top of it, and it is worth being direct about. You can create things: Add Group, Add Contact, Upload Contacts From CSV, Add Template, Add Sub-Account. You cannot list most of them back. FireText publishes no endpoint that enumerates groups or templates, so Group ID and Template ID are free-text fields holding the API ID assigned at creation, and there is no way for an agent to ask how many people are in a group before sending to it. Contacts can be read one at a time by mobile number with Get Contact Information, and opt-outs can be listed with Get Unsubscribed Contacts, so an agent can prove a specific person should not be messaged. It cannot prove who will be. That is not a flaw to be worked around silently, it is a fact the flow should surface to a person at the moment it matters.

The rest of the surface is well-covered. Send SMS reaches up to fifty explicit numbers and a saved group in one call, with scheduling, repeats, a custom reference, a per-message receipt URL, saved templates, and Unicode handling. Get Scheduled Messages and Cancel Scheduled Message give a real recall window on anything queued for the future, cancellable by message id or by the custom reference the send declared. Reporting runs off that same reference: Get Sent Messages produces the batch ids, Get Delivery Report gives per-recipient status, Get Sent Summary gives campaign and credit totals over a date range, and Get Click Report gives link activity for anything sent as Trackable SMS. Inbound works through keywords, where Add Keyword Forward relays messages arriving on a keyword to a mobile, an email address, or a URL. There are no triggers, because FireText delivers inbound traffic and receipts by posting to a URL configured in the dashboard rather than through anything a flow could subscribe to, and Get Received Messages is the polling substitute. One operational note worth planning around: FireText answers HTTP 200 regardless of outcome, so the meaningful result is the code inside the response body, which this connector raises as an error rather than passing through as a silent success.

Without FlowRunner

Client credit tracked outside the system Which sub-account paid for which campaign is reconstructed from memory when the month closes
Audience taken on trust A group id is pasted out of a brief and the send is the first thing that reveals whether it was the right group
Opt-outs checked when someone remembers The unsubscribe list is a separate step that happens reliably until the week it does not

With FlowRunner

Client credit read per sub-account Get Credit and Get Credit Transfers make each client's position and its history a fact the flow can act on
Audience confirmed by the person who owns it The agent presents everything it can verify, names the one thing it cannot, and a human confirms
Opt-outs enforced by the flow Get Unsubscribed Contacts runs before every send and Unsubscribe Contact runs the moment a reply says stop

Use Case Scenarios

A campaign run on a client's balance, not yours

An agency manages SMS for a dozen retail clients, each on its own FireText sub-account. When a campaign is approved in the brief, the agent reads Get Credit scoped to that client's sub-account rather than the parent, because those are different pots of money and spending the wrong one is an invoicing problem that surfaces weeks later. It computes the billed part count from the body, checks Get Unsubscribed Contacts for anyone on that group who has opted out, and assembles the whole send. Then it stops, because the one thing it cannot check is the group itself. After the account manager confirms, Send SMS goes out with a custom reference naming the client and the campaign, which is the handle every report later hangs off.

Inbound keywords that route to a person, not a black hole

FireText collects inbound SMS on keywords, and Get Keywords lists which keywords answer on which numbers. The agent uses Add Keyword Forward to relay a support keyword to a FlowRunner endpoint, then works what arrives. A reply reading STOP is handled immediately with Unsubscribe Contact, which opts the person out of all groups or a named one, and the flow does not wait for a human to authorize honoring an opt-out. Everything else is classified against the campaign the person was replying to, read from Get Received Messages. Questions with a clear answer get one. Complaints, disputes, and anything referencing a person by name are posted into Slack with the outbound message that prompted them, so a human replies rather than a template. Remove Keyword Forward detaches the relay when a campaign ends, which matters because a forward left in place quietly keeps sending traffic somewhere nobody is watching.

Onboarding a new client tenant end to end

A new client is signed. The agent calls Add Sub-Account with an opening credit allocation, Add Group for their first list, Upload Contacts From CSV to import the list they supplied, and Add Template for the message shapes they will reuse. Transfer Credit tops up the allocation from the parent account, and Get Sub-Accounts confirms the structure. There is one gap the flow must not paper over: FireText returns the new sub-account's API key in a response header that is not exposed to the service, so the key has to be collected from the dashboard by a person. The agent records exactly that as an open task with the sub-account name attached, rather than reporting the onboarding as finished. Naming the missing piece is more useful than a green check mark that is not true.

Human-in-Loop Highlight

The gate on FireText is the group, and it exists because of a specific gap in the API rather than as a matter of policy. Send SMS will happily accept a saved group as its destination. FireText publishes no endpoint that lists groups, no endpoint that counts a group's members, and no endpoint that returns what a group id refers to. The agent can therefore construct a send it cannot see the blast radius of. Worse, FireText answers HTTP 200 on every request, so a group id that is stale, or belongs to another client's sub-account, or was typed with a transposed digit, does not necessarily announce itself as a failure at all. One credit is billed per part per recipient, and a message that reached the wrong client's customer list cannot be recalled once delivered.

So the agent brings everything it can prove and is explicit about the one thing it cannot. It posts into Slack: "Campaign ready for Northfield Retail on sub-account NF-2. Sender ID NORTHFLD, 2 billed parts per recipient, sub-account credit 4,180. 37 contacts on this group are on the unsubscribe list and will be excluded. FireText does not expose group membership, so I cannot tell you how many people group 41822 contains or who they are. Confirm 41822 is Northfield's spring list?" The account manager, who set the group up, answers in the Flow conversation, and their confirmation is what releases Send SMS.

That is the digital andon cord working the way it should. The agent did not stop because sending is scary. It stopped at a named blind spot, told the human precisely what the blind spot is, and asked the one question the human is actually equipped to answer. Two other operations on this connector deserve their own pause for different reasons. Transfer Credit moves real money between a parent account and a client tenant, and the reverse transfer is a second deliberate act rather than an undo. Add Sub-Account cannot hand back the credential it creates, so a flow that treats it as complete leaves a provisioned tenant nobody can actually send from.

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

Agent Capabilities

23 actions

Messaging

4
  • Send SMS Sends to up to fifty numbers and a saved group in one call, with scheduling, repeats, a custom reference, a per-message receipt URL, saved templates, and Unicode handling. The custom reference is worth setting on every send, because it is the handle the delivery and click reports are later retrieved by.
  • Get Scheduled Messages Lists messages queued for future delivery. The read that tells a flow, or a person, what is still recallable before it fires.
  • Cancel Scheduled Message Unschedules by message id, up to twenty-five at a time, or by the custom reference the send declared. The reference form is the useful one, because it cancels a whole campaign without tracking individual ids.
  • Get Received Messages Lists inbound SMS received on the account's FireText numbers. The polling substitute for an inbound webhook and the entry point for handling replies, opt-outs, and questions.

Reporting

4
  • Get Sent Messages Lists sent batches and is the source of the message ids the delivery and click reports need. The first call in any reconciliation sequence.
  • Get Sent Summary Returns campaign, recipient, and credit totals for a date range. The report that answers what a month cost a given sub-account without walking every batch.
  • Get Delivery Report Returns per-recipient delivery status for a batch, retrieved by message id or by custom reference. Used to suppress numbers that failed and to close the loop on whether a notification actually landed.
  • Get Click Report Returns link-click activity for a batch sent as Trackable SMS. The signal that separates a message that was delivered from a message that was acted on.

Contacts

5
  • Add Contact Adds or updates a single contact, optionally placing them into a group. Used to keep a FireText group in step with a CRM one record at a time as people sign up.
  • Upload Contacts From CSV Bulk-imports a CSV, supplied inline as text or as a file URL, into a group. The onboarding path for a list handed over by a client or exported from another system.
  • Get Contact Information Retrieves a stored contact by mobile number. Contacts are readable one at a time, which is why this action verifies an individual rather than an audience.
  • Unsubscribe Contact Opts a contact out of all groups, or out of one named group. This is the action a flow should run immediately on a STOP reply, without waiting for anyone to approve honoring it.
  • Get Unsubscribed Contacts Lists opt-outs with date range and group filters. Run before every send, this is the part of the audience the API will actually show an agent, and excluding it is the compliance floor.

Groups and Templates

2
  • Add Group Creates a contact group with a default Sender ID and an optional API ID. The API ID is worth setting deliberately, because there is no endpoint that lists groups back and this is the only handle the flow will have.
  • Add Template Creates a reusable message template that Send SMS can reference. Templates also have no list endpoint, so the template id is a value the flow needs to record at creation time.

Sub-Accounts and Credit

4
  • Add Sub-Account Creates a sub-account with an optional opening credit allocation. FireText returns the new sub-account's API key in a response header the service cannot read, so the credential has to be collected from the dashboard by a person.
  • Get Sub-Accounts Lists sub-accounts and their credit allocations. The tenant map an agency flow works from, and the check that a new client tenant exists before anything is sent on it.
  • Transfer Credit Moves credits between the main account and a sub-account. Real money changing hands between tenants, and reversing it is a second deliberate transfer rather than an undo.
  • Get Credit Transfers Returns transfer history for a sub-account. The audit trail behind client billing, and the read that reconciles what was allocated against what was spent.

Keywords

3
  • Get Keywords Lists inbound SMS keywords and the numbers they answer on. The starting point for any two-way flow, since inbound traffic arrives against a keyword rather than an account.
  • Add Keyword Forward Relays inbound messages on a keyword to a mobile number, an email address, or a URL. The URL form is how inbound traffic reaches a flow at all, given that no account-level webhook subscription exists.
  • Remove Keyword Forward Detaches an existing forward from a keyword. Worth running when a campaign ends, because a forward left in place keeps delivering traffic to somewhere nobody is watching.

Account

1
  • Get Credit Returns remaining message credits on the main account or on a named sub-account. Scoping this correctly is the difference between knowing a client can afford a campaign and knowing that somebody can.

Frequently Asked Questions

What can FlowRunner do with FireText?

FlowRunner agents can run Send SMS, Get Scheduled Messages, and Cancel Scheduled Message in FireText, plus 20 more actions.

Does connecting FireText to FlowRunner require OAuth?

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

Can FireText trigger a FlowRunner workflow automatically?

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

Start building with FireText

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