SMSGlobal
MessagingConnect AI agents to SMSGlobal, an Australian headquartered global SMS gateway. Agents send single or bulk SMS, review outgoing and inbound message history, manage sender IDs and dedicated numbers, and maintain opt-out lists and contact groups so customer notifications stay compliant and on schedule.
What This Integration Enables
SMSGlobal is an Australian-headquartered global gateway, and the object it is built around is the originator. Five of its thirty-two actions do nothing but enumerate and inspect the things a message can come from: registered alphanumeric sender identifiers with their approval status and country, dedicated virtual numbers with their inbound handling and auto-reply settings, and shared number pools. That matters because on SMSGlobal the originator is not branding. It decides whether the message is permitted in the destination country at all, and it decides whether the recipient has anywhere to reply to. Send SMS takes either a sender identifier or a shared pool, never both, and that single choice is the most consequential parameter on the call.
The credential model is worth a sentence because it is the strictest in this category. Authentication is an API key and secret, but the secret never travels: every request carries an OAuth 2 MAC authorization header whose signature is an HMAC-SHA256 over the timestamp, a nonce, the HTTP method, the request URI, the host, and the port, keyed on the secret. This connector builds and signs that header for you, which means the thing an agent holds is a key that is useless without the signing step, and no request ever carries the secret in a query string or a body.
The third thing to understand is that message history here is a mutable, first-class object rather than a read-only log. List Outgoing Messages and List Incoming Messages page through sent and received traffic with filters on status, number, text, and date, and both have a matching delete. That is unusual and it comes with edges: outgoing history is limited to the last three months, offset plus limit may not exceed 10,000 on either listing, date filters use the account timezone while returned timestamps are UTC, and there is no export action. A flow that needs a durable record of customer contact should be writing it somewhere else at send time. There are no triggers on this connector, because SMSGlobal delivers status receipts and inbound messages to a callback URL configured per dedicated number or per message with no subscription API, so inbound and delivery data comes through the message-list actions instead.
Without FlowRunner
With FlowRunner
Use Case Scenarios
A shipping notification that respects a suppression nobody re-checked
An order moves to shipped and a notification is due. Before anything is sent, the agent calls Validate Opt-Out Numbers, which tests numbers against the opt-out list without modifying it. The customer opted out of marketing four months ago, which is a fact that lives at the gateway and not in the segment the order system produced. The agent then reads List Sender IDs filtered by the destination country, confirms the alphanumeric name is registered and approved there, and sends. Where it is not approved, the flow falls back to a dedicated number from List Dedicated Numbers so the message is deliverable and the customer has somewhere to reply. The outcome is written back to Shopify on the next reconciliation pass.
Replies routed to the team that owns the answer
Customers reply to the dedicated number. The agent polls List Incoming Messages, matches each inbound message to a recent outgoing one by number and timestamp, and routes accordingly. A reply to a delivery notification opens a task in Zendesk with the original message attached. A reply containing an opt-out intent goes to Opt Out Numbers immediately, because suppression only ever reduces contact and needs nobody's approval. A reply that is neither becomes an automation exception, because a customer who wrote something a classifier cannot place deserves a person rather than a guess.
A contact database maintained from the system that owns it
Contact groups on SMSGlobal are storage rather than a send target, since Send SMS addresses numbers rather than a group. The agent reconciles nightly: List Contact Groups for the current structure, List Group Contacts for membership, then Create Contacts In Bulk, Update Contact, and Delete Contact for the differences against the source of truth in HubSpot. Because the send addresses a materialized list rather than a live group, the flow reads membership at send time rather than trusting a snapshot from the reconciliation run, which is the difference between messaging who is currently a customer and messaging who was one last night.
Human-in-Loop Highlight
The gate on SMSGlobal is Delete Outgoing Message and Delete Incoming Message, and what makes it a real gate is not that deletion is permanent. It is that the agent cannot tell you how much it is about to delete. Both listings cap offset plus limit at 10,000, so on a busy account the pages simply run out before the records do. Outgoing history is already limited to the last three months, so whatever survives a deletion is on a clock anyway. There is no export action anywhere in the thirty-two, and no undelete. An agent asked to clean up test sends or failed deliveries is therefore being asked to permanently destroy the account's only record of who was contacted, using a filter whose match count it can measure only up to a ceiling.
So the agent does the measurement it can do and declares the ceiling it hit. It runs the proposed filter against List Outgoing Messages, pages until it reaches the limit, checks whether the filter overlaps any record that has a matching inbound reply in List Incoming Messages, and reports the shape of the thing rather than a confident total. What it posts is a question with the uncertainty in it: "Cleanup requested for outgoing records with status failed, dated before 2026-06-01. Matched 10,000 records and hit the paging ceiling, so the real count is higher and I cannot say by how much. 214 of the matched records have an inbound reply attached, meaning a customer answered a message this would erase. There is no export route on this API. Delete, narrow the filter, or leave the history alone?" A person answers that in the Flow conversation, and the answer is what runs Delete Outgoing Message.
That is the shape human-in-the-loop takes under Orchestration as a Service. The agent is not asking whether deletion is permitted. It is reporting that the size of the action is structurally unknowable on this platform, and that an irreversible operation of unknown scope is not something an autonomous step should perform, however clear the instruction was. Two neighbors deserve the same treatment on their own merits. Opt In Number removes a number from the opt-out list, and the SMSGlobal opt-out listing does not carry the reason it was added, so the agent has no evidence on which to judge whether newer consent supersedes an older refusal. Delete Contact Group removes a group whose membership is the only thing standing between a reconciliation job and rebuilding a segment from scratch.
Agent Capabilities
32 actionsMessaging
5- Send SMS Sends to one or more numbers, optionally scheduled, with a sender identifier or a shared pool as the originator and optional delivery and reply callback URLs. Set either the origin or the shared pool, never both. Messages longer than 160 GSM characters, or 70 Unicode, are split into parts and billed per part.
- List Outgoing Messages Returns paginated sent history filterable by status, number, text, and date. Outgoing history covers the last three months, offset plus limit may not exceed 10,000, and date filters use the account timezone while returned timestamps are UTC.
- Get Outgoing Message Returns the detail of one message by part identifier or outgoing identifier.
- Delete Outgoing Message Removes an outgoing record from history permanently. There is no undelete and no export route, so the record it destroys is the account's only copy.
- Cancel Scheduled Message Cancels a message queued for future delivery. The only recall available, and it works only while the message is still queued.
Incoming Messages
3- List Incoming Messages Returns paginated inbound replies filterable by number, text, and date. This is the polling route that stands in for an inbound webhook, since no subscription API exists here.
- Get Incoming Message Returns the detail of one inbound message.
- Delete Incoming Message Removes an inbound record permanently. An inbound record is a customer's own words, which usually makes it the more consequential of the two deletions.
Numbers And Sender IDs
5- List Dedicated Numbers Returns the virtual numbers owned by the account with their inbound handling and auto-reply settings. A dedicated number is the originator that gives a recipient somewhere to reply.
- List Sender IDs Returns registered alphanumeric sender identifiers, filterable by text, country, and status. Alphanumeric names must be registered and approved before use and are not permitted in every country, so this is the pre-send check that decides deliverability.
- Get Sender ID Returns the detail of one registered sender identifier, including its current approval state.
- List Shared Pools Returns the shared number pools available to the account.
- Get Shared Pool Returns the detail and the numbers of one shared pool. Note that the send parameter is documented only as a string, so if your account expects the pool identifier rather than the pool name, supply it directly.
Opt-Outs
4- List Opted Out Numbers Returns the numbers suppressed from sending on this account.
- Opt Out Numbers Adds numbers to the opt-out list. The direction that only ever reduces contact, which is why an agent can run it without asking.
- Validate Opt-Out Numbers Checks numbers against the opt-out list without changing it. The free, non-mutating pre-send check, and the reason a flow never has to guess whether a segment is clean.
- Opt In Number Removes a number from the opt-out list. The listing does not record why a number was added, so restoring contactability rests on evidence this API does not hold.
Account
4- Get Credit Balance Returns remaining credit and currency. Available to pre-paid accounts only; post-paid accounts receive a not-found response, which is expected rather than an error.
- Get Account Contact Details Returns the account holder's contact details.
- Get Account Billing Details Returns the account's billing details.
- Get Verified Numbers Returns verified numbers, or those pending PIN verification.
Contacts And Groups
11- List Contact Groups Returns the contact groups on the account.
- Create Contact Group Creates a contact group. Groups here are storage for reconciliation rather than a send target, since Send SMS addresses numbers directly.
- Get Contact Group Reads one group and its configuration.
- Update Contact Group Changes a group's details.
- Delete Contact Group Deletes a group. Its membership is often the only assembled form of a segment, so losing it means rebuilding from the source system.
- List Group Contacts Returns the contacts in a group, sortable by identifier or mobile number. The read that materializes a group into a recipient list a send can actually address.
- Create Contact Adds one contact to a group.
- Create Contacts In Bulk Adds many contacts in a single request. The route for a reconciliation pass rather than a loop of single writes.
- Get Contact Reads one contact record.
- Update Contact Updates one contact's stored details.
- Delete Contact Removes one contact from the database.
Frequently Asked Questions
What can FlowRunner do with SMSGlobal?
FlowRunner agents can run Send SMS, List Outgoing Messages, and Get Outgoing Message in SMSGlobal, plus 29 more actions.
Does connecting SMSGlobal to FlowRunner require OAuth?
SMSGlobal uses a custom authentication method to connect to FlowRunner.
Can SMSGlobal trigger a FlowRunner workflow automatically?
SMSGlobal doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with SMSGlobal
$100 in credits. No card required. Connect in minutes.