FlowRunner
PricingContact
Theme
Start Free

eSIM Access

Utilities & Personal

Connect AI agents to eSIM Access, a global eSIM reseller API. Agents browse the data plan catalog, place orders, provision eSIMs to travelers, and set the webhook URL that reports activation and usage.

13 actions Custom auth available
A travel booking or an assignment record establishes that somebody needs data abroad
List Packages returns the plans available for the destination location code
Get Account Balance confirms the prepaid merchant account can cover the order
Create eSIM Order places the order with a unique transactionId to prevent duplicates
Query eSIMs is polled on the returned orderNo until the ICCID and QR code appear
The traveler receives the QR code and activation instructions before departure
A person approves any revoke or cancel, because only one of the two returns the money

What This Integration Enables

eSIM Access is a wholesale eSIM reseller API, and two facts about it shape every flow built on top. The first is that the account is prepaid: orders draw down a balance you topped up in advance, and Get Account Balance is not a reporting convenience but a precondition. The second is blunter, and the vendor states it plainly: there is no sandbox, orders are live. Whatever a flow does here, it does with real money and real telecom inventory on the first run. Authentication reflects the same seriousness. Every request is signed with HMAC-SHA256 using an access code and an optional distinct secret key, with the RT-AccessCode, RT-Timestamp, RT-RequestID, and RT-Signature headers built for you.

Thirteen actions cover catalog, ordering, lifecycle, and configuration. List Packages returns the plans you can order, filtered by two-letter location code such as US, JP, or TH, or filtered by an ICCID to find top-ups compatible with an eSIM you already sold. Create eSIM Order orders one or more eSIMs of a single package, takes a unique transactionId to prevent duplicates, and returns an orderNo rather than a finished profile: the ICCID and QR code arrive by polling Query eSIMs, usually within a few seconds. Query eSIMs reads profile details by order number or ICCID, including QR code URL, activation code, SM-DP+ status, usage state, and expiry. Query eSIM Usage reports consumption in bytes. Top Up eSIM applies a compatible package to an existing profile. Cancel eSIM, Revoke eSIM, Suspend eSIM, and Unsuspend eSIM are the lifecycle controls, and the difference between the first two is the single most consequential thing on this page. Send SMS to eSIM messages an activated profile where the plan supports it. Set Webhook URL and Get Webhook URL manage the account-wide callback URL.

On that last pair, be clear about what it is and is not. Set Webhook URL configures an endpoint that eSIM Access will call with order, eSIM status, SM-DP+, data-usage, and validity notifications. It is an action that points the vendor at an address of your choosing, and it creates no FlowRunner trigger. This service ships no triggers at all: a flow learns that an order completed or an eSIM activated by polling Query eSIMs and Query eSIM Usage on a schedule. The webhook is also singular and account-wide, so setting a new URL replaces the previous one for every consumer of that account, which is worth knowing before an agent calls it casually.

Without FlowRunner

Roaming arranged by the traveler Everyone solves the same problem separately at an airport, at whatever price is nearest
Provisioning is a manual errand Somebody buys a plan, screenshots a QR code, and emails it to the right person
Unused inventory quietly written off Plans bought for trips that did not happen sit unclaimed with nobody tracking them

With FlowRunner

Data provisioned from the booking The plan is ordered against the trip that caused it, before the traveler lands
The QR code arrives ahead of the flight Activation happens on home wifi rather than in an arrivals hall with no signal
Unused plans are recovered deliberately Cancellation is checked against status while the refund window is still open

Use Case Scenarios

Connectivity provisioned from the trip, not from the airport

A travel booking is approved in the system of record. The agent reads the destination and derives the two-letter location code, calls List Packages to see the plans available there, and selects one against a policy: a daily plan for a short trip with periodNum set to the number of days, a fixed data plan for a longer one. It calls Get Account Balance first, because a prepaid account that has run dry produces a failed order at exactly the moment nobody is watching. Create eSIM Order goes out with a transactionId derived from the booking reference, which is the vendor's own duplicate protection and matters because a retried flow with an auto-generated identifier orders twice. The agent then polls Query eSIMs on the returned orderNo until the ICCID and QR code URL appear, and sends the traveler the QR code through Gmail with instructions to install it before departure. Installing an eSIM requires connectivity, which is the one thing a traveler does not have on arrival.

A data budget that gets noticed before it runs out

On a schedule the agent calls Query eSIM Usage for the profiles it has issued, using their eSIM transaction numbers, and compares consumption in bytes against the plan volume it recorded at ordering. Where a traveler is approaching the limit mid-trip, it calls List Packages with that eSIM's ICCID to find compatible top-up packages, then either applies one with Top Up eSIM under a standing policy or posts the options to the traveler's manager in Slack. This is the read half of the connector earning its place: a data plan that dies silently in a foreign country is a support call, and the usage numbers that would have predicted it were available the whole time.

Suspension as the reversible answer

An employee's device is reported lost, or a contractor's engagement ends mid-plan. The instinct is to revoke. The better first move is Suspend eSIM, which blocks data on an activated profile and is undone by Unsuspend eSIM. The agent takes the reversible action immediately, logs it against the assignment record in Google Sheets, and leaves the irreversible one to a person. If the device turns up, one call restores it. If it does not, the decision to destroy the profile is made deliberately, with the refund arithmetic visible.

Human-in-Loop Highlight

Cancel and Revoke read like synonyms and are opposites in the only dimension that matters. Cancel eSIM cancels an unused eSIM and refunds its cost to your account balance, and it works only while the profile has not been activated, in status RELEASED or GOT_RESOURCE. Revoke eSIM permanently revokes the profile, works on activated eSIMs, and does not refund. There is no sandbox to learn this in. The moment a traveler scans the QR code, the refund window closes and the correct action silently changes, and nothing in the name of either operation tells you which side of that line a given ICCID is on. Now picture the ordinary cleanup job: an agent asked to tidy up eSIMs for cancelled trips, working from a list of order numbers, calling Revoke because it is the one that always succeeds. Every already-activated profile it touches is destroyed with no money back, and every unactivated one it revokes instead of cancelling throws away a refund that was sitting there. The account balance goes down, the operation reports success on all of them, and nobody finds out until somebody reconciles a prepaid balance against a list of trips. So the agent refuses to choose between them on its own. Before either call it gathers the facts the API will give it: Query eSIMs on the ICCID or order number for the current status, SM-DP+ state, usage state, and expiry, Query eSIM Usage for whether any data has actually moved, and Get Account Balance for what the account holds now. Then it posts to the travel or finance owner in Slack: "3 eSIMs on cancelled trips. Two are RELEASED with zero usage, so Cancel refunds them to the merchant balance. One is activated with 1.2 GB used, so Cancel is unavailable and Revoke would destroy it with no refund. Current balance is 412.60 USD. Cancel the two, and for the activated one: revoke it, suspend it in case the trip is rebooked, or leave it to expire?" A person answers, and the agent runs exactly that. Suspend and Unsuspend stay ungated in both directions because they are reversible and cost nothing to get wrong. Set Webhook URL sits behind a gate of its own for an unrelated reason: it is account-wide and singular, so an agent setting it silently repoints every other consumer of that merchant account at a new address. Human-in-the-loop orchestration here is not about approving spend. It is about making sure the machine never picks the wrong one of two near-identical verbs when only one of them gives the money back.

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

13 actions

Account and Catalog

2
  • Get Account Balance Retrieves the current prepaid balance of your eSIM Access merchant account. The raw balance is returned in the API's price format (multiply by 10000), and the action also returns balanceUsd as a convenience. Worth checking before ordering, since the account is prepaid and a dry balance fails the order.
  • List Packages Lists available eSIM data packages you can order. Filter by two-letter location code (for example US, JP, TH) or pass an ICCID to find top-up packages compatible with an existing eSIM. Prices are in the API price format (multiply by 10000 for the currency amount) and volumes are in bytes.

Ordering and Provisioning

4
  • Create eSIM Order Orders one or more eSIMs of a single package. Provide a unique transactionId per order to prevent duplicates, which matters on any flow that might retry, since one is generated automatically if omitted. For daily plans, set periodNum to the number of days. Returns the orderNo; poll Query eSIMs with it to obtain the ICCID and QR code, usually ready within a few seconds.
  • Query eSIMs Retrieves eSIM profile details by order number or by ICCID, including the ICCID, QR code URL, activation code, SM-DP+ status, usage state, expiry, and assigned packages. Supports pagination. This is the action that tells a flow whether a profile has been activated, which decides whether a refund is still possible.
  • Query eSIM Usage Retrieves data usage for one or more eSIMs identified by their eSIM transaction numbers (esimTranNo). Volumes are reported in bytes. The basis for any top-up or budget alert, and the evidence that a profile is genuinely in use.
  • Top Up eSIM Applies a top-up package to an existing eSIM identified by its eSIM transaction number (esimTranNo). Use List Packages with the eSIM's ICCID to find compatible top-up packages. Provide a unique transactionId, auto-generated if omitted.

Lifecycle

5
  • Cancel eSIM Cancels an unused eSIM and refunds its cost to your account balance. Only works while the eSIM is not yet activated, in status RELEASED or GOT_RESOURCE. This is the action that returns the money, and its availability is decided by a status field rather than by intent.
  • Revoke eSIM Permanently revokes an eSIM profile. Works on activated eSIMs and does not refund. Use as a fallback when Cancel is not possible, and never as the default choice on a batch, because on an unactivated profile it throws away a refund that Cancel would have returned.
  • Suspend eSIM Temporarily suspends an activated eSIM profile, blocking data until it is unsuspended. Only works on activated eSIMs. The reversible answer to a lost device or a paused engagement.
  • Unsuspend eSIM Re-enables a previously suspended eSIM profile so it can use data again.
  • Send SMS to eSIM Sends an SMS message to an activated eSIM profile, when the underlying plan supports messaging. The eSIM is identified by its ICCID.

Webhook Configuration

2
  • Set Webhook URL Configures the single account-wide webhook URL that eSIM Access calls with order, eSIM status, SM-DP+, data-usage, and validity notifications. Setting a new URL replaces the previous one for the whole account. This points the vendor at an endpoint you choose and creates no trigger in this service.
  • Get Webhook URL Retrieves the currently configured account-wide webhook URL. Call this before setting a new one, so a flow knows what it is about to replace.

Frequently Asked Questions

What can FlowRunner do with eSIM Access?

FlowRunner agents can run Get Account Balance, List Packages, and Create eSIM Order in eSIM Access, plus 10 more actions.

Does connecting eSIM Access to FlowRunner require OAuth?

eSIM Access uses a custom authentication method to connect to FlowRunner.

Can eSIM Access trigger a FlowRunner workflow automatically?

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

Start building with eSIM Access

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