Skip to content

SMS Send

Overview

The sms_send node sends an SMS message to a specified phone number using a configured messaging provider (e.g. Twilio). It accepts a recipient number and message body at runtime, making it suitable for battle result notifications, judge alerts, or workflow status updates. The node requires a provider credential to be configured; if delivery fails, execution routes to the error output with a structured error payload. Message body supports template interpolation from upstream node outputs.

Configuration

FieldTypeRequiredDescription
tostringYesRecipient phone number in E.164 format (e.g. +14155552671). Supports template expressions such as {{trigger.phone}}.
bodystringYesText content of the SMS message. Supports template interpolation from upstream node outputs. Max 1600 characters (multi-segment SMS).
fromstringNoSender phone number or alphanumeric sender ID in E.164 format. Overrides the default number configured on the credential. Must be a number owned by the connected provider account.
credentialIdstringYesID of the stored SMS provider credential (e.g. a Twilio Account SID / Auth Token pair) used to authenticate the send request.
providerenumYesSMS provider to route through. Accepted values: twilio, vonage, sinch.
stopOnErrorbooleanNoWhen true, a delivery failure halts the workflow. When false (default), failures route to the error output port and execution continues.

Inputs

PortTypeDescription
inputobjectTrigger input that activates the node. May carry template variables (e.g. phone number, battle result data) referenced in the to or body config fields.

Outputs

PortTypeDescription
outputobjectEmitted on successful delivery. Carries the provider message ID and delivery status (e.g. { messageId: 'SM...', status: 'queued' }).
errorobjectEmitted when the send request fails (invalid number, provider error, credential failure). Carries { code, message, providerError }.

Example

json
{
  "nodeType": "sms_send",
  "config": {
    "provider": "twilio",
    "credentialId": "cred_twilio_prod_01",
    "to": "{{trigger.phone}}",
    "body": "Your battle '{{battle.title}}' has ended. Final score: {{battle.score}}. View results at {{battle.url}}",
    "stopOnError": false
  }
}