GoSMS
MessagingConnect AI agents to GoSMS, a Czech SMS gateway operated by ZooControl. Agents send transactional and marketing SMS to numbers, contacts, or groups, preview message pricing, and track delivery and replies so Czech SMS traffic stays predictable and tracked.
What This Integration Enables
GoSMS is a Czech SMS gateway operated by ZooControl, and it is a small, well-shaped surface: seven actions covering account state, four ways to send or price a message, and two ways to read what came back. The thing it is organized around is not the message, it is the channel. A GoSMS communication channel defines the sender name that appears on the handset, and it also defines whether replies to that sender are collected at all. Channels are created in the selfservice portal and chosen per message, which means the single most consequential parameter on a send is not the body or the recipient list but which channel it goes out on.
The platform makes several decisions for you that other gateways leave to the caller, and they are good decisions. Duplicate recipients are removed automatically. Numbers a recipient has asked GoSMS to block are skipped rather than attempted. Preview Message prices a message and shows how many SMS parts it becomes without sending it and without charging, which is a vendor shipping its own dry run and is worth building every costed flow around, especially in a language where accented characters cut how much text fits into a part. Delete Message cancels a scheduled message before dispatch, so a queued send has a real recall path. Authentication is a machine-to-machine OAuth 2.0 client credentials exchange with no browser sign-in and no redirect, and the token is cached for its one-hour lifetime, so this connector sets up the way infrastructure should rather than the way a consumer app does.
Two behaviors need designing around. A message is accepted when at least one recipient is valid, with invalid and blocked numbers returned inside that accepted response, so a flow that branches only on success will report a run as clean while a portion of it never went anywhere. This connector surfaces those as automation exceptions rather than letting them sit in a field nobody reads. And there are no triggers: GoSMS pushes delivery reports and inbound replies to webhook URLs set by hand in the portal, with no subscription API, so Get Message Detail and Get Message Replies are the polling substitutes. Send operations return a link such as api/v1/messages/542141883, and the detail, replies, and delete operations all accept either that link or the bare id, which keeps a flow from having to parse anything.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Delivery notifications that expect an answer
An e-commerce operation notifies customers when an order ships and asks them to confirm the delivery window. The agent reads the day's shipments from Shopify, builds the message, and calls Preview Message to see exactly what it costs in parts, since the Czech text carries diacritics and the difference between one part and two across a few thousand recipients is not a rounding error. Get Organization Detail confirms there is credit and returns the account's channels. Then it sends with Send SMS To Contacts And Groups rather than the plain number form, because sending against saved contacts and groups is what makes the replies and the reporting attach to a contact record instead of to a bare phone number. A day later, Get Message Replies returns the confirmations grouped by sender number, and the delivery windows are written back.
A campaign priced and still cancelable
A marketing team schedules a promotion to a GoSMS contact group. The agent prices the body with Preview Message, which returns the part count and the cost, and schedules the send. Because the message is queued rather than dispatched, Delete Message remains a real exit right up until it fires, which is the difference between a mistake caught in time and a mistake explained afterward. Once it goes, Get Message Detail returns sending status, billing statistics, the recipient breakdown, and the delivery report in one read, and the recipient breakdown is where the numbers that were invalid or blocked actually appear. Those get written back into HubSpot as bad contact data rather than being counted as reach.
Replies that a person should be reading
Get Message Replies returns answers grouped by sender number, and most of them are short. The agent classifies against the message that prompted them: a confirmation updates the order, a reschedule request opens a new window, an obvious opt-out phrase is escalated so the number can be blocked at the account level. Everything else goes to a person. A customer who replies with a complaint, a question about a charge, or a message referring to a conversation that happened somewhere else does not need a classifier's best guess. It lands in Slack with the original outbound text, the order, and the reply together, so whoever picks it up has the whole thread rather than a fragment.
Human-in-Loop Highlight
The gate on GoSMS is the channel, and it exists because of a gap the platform genuinely has rather than as a matter of taste. Replies are only collected on channels that have reply receiving enabled in their GoSMS settings, and that setting lives in the selfservice portal. Get Organization Detail returns the account's channels with their ids and their sender names. It does not return whether each one collects replies. So an agent can pick a channel, send a message that says reply YES to confirm your delivery slot, receive a perfectly successful send response, and then poll Get Message Replies forever against a channel that was never going to hand it anything. There is no error. There is no empty-versus-disabled distinction. Every customer who answers is answering into a void, and the flow's own instruments show nothing wrong.
That is why, on any flow whose next step depends on an inbound reply, the agent stops before the first send and asks the one question the API cannot answer for it. Into Slack: "Ready to send the delivery confirmation to 3,140 contacts on channel 4 (sender GOSHOP). Preview prices it at 2 parts each, 6,280 billed messages, balance 41,200 CZK. This message asks customers to reply, and GoSMS does not expose whether a channel has reply receiving turned on. Confirm channel 4 collects replies, or name the channel that does?" A person who set the channels up answers that in seconds. Nobody, agent or human, would ever have found it afterward.
That is the digital andon cord doing what it is for under Orchestration as a Service: stopping at a place where the system is about to succeed loudly and fail silently. It is worth noticing what this gate is not. It is not a review of the copy, and it is not an approval on the spend, because Preview Message already answered the spend question for free and there is nothing for a human to add to it. The judgment being requested is about a configuration fact that exists in a portal and nowhere in the API, which is exactly the kind of thing a person knows and an agent cannot look up. Delete Message deserves a mention alongside it for the opposite reason: it is the exit, and on a scheduled campaign it stays available, so the honest way to run a large GoSMS send is to schedule it and leave the cancel in a person's hands until it fires.
Agent Capabilities
7 actionsAccount
1- Get Organization Detail Returns the current credit balance, the invoicing type of prepaid or postpaid, the currency in CZK or EUR, and the account's configured communication channels with their ids and sender names. The read that runs before a send, and the place a flow discovers which channels exist.
Messages
6- Send SMS Sends a message to a list of phone numbers, immediately or scheduled for later. The direct form, used when the recipients are numbers the flow already holds rather than records in the GoSMS address book.
- Send SMS To Contacts And Groups Sends a message to GoSMS contact groups, saved contacts, and ad-hoc numbers together, so replies and reporting attach to a contact record rather than to a bare number. The right form for anything that expects an answer or needs to be reported on per person.
- Preview Message Prices a message and shows how many SMS parts it becomes, without sending it and without charging for it. The vendor's own dry run, and the cheapest way to settle a cost question before a campaign rather than after.
- Get Message Detail Returns sending status, billing statistics, the recipient breakdown, and the delivery report for a submitted message. The recipient breakdown is where invalid and blocked numbers appear, which is the part of an accepted send that most needs reading.
- Get Message Replies Returns the replies received for a message, grouped by sender number. This only produces anything on a channel with reply receiving enabled, a setting the API does not report, which is why a flow depending on it should have had that confirmed first.
- Delete Message Deletes a message, canceling it before dispatch when it was scheduled. The recall path on a queued campaign, and the reason a large send is better scheduled than sent.
Frequently Asked Questions
What can FlowRunner do with GoSMS?
FlowRunner agents can run Get Organization Detail, Send SMS, and Send SMS To Contacts And Groups in GoSMS, plus 4 more actions.
Does connecting GoSMS to FlowRunner require OAuth?
GoSMS uses a custom authentication method to connect to FlowRunner.
Can GoSMS trigger a FlowRunner workflow automatically?
GoSMS doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with GoSMS
$100 in credits. No card required. Connect in minutes.