inMobile
MessagingConnect AI agents to inMobile, a Danish gateway for SMS, RCS, and transactional email. Agents send template-based messages, manage recipient lists and blacklists, and retrieve status reports and incoming messages so messaging compliance and delivery stay visible.
What This Integration Enables
inMobile is a Danish gateway carrying SMS, RCS, and transactional email under one key, with recipient lists, a blacklist, message templates, and media file storage behind them. The action count is broad, but the shape underneath is narrower and more interesting than a channel list suggests: this is a platform organized around what you must be able to prove and what you must be able to permanently remove. The blacklist is addressable by number as well as by entry id, so a suppression can be checked without knowing an internal identifier. Access can be restricted by IP, with inMobile publishing the ranges its own callbacks originate from. And Create GDPR Deletion Request exists as a first-class operation rather than as a support ticket, which is a design choice most gateways in this category have not made.
That compliance posture changes how the sending surface should be used. Status reports, read reports, inbound messages, and email events are destructive reads on this platform: each item is returned exactly once and is removed from the queue on retrieval. Whatever pulls them holds the only copy, so a flow needs to write them somewhere durable before it does anything clever with them, and two flows must never poll the same queue. Sending is billed per message part, and Get SMS Status Reports reports the billed part count, which makes reconciliation a real read rather than an estimate. Cancel SMS Messages gives a recall path on queued sends. Templates exist for both SMS and email, so the wording can live where the people who own the wording work while the dispatch decision lives in the flow.
The RCS surface is the newest part and has its own preconditions worth designing around. RCS requires an agent set up and launched in the inMobile dashboard, the message traffic type must match the agent use case, and MultiUse agents reject messages that omit it. Media on cards and file messages must first be uploaded with Upload File, because media hosted anywhere else is rejected. Get RCS Capabilities is what makes the channel usable in practice: it reports whether a given handset can receive RCS, so a flow can send a card where the recipient will see one and fall back to SMS where they will not, per recipient rather than per campaign. There are no triggers on this connector, because inMobile has no webhook subscription resource a flow could create or delete, so the status and inbound reads are used as scheduled actions instead.
Without FlowRunner
With FlowRunner
Use Case Scenarios
An erasure request handled in two stages instead of one
A customer writes in asking to be removed. The agent extracts the number, runs Parse Phone Numbers so the search happens on the form inMobile stores rather than the form the customer typed, and looks the person up with Get Recipient By Number. It checks Get Blacklist Entry By Number to see whether they are already suppressed, and if not, it calls Create Blacklist Entry immediately, because stopping contact is reversible and delaying it serves nobody. Then it assembles the case: which lists the recipient appears on, what the platform holds about them, and the original request text. That goes to the data owner. Create GDPR Deletion Request, the operation that permanently removes the records, waits for their confirmation. The split is the point. The reversible half runs at machine speed and the irreversible half runs at human speed.
RCS where the handset supports it, SMS everywhere else
A retailer wants richer order updates. The agent reads Get RCS Agents to confirm a launched agent exists and Get RCS Capabilities per recipient to find out who can actually receive RCS. Those recipients get Send RCS Standalone Card with the order summary, or Send RCS Carousel for multi-item orders, with the imagery placed through Upload File beforehand because externally hosted media is rejected. Everyone else gets Send SMS Using Template with the same information in plain text. Afterward the reconciliation walks both channels: Get RCS Status Reports and Get RCS Read Reports on one side, Get SMS Status Reports on the other, with the billed part count from the SMS side landing in Google Sheets next to the RCS delivery rate. That comparison is what tells a team whether the richer channel is paying for itself.
Keeping lists in step with the system of record
The recipient lists in inMobile drift from the shop system the moment anyone edits either one. On a schedule, the agent reads Get Lists and Get Recipients, compares against customers in WooCommerce, and reconciles with Create Or Update Recipient By Number, which is the idempotent form that does not need an internal id. Departures are handled with Delete Recipient By Number. What the agent will not do on its own is call Delete All Recipients, which empties an entire list in one operation, or Delete List, which removes the list other flows are still targeting. When the reconciliation suggests a list should be emptied, that is almost always a sign the comparison is wrong rather than that the audience left, so it becomes an automation exception with the before and after counts attached and a person decides.
Human-in-Loop Highlight
The gate on inMobile is Create GDPR Deletion Request, and the reason it is the gate is worth stating precisely, because it is not the obvious one. The question is never whether to honor a genuine erasure request. That decision was made by the person who sent it, and delaying it while an approval queue moves is its own kind of failure. The question is whether the agent has correctly identified the person. Phone numbers arrive in support tickets in a dozen formats, written by customers who transpose digits, quoted by staff from memory, sometimes belonging to a household rather than an individual. A deletion request executed against the wrong normalized number destroys another customer's records permanently, and afterward there is no residue to notice the mistake with. A record that was erased and a record that never existed look exactly the same.
So the agent brings the identification work and stops at the write. It has already normalized the number with Parse Phone Numbers, already resolved it with Get Recipient By Number, already suppressed contact with Create Blacklist Entry so nothing further reaches this person while the case is open. What it posts into Slack is the match, not the request: "Erasure request received 2026-08-12 from ticket 44120, quoting 0045 20 11 55 08. Parsed to +4520115508. That resolves to recipient Marie Holst, on lists Newsletter DK and Loyalty, created 2024-03-02, last messaged 2026-07-29. Number is now blacklisted, so no further messages go out either way. Confirm this is the right person before I run the permanent deletion?" The data owner recognizes the name or does not, and their answer runs the operation.
That is the digital andon cord placed where it belongs under Orchestration as a Service: not in front of the reversible act, which the agent should just do, but in front of the one write that cannot be inspected afterward. Two other operations earn the same treatment on their own merits. Delete All Recipients empties a list in a single call, and because the platform holds no version of the list before that call, restoring it means re-importing from whatever external system still has it. Update RCS Agent changes the configuration of an agent that carriers have already launched, which means it changes how a brand appears in every RCS conversation it is having, and that is a brand decision wearing an API call's clothes.
Agent Capabilities
53 actionsSMS
6- Send SMS Sends a single SMS with an optional status callback URL. The transactional workhorse for confirmations, reminders, and codes.
- Send Bulk SMS Sends up to two hundred and fifty messages in one call. The batching form, and the right one for a notification run rather than a loop of single sends.
- Send SMS Using Template Sends an SMS built from a stored template. Keeps the wording under the control of whoever owns the wording, while the flow owns the timing and the recipient.
- Cancel SMS Messages Cancels queued messages before delivery. The recall path, and the reason a scheduled send is safer than an immediate one when volume is involved.
- Get SMS Status Reports Returns delivery status reports, including the billed part count. A destructive read: each report is returned exactly once and removed from the queue, so persist before processing.
- Get Incoming SMS Messages Returns inbound SMS. Also a destructive read, and the entry point for handling replies and opt-out language.
SMS Templates
2- Get SMS Templates Returns the account's SMS templates. The inventory a flow checks before binding values to one.
- Get SMS Template Returns one SMS template. Used to confirm the exact placeholder shape before a send is composed against it.
- Send Email Sends transactional email with attachments and tracking from the same account and key as the messaging channels. Useful when a notification needs to exist in two places and be reconciled as one event.
- Send Email Using Template Sends email built from a stored template. Same separation of wording from timing as the SMS template path.
- Get Email Events Returns email events. A destructive read, so whichever flow drains it owns the only copy of the engagement data.
Email Templates
2- Get Email Templates Returns the account's email templates. The inventory read behind template-driven sends.
- Get Email Template Returns one email template. Used to verify content and placeholders before dispatch.
Lists
5- Get Lists Returns recipient lists. The starting point for audience resolution and for any synchronization against an external system.
- Create List Creates a recipient list. Used when a new segment, campaign, or tenant needs its own audience container.
- Get List Returns one list. The read that confirms a list id refers to what a flow thinks it does.
- Update List Updates a list's configuration. Renaming a list other flows reference is worth coordinating, since the id is what they hold.
- Delete List Deletes a list. Any flow still targeting it stops reaching anyone, quietly, which makes this a change to coordinate rather than to automate.
Recipients
9- Get Recipients Returns recipients on a list, paged. The read behind audience sizing and reconciliation against a system of record.
- Create Recipient Creates a recipient on a list. The direct form when the flow is generating a new contact rather than syncing one.
- Get Recipient Returns one recipient by internal id. Used when a prior call already returned the id.
- Update Recipient Updates a recipient by internal id. The precise form, for when the record has already been resolved.
- Delete Recipient Deletes a recipient by internal id. Removing a recipient is not the same as suppressing the number, and only a blacklist entry stops future contact.
- Get Recipient By Number Returns a recipient looked up by phone number. The lookup that matters for inbound requests, where a number is all anyone has.
- Create Or Update Recipient By Number Creates or updates a recipient keyed on their phone number. The idempotent form, and the right one for a synchronization loop that should not need to track internal ids.
- Delete Recipient By Number Deletes a recipient by phone number. The counterpart for a sync loop handling departures.
- Delete All Recipients Empties an entire list in one call. The platform holds no prior version, so restoring means re-importing from whatever external system still has the data.
Blacklist
6- Get Blacklist Entries Returns the suppression list, paged. The precondition read before any campaign is sized or sent.
- Create Blacklist Entry Adds a number to the blacklist. This is reversible and should run immediately on an opt-out request, without waiting for anybody to approve honoring it.
- Get Blacklist Entry Returns one blacklist entry by id. Used when the entry id is already known from a prior call.
- Delete Blacklist Entry Removes a suppression by entry id, putting the number back within reach of future sends. The direction that deserves a person, unlike the direction that adds one.
- Get Blacklist Entry By Number Checks whether a specific number is suppressed. The per-recipient guard, and the first read in any inbound request handling.
- Delete Blacklist Entry By Number Removes a suppression by phone number. Same reasoning as the id form: adding a suppression is routine, removing one is a decision.
Files
8- Get Folders Returns media folders. The container layer for anything RCS will render.
- Create Folder Creates a media folder. Used to keep campaign assets separated rather than accumulating in one place.
- Get Folder Returns one folder. The read that resolves a folder name to the id an upload needs.
- Delete Folder Deletes a folder. Worth checking what still references its contents, since RCS messages reject externally hosted media and have nowhere else to point.
- Upload File Uploads media into a folder. RCS cards and file messages require media that lives here, so this is a precondition rather than a convenience.
- Get Files Returns files in a folder, paged. The inventory read behind asset selection.
- Get File Returns one file. Used to confirm an asset exists before a card is composed around it.
- Delete File Deletes a file. Any RCS message still referencing it will fail rather than degrade, so removal is worth sequencing after the campaigns that use it have ended.
RCS
10- Get RCS Agents Returns the account's provisioned RCS agents. The check that a launched agent exists before any RCS path is attempted.
- Update RCS Agent Updates a launched RCS agent's configuration. This changes how the brand appears in every RCS conversation it is having, which makes it a brand decision rather than a settings change.
- Get RCS Capabilities Reports whether a handset can receive RCS. The read that lets a flow decide per recipient instead of committing a whole campaign to one channel.
- Send RCS Text Message Sends a plain RCS text message through a launched agent. The lowest-risk way to start using the channel, with SMS as the fallback for handsets that cannot take it.
- Send RCS File Message Sends a file through RCS. The media must have been uploaded first, since inMobile rejects externally hosted URLs.
- Send RCS Standalone Card Sends a single rich card with media, text, and actions. The format that makes an order update look like a product rather than a paragraph.
- Send RCS Carousel Sends multiple cards in a scrollable carousel. Used for multi-item orders and option sets rather than single announcements.
- Get RCS Status Reports Returns RCS delivery status reports. A destructive read, returned once and removed from the queue.
- Get RCS Read Reports Returns RCS read receipts. Also a destructive read, and the signal that separates delivered from actually seen.
- Get Incoming RCS Messages Returns inbound RCS messages. Destructive read, and the entry point for two-way conversations on the rich channel.
Tools
2- Parse Phone Numbers Normalizes phone numbers into the form the platform indexes on. Running this before any lookup or write is what stops a formatting difference from aiming an operation at the wrong record.
- Create GDPR Deletion Request Submits a permanent deletion request for a data subject's records. It cannot be undone and leaves nothing behind to audit the decision against, which is why the identification work belongs to the agent and the confirmation belongs to a person.
Frequently Asked Questions
What can FlowRunner do with inMobile?
FlowRunner agents can run Send SMS, Send Bulk SMS, and Send SMS Using Template in inMobile, plus 50 more actions.
Does connecting inMobile to FlowRunner require OAuth?
No. inMobile connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.
Can inMobile trigger a FlowRunner workflow automatically?
inMobile doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with inMobile
$100 in credits. No card required. Connect in minutes.