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

[SCREENSHOT NEEDED: SMS task configuration showing recipient, message, and delivery options]

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

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.

Output Fields

Field Description Example
task_3001_sent Successfully sent true/false
task_3001_message_id SMS provider ID sm_abc123xyz
task_3001_to Recipient number +15551234567
task_3001_segments Number of SMS parts 1
task_3001_status Delivery status sent/delivered/failed

Real-World Examples

Example 1: Order Confirmation SMS

Workflow: 1. CRM Trigger - Order created 2. Phone Formatter - Format customer phone 3. Formatter - Format currency 4. SMS - Send confirmation

Format Phone:

Input: {{task_47001_phone}}
Country: US
Output: {{task_24001_e164}}

Format Total:

Type: Currency
Input: {{task_47001_custom_order_total}}
Output: {{task_6001_formatted}}

SMS:

To: {{task_24001_e164}}
Message: Hi {{task_47001_first_name}}! Your order #{{task_47001_custom_order_id}} is confirmed. Total: {{task_6001_formatted}}. Thank you for your purchase!

Example 2: Appointment Reminder System

Workflow: 1. Schedule Trigger - Daily at 9 AM 2. MySQL Query - Get appointments for tomorrow 3. Loop - For each appointment 4. Phone Formatter - Format phone 5. Date Formatter - Format appointment time 6. SMS - Send reminder

MySQL Query:

SELECT * FROM appointments
WHERE appointment_date = DATE_ADD(CURDATE(), INTERVAL 1 DAY)
  AND reminder_sent = 0

Loop through results

Format Phone:

Input: {{task_29001_phone}}
Output: {{task_24001_e164}}

Format Time:

Input: {{task_29001_appointment_time}}
Format: h:mm A
Output: {{task_14001_formatted}} (e.g., "2:30 PM")

SMS:

To: {{task_24001_e164}}
Message: Appointment reminder: Tomorrow at {{task_14001_formatted}} with Dr. {{task_29001_provider_name}}. Location: {{task_29001_location}}. Reply YES to confirm or NO to reschedule.

Example 3: Delivery Status Updates

Workflow: 1. Webhook In - Shipping status update 2. Match to Client - Find customer 3. If Task - Check if status = "out for delivery" 4. Phone Formatter - Format phone 5. SMS - Send update

If Task:

Condition: {{task_46001_status}} = "out_for_delivery"
True: Send SMS notification

SMS:

To: {{task_24001_e164}}
Message: Great news! Your package is out for delivery today. Tracking #{{task_46001_tracking_number}}. Track: {{task_46001_tracking_url}}

Example 4: Payment Reminder Campaign

Workflow: 1. Schedule Trigger - Weekly 2. MySQL Query - Get overdue invoices 3. Loop - For each customer 4. Date Formatter - Calculate days overdue 5. If Task - Send reminder if >7 days 6. Phone Formatter - Format phone 7. SMS - Send reminder

Calculate Days Overdue:

Operation: Difference
Start Date: {{task_29001_due_date}}
End Date: {{task_48001_current_date}}
Unit: days
Output: {{task_14001_difference}}

If Task:

Condition: {{task_14001_difference}} > 7
True: Send payment reminder

SMS:

To: {{task_24001_e164}}
Message: Payment reminder: Invoice #{{task_29001_invoice_number}} for ${{task_29001_amount}} is {{task_14001_difference}} days overdue. Pay now: {{task_29001_payment_link}} or call {{company_phone}}.

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