VirtualSMS Trigger
AI-generatedSummary
Polls the VirtualSMS API on a schedule and starts the workflow when an order newly completes (SMS received), an order expires, or the account balance drops below a threshold.
Inputs
- Poll Times — One or more schedules for polling: every minute, hour, day, week, month, every X minutes/hours, or a custom cron expression. Hour, minute, day of month, weekday, value and unit appear depending on mode. Defaults to every minute.
- Event (required) — Which event to watch: Order Received SMS (status 'completed'), Order Expired (status 'expired'), or Low Balance. Default is Order Received SMS.
- List Page Size — Shown for the SMS and expired events. Number of recent orders requested per poll (10–500, default 100). Orders outside this window are not seen.
- Balance Threshold (USD) — Shown for Low Balance. Fires when the balance falls below this value (default 5).
Output shape
For order events, one item per newly matching order, with the raw order object from GET /api/v1/customer/orders as JSON. For Low Balance, a single item with balance, threshold, currency ('USD') and crossed_at (ISO timestamp). If nothing is new, the workflow does not trigger.
Order events remember up to the last 1000 order IDs seen per event type in workflow static data, so each order fires once. Orders already matching the status on the first poll will fire then. Low Balance fires once on crossing below the threshold and re-arms only after the balance returns to or above it. Requires VirtualSMS API credentials. Static data persists only in active workflows, so manual test runs may behave differently.
Examples
Example 1: Forward received verification codes to another system as soon as an order completes.
Event = Order Received SMS; Poll Times = Every Minute; List Page Size = 100.
Example 2: Alert the team in Slack when the account balance runs low.
Event = Low Balance; Balance Threshold = 10; Poll Times = Every X, 30 minutes.
Example 3: Log orders that expired without receiving an SMS.
Event = Order Expired; Poll Times = Every Hour; List Page Size = 200.