Send iMessage/SMS
Send a message via iMessage or SMS. Attempts iMessage delivery first (blue bubbles, read receipts) and falls back to SMS. Supports media attachments and iMessage send style effects. Ideal for: user notifications, alerts, OTP delivery, customer outreach, workflow status updates.
Catalog action Messaging sms
Send a message via iMessage or SMS. Attempts iMessage delivery first (blue bubbles, read receipts) and falls back to SMS. Supports media attachments and iMessage send style effects. Ideal for: user notifications, alerts, OTP delivery, customer outreach, workflow status updates.
At a Glance
| Field | Value |
|---|---|
| Action ID | sms-send-message |
| Category | Messaging |
| Connector | sms |
| Requires gas | No |
| Funds movement | None declared |
| Tags | messaging, sms, imessage, notification, write |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
content | string | Yes | Message text to send. iMessage supports long messages; SMS fallback is limited to 1600 characters. |
mediaUrl | string | No | URL of a media file to attach (image, video, etc.). Must be publicly accessible. |
sendStyle | string | No | iMessage send style effect. Only applies when delivered via iMessage, ignored for SMS. |
statusCallbackUrl | string | No | Webhook URL to receive message status updates (QUEUED, SENT, DELIVERED, ERROR). |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
messageHandle | string | Yes | Message identifier for tracking |
status | string | Yes | Message delivery status (QUEUED, SENT, DELIVERED) |
messageType | string | No | Delivery channel used: 'iMessage' or 'SMS' |
Examples
json{ "type": "sms-send-message", "payload": { "content": "example-content" }, "children": [], "connector": { "type": "sms", "id": "conn_sms" }}
bashcurl -X POST "https://api.b3os.org/v1/actions/sms-send-message/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "content": "example-content" }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
