Skip to content

SMS Task

Overview

The SMS Task sends text messages to mobile phones. Use it for order confirmations, appointment reminders, delivery notifications, verification codes, alerts, or any time-sensitive communication.

When to use this task:

  • Send order/booking confirmations
  • Appointment reminders
  • Delivery status updates
  • Two-factor authentication codes
  • Payment reminders
  • Emergency alerts
  • Promotional campaigns
  • Follow-up messages

Key Features:

  • Send to single or multiple recipients
  • International number support
  • Message templates
  • Delivery tracking
  • Link shortening
  • Personalization
  • Character count management
  • Scheduled sending via workflow

Quick Start

  1. Add SMS task
  2. Input recipient phone number (E.164 format)
  3. Write message (160 char recommended)
  4. Test with your number
  5. Save

Simple Example:

To: {{task_24001_e164}}
Message: Hi {{task_49001_first_name}}, your order #{{task_46001_order_id}} has been confirmed!

Result: SMS sent to +15551234567

Configuration

Builder fields

The Field column is the label as it appears in the task builder; Key is the name the value is stored under and referenced by.

Field Key Type Default Notes
Client Client ID text –
To (phone number) to text –
Message message textarea –

Recipient Number

Must be in E.164 format: +\[country code\]\[number\]

Examples:

  • US: +15551234567
  • UK: +447911123456
  • South Africa: +27821234567

From Phone Formatter:

To: {{task_24001_e164}}

Static number:

To: +15551234567

Multiple recipients:

To: {{task_24001_e164}}, {{task_24002_e164}}

Message Content

Plain text only (no HTML)

Message: Your order #{{order_id}} shipped! Track: {{tracking_url}}

Character limits:

  • Single SMS: 160 characters
  • Longer messages: Split into multiple (costs more)
  • With Unicode: 70 characters per message

Best practices:

  • Keep under 160 characters
  • Include essential info only
  • Add opt-out instructions for marketing
  • Use shortened URLs for links

Message Templates

Order confirmation:

Hi {{first_name}}! Order {{order_id}} confirmed.
Total: ${{total}}.
Est. delivery: {{delivery_date}}.
Track: {{link}}

Appointment reminder:

Reminder: Appointment tomorrow at {{time}} with {{provider}}.
Reply CONFIRM or call {{phone}} to reschedule.

Delivery notification:

Your package is out for delivery today!
Track: {{tracking_link}}
Questions? {{support_phone}}

Payment reminder:

Payment of ${{amount}} due {{due_date}}.
Pay now: {{payment_link}}
Questions? Reply to this message.

Outputs

Field Type Example Notes
sms_to string +27825550111,+27825550112 The recipients the message was sent to, comma-separated.
sms_count number 2 How many recipients.
sms_body string Your order is ready The message body as sent, after variables were resolved.
run boolean true
run_text string SMS sent successfully. Carries the failure reason when run is false.

Delivery is not confirmed here

These fields report what was submitted to the provider. A rate-limited send is rescheduled and retried automatically rather than failed.

Real-World Examples

Confirm a form submission by text

Form Submission
  └─ Phone Formatter   normalise the number
      └─ SMS           send the confirmation

Remind a client the day before

Client Date Trigger
  └─ Match to Client   client_id: {{task_49001_client_id}}
      └─ SMS           send the reminder

Alert an agent to an urgent message

WhatsApp Message Received
  └─ If Statement   message contains "urgent"
      └─ SMS        notify the agent on duty

SMS Marketing Compliance

Must include:

  1. Opt-out option - "Reply STOP to unsubscribe"
  2. Sender identification - Company name
  3. Purpose - What message is about

Example compliant message:

ACME Shop: Flash sale! 20% off today only.
Shop now: [link]
Reply STOP to opt out. Msg&data rates may apply.

Best Practices

  1. Get consent - Explicit opt-in required
  2. Respect opt-outs - Honor STOP requests immediately
  3. Timing - Don't send late night/early morning
  4. Frequency - Limit to 2-4 per month for marketing
  5. Value - Provide useful information

Opt-Out Handling

Workflow:

  1. Webhook In - SMS reply received
  2. Code Task - Check if reply contains "STOP"
  3. If Task - If opt-out requested
  4. Edit Client - Update opt-out status

Code Task:

const reply = (input.task_46001_body || '').toUpperCase();
const isOptOut = ['STOP', 'UNSUBSCRIBE', 'CANCEL'].some(word => reply.includes(word));

return {
  is_opt_out: isOptOut,
};

Edit Client:

Contact ID: {{task_15001_contact_id}}
Update: custom_sms_opt_out = true
Add Note: Opted out of SMS on {{task_48001_current_date}}

Character Limits & Encoding

Standard SMS (GSM-7)

160 characters per message

Allowed characters:

  • Letters: A-Z, a-z
  • Numbers: 0-9
  • Common symbols: .,!?'"-()@£$¥

Example (140 chars):

Hi John! Your appointment is tomorrow at 2:30 PM at 123 Main St. Reply YES to confirm or NO to reschedule. Questions? Call 555-1234.

Unicode SMS

70 characters per message

Used when message contains:

  • Emojis 😊
  • Special characters: €, ñ, ü
  • Non-Latin scripts: 中文, العربية, עברית

Example (65 chars with emoji):

Great news! 🎉 Your order shipped today! Track: [link]

Multi-Part Messages

Long messages split automatically:

  • 160 chars = 1 SMS
  • 161-306 chars = 2 SMS (153 chars each)
  • 307-459 chars = 3 SMS (153 chars each)

Note: Costs multiply with parts. Keep important info early.

URL Shortening

Long URL:

https://shop.example.com/orders/12345/tracking?customer=john@example.com

Shortened (use URL shortener in Code task):

https://short.link/abc123

In message:

Package shipped! Track: https://short.link/abc123

Best Practices

Message Content

  1. Be concise - Essential info only
  2. Clear action - What should recipient do?
  3. Include name - Personalize when possible
  4. Add context - What is this about?
  5. Provide alternatives - Phone number or email

Timing

  1. Respect time zones - Send during business hours
  2. Consider urgency - Immediate vs scheduled
  3. Frequency limits - Don't spam
  4. Test timing - Find best delivery times
  5. Emergency only - Late night/early morning

Phone Numbers

  1. Always use E.164 - +[country code][number]
  2. Validate before send - Use Phone Formatter
  3. Handle failures - Log invalid numbers
  4. Update records - Remove bounced numbers
  5. Multiple numbers - Try alternate if primary fails

Cost Management

  1. Keep messages short - Under 160 chars
  2. Avoid Unicode - Use standard characters
  3. Batch appropriately - Don't over-send
  4. Track delivery - Monitor success rates
  5. Clean lists - Remove invalid numbers

Troubleshooting

SMS Not Delivered

Check:

  1. Number in E.164 format?
  2. Number valid and active?
  3. Country supported?
  4. Message within limits?
  5. Account has credits?

Debug: Check {{task_3001_status}} field

Invalid Number Error

Issue: "Phone number invalid"

Solutions:

  • Use Phone Formatter task first
  • Verify number includes country code
  • Check number is mobile (not landline)

Message Truncated

Issue: Message cut off

Cause: Exceeded 160 chars

Solutions:

  • Shorten message
  • Remove unnecessary words
  • Use shortened URLs
  • Accept multi-part message cost

Unicode Issues

Issue: Message shows as 70 chars

Cause: Contains Unicode characters

Solutions:

  • Remove emojis
  • Replace special characters
  • Use standard punctuation

High Costs

Issue: SMS costs too high

Check:

  • Messages too long? (multi-part)
  • Sending too frequently?
  • Sending to wrong numbers?
  • Using Unicode unnecessarily?

Optimize:

  • Keep under 160 chars
  • Batch send strategically
  • Clean invalid numbers
  • Use standard characters

Frequently Asked Questions

What countries are supported?

Most countries worldwide. Check with BaseCloud support for specific countries.

Can I send bulk SMS?

Yes, use Loop task to send to multiple recipients. Monitor sending rate.

Can recipients reply?

Yes, replies can trigger Webhook In or dedicated SMS reply trigger.

How much does SMS cost?

Varies by country. US typically $0.01-0.02 per message. International varies.

Can I schedule SMS?

Yes, use Schedule Trigger to send at specific times.

What about MMS (images)?

Check BaseCloud documentation for MMS support availability.

Can I use custom sender ID?

Depends on country. US uses phone number. Some countries allow alphanumeric sender.

How to track delivery?

Check {{task_3001_status}} field. Values: sent, delivered, failed, undelivered.


  • Phone Formatter - Format numbers for SMS
  • Email Task - Alternative communication
  • Loop Task - Send to multiple recipients
  • Schedule Trigger - Schedule SMS campaigns
  • If Task - Conditional SMS sending