SMS Zasilam
MessagingConnect AI agents to SMS Zasilam, a Czech SMS gateway. Agents send single and bulk text messages, read inbound and outbound history, reconstruct two way conversations, and inspect or purge the outgoing queue so Czech customer messaging stays responsive and under control.
What This Integration Enables
SMS Zasilam is not a bulk messaging aggregator, and pretending otherwise is the fastest way to design the wrong flow on it. The Czech vendor, Expectum, sells SIM hosting: you post a physical SIM card to Prague, they install it in a GSM modem in their data center, and your messages leave over your own mobile operator contract from your own number. Billing is a flat monthly hosting fee rather than a per message credit, so the marginal cost of a message is whatever your operator tariff already charges you. That commercial model is the whole buying reason, and it is a good one for any Czech operation whose customers reply to texts. There is no alphanumeric sender ID on this product and no way to add one, which sounds like a limitation until you notice what it buys. The recipient always sees a real, working mobile number, so an inbound answer arrives somewhere a flow can read it instead of vanishing into a shortcode.
The second thing that shapes every design here is physical. Throughput is a modem's, not a platform's, at ten messages a minute on the 2G tier and thirty on the 4G tier, so a bulk submission is a queue that drains over several minutes rather than a dispatch that completes. That is why two of the eight actions are about the queue itself, and why a backlog after a batch is normal rather than alarming. The vendor also reports failures with an HTTP 200 and an error body, so this connector inspects the body as well as the status and raises the mismatch as an automation exception instead of letting a flow carry on as though a customer had been texted. There are no triggers, deliberately: the vendor does operate inbound and failure webhooks, but the URL is chosen by hand in the web administration with a single global slot per event kind and no subscription route, so a trigger could only ever overwrite whatever endpoint the account already depends on. Get Received Messages and Get Conversation are the supported polling substitutes.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Appointment reminders that people actually answer
A Czech services business sends next day reminders and asks recipients to confirm or reschedule. An agent reads tomorrow's bookings from Google Sheets or the practice system, composes one message per person, and submits them with Send Bulk SMS. Because the message leaves from the hosted SIM's own number, a customer who replies with a single word is replying to a number the flow can read. The next morning the agent calls Get Received Messages, classifies the short confirmations, and writes the reschedule requests back as tasks in Notion. Anything that is not a clean yes or no, a message referring to a conversation that happened by phone, or a complaint attached to the reminder, goes to a person with the outbound text and the reply shown together.
A batch caught mid drain
An operations team submits a hundred delivery notifications and then discovers the upstream export was built from yesterday's manifest. On a conventional gateway that batch is already gone. Here it is sitting on a modem that has sent perhaps twenty of them. Get Outgoing Queue returns exactly what is still waiting, including messages that were scheduled hours ago for later in the week, and Purge Outgoing Queue is the abort. The agent assembles the evidence, states plainly what the purge would destroy beyond the bad batch, and hands the decision to whoever owns the schedule. The alternative, letting eighty wrong notifications finish sending because nobody wanted to touch the queue, is the expensive option.
Reconstructing a thread before a human picks it up
Support wants context before answering. Get Conversation returns the sent and received messages for one number interleaved in the order they occurred, which is the difference between handing an agent a fragment and handing them the exchange. The flow pulls that thread, attaches the matching order from Shopify, and posts both into Slack as one message. Get Message Templates supplies the reusable wording the team already approved in the web administration, so the reply that goes back out is the wording the business signed off on rather than something a model composed on the spot.
Human-in-Loop Highlight
The gate on SMS Zasilam sits on Purge Outgoing Queue, and it exists because the API is missing an option the vendor's own web interface has. In the administration screen, clearing the queue offers a checkbox to keep scheduled messages. The REST route exposes no such parameter. So the only abort available to an agent is total: every message still waiting goes, including the ones somebody deliberately scheduled for Thursday morning and the ones a different flow queued an hour ago. Deletion is irreversible, and because the modem drains at a fixed rate the queue at any given moment is a mixture, not a batch. There is no way to target a subset and no way to put back what was discarded.
That is why an agent that detects a bad upstream export stops rather than purging. It calls Get Outgoing Queue first, and into Slack it says: "The manifest export was stale, so 78 of the 100 delivery notifications submitted at 09:14 are still queued and wrong. Purge Outgoing Queue is the only abort and it clears the whole queue. That would also destroy 41 scheduled messages that are not part of this batch, including the Thursday 08:00 service reminders. Purge everything, or let the bad batch finish and send corrections?" A person who knows what Thursday's reminders are worth answers that in under a minute. An agent optimizing for the error it can see would have destroyed the messages it could not.
This is the digital andon cord applied to a genuinely one way operation, and it is what Orchestration as a Service means in practice: the agent does the assembly, the reading, the classification and the composing, and the single irreversible act stays with the person who owns the consequence. Note what the gate is deliberately not. It is not an approval on the message copy, which the templates already settled, and it is not a spend approval, because on a flat monthly hosting fee the marginal message costs the operator tariff and nothing more. The judgment being asked for is about collateral damage to work nobody in this flow scheduled, which is exactly the kind of question a person can answer instantly and an agent cannot answer at all.
Agent Capabilities
8 actionsMessaging
2- Send SMS Sends one message through the hosted SIM and optionally holds it until a given date and time. There is no sender parameter, because SIM hosting cannot present an alphanumeric sender ID and the recipient always sees the hosted SIM's own number. Text segments at 153 characters, or 66 when Unicode SMS is enabled on the account, and delivery is restricted to Czech numbers unless the account holder has asked the vendor to open other countries.
- Send Bulk SMS Submits up to 100 messages in one request, each with its own recipient, text and optional send time. Oversized input is rejected before any request is issued, so a batch is never partially sent, and a hole in a mapped array is reported by row rather than posted alongside the real messages. Everything queues and then drains at the modem's rate, so a full batch is delivered over minutes rather than instantly.
Messages
3- Get Received Messages Returns the inbound messages on the hosted SIM, newest first, optionally narrowed to one counterparty number and paged by a zero based offset. This is the polling substitute for the inbound trigger the vendor does not offer a subscription route for, and it is what makes a reply readable by a flow rather than only by a person.
- Get Sent Messages Returns the outbound messages, optionally narrowed to one recipient. Each carries its own delivery state, and the vendor distinguishes a message that left the SIM for the operator network from one the operator confirmed on a handset. Confirmations do not arrive for every message, so an absent delivered state is not evidence of failure and should not be treated as one.
- Get Conversation Returns the sent and received messages exchanged with one number, interleaved in the order they occurred. The phone number is mandatory and the gateway rejects the call without it. This is the view to hand a person or an AI step when the question is what happened with this customer rather than what happened to this message.
Queue
2- Get Outgoing Queue Returns the messages still waiting to leave the hosted SIM, including scheduled ones that are not yet due. A backlog here is normal after a bulk submission and only signals a problem when it stops shrinking. It is also the read that has to happen before anyone considers the purge, because it is the only way to see what else would be destroyed.
- Purge Outgoing Queue Deletes every message still waiting in the outgoing queue so that none of them is sent. This is irreversible and applies to the whole queue: the route exposes no parameter to exclude scheduled messages or to target a subset, even though the web administration offers exactly that option. Messages that have already left the SIM are unaffected.
Templates
1- Get Message Templates Returns the reusable message templates saved on the account. Templates are created and edited in the web administration and the API is read only for them, which makes this the way a flow sends wording the business has already approved rather than wording composed at run time.
Frequently Asked Questions
What can FlowRunner do with SMS Zasilam?
FlowRunner agents can run Send SMS, Send Bulk SMS, and Get Received Messages in SMS Zasilam, plus 5 more actions.
Does connecting SMS Zasilam to FlowRunner require OAuth?
No. SMS Zasilam connects to FlowRunner with an API key, no OAuth flow required.
Can SMS Zasilam trigger a FlowRunner workflow automatically?
SMS Zasilam doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with SMS Zasilam
$100 in credits. No card required. Connect in minutes.