Skip to main content

Service Task — Send SMS 📱

Sends an SMS text message via a configured SMS provider.

Node type: serviceTask (subtype: Send SMS) Category: Integration Actor: serviceTask (2 threads)


Description

The SMS Service Task sends text messages via Twilio, Vonage, or Amazon SNS. Phone numbers and message body support {varName} variable substitution for dynamic personalization.


Properties

PropertyTypeRequiredDescription
smsConnectionIdstringYesID of the SMS integration
toNumbertextYesRecipient phone number in E.164 format (e.g., +15551234567). Supports {varName}
messagetextareaYesSMS message body (max 1600 chars). Supports {varName}

Inputs

toNumber: {customerPhone}
message: Hi {customerName}, your order #{orderId} has shipped! Track at: {trackingUrl}

Outputs

VariableTypeDescription
{smsSent}booleantrue if the SMS was dispatched successfully
{smsSid}stringProvider message SID for tracking (Twilio)

Example

{
"nodeId": "send-sms-1",
"name": "Send Appointment Reminder",
"nodeType": "serviceTask",
"properties": {
"smsConnectionId": "int_twilio_prod",
"toNumber": "{patientPhone}",
"message": "Reminder: Your appointment with Dr. {doctorName} is tomorrow at {appointmentTime}. Reply CANCEL to cancel."
},
"timeout": {
"duration": 15,
"durationUom": "SECONDS",
"action": "FAIL"
}
}

Connections

ConditionConnection
SMS dispatchedsuccessFlow or sequenceFlow
Send failederrorFlow
TimeouttimeoutFlow

Phone Number Format

All phone numbers must be in E.164 format: + followed by country code and number, no spaces or dashes.

FormatValid?
+15551234567✅ Valid
+44 20 7946 0958❌ Invalid (spaces)
5551234567❌ Invalid (no country code)
(555) 123-4567❌ Invalid (formatted)

If your workflow receives phone numbers in other formats, use a Script Task to normalize them before the SMS node.


Supported SMS Providers

ProviderNotes
TwilioIndustry standard, global coverage, detailed delivery receipts
VonageGlobal reach, competitive pricing
Amazon SNSAWS-native, cost-effective for AWS deployments

Configure the from-number and credentials in the SMS Integration.


Character Limits

EncodingMax per segmentNotes
GSM-7 (standard ASCII)160 charsMost Latin text
UCS-2 (Unicode/emoji)70 charsNon-Latin scripts, emoji
Multi-segmentUp to 1600 charsBilled as multiple SMS messages

Variable substitution happens before sending — ensure the final message does not exceed 1600 characters.


Best Practices

  • Validate phone numbers before sending — use If/Else to check {customerPhone} is non-null
  • Keep messages under 160 characters to avoid multi-segment billing
  • Always connect an errorFlow to handle invalid numbers or provider errors
  • Include opt-out instructions for marketing messages per carrier regulations
  • For appointment reminders and notifications, set up a scheduled trigger rather than triggering on every event