Events

The four events and the shape of what you receive in each one.

SMS received

Fires when the Android device receives an SMS. This is the basis of chatbots and auto-replies.

json
{
  "event": "sms.received",
  "timestamp": "2026-08-14T10:30:45.123Z",
  "workspaceId": "workspace_abc123",
  "data": {
    "message": {
      "id": "msg_01H8X",
      "from": "+351912345678",
      "body": "Thursday morning, if possible.",
      "deviceId": "dev_oppo_cph2577"
    }
  }
}

SMS sent

Fires when the device hands the message to the mobile network. Sent is not the same as delivered.

SMS delivered

Fires when the carrier confirms delivery to the recipient. This is the event that really confirms the message arrived.

SMS failed

Fires when the send fails. It always carries the reason, and it is the reason that lets you act: an invalid number is fixed on the contact, no credit is fixed on the account, rejected by the carrier is fixed by changing the sender.

json
{
  "event": "sms.failed",
  "timestamp": "2026-08-14T10:31:15.789Z",
  "data": {
    "message": { "id": "msg_01H8Y", "to": "+351967880231" },
    "error": { "code": "invalid_number", "message": "invalid number" }
  }
}