# SMS notifications

[Workflows](/help/workflows/overview) can send text messages as well as email. A step
with the **SMS to invitee** or **SMS to host** action sends a short text at the time
you choose, for example a reminder an hour before the meeting.

42min sends your texts through **your organization's own SMS provider account**
([SendPulse](/help/integrations/sendpulse) or [Twilio](/help/integrations/twilio)).
The provider bills you for each message at its own rates. 42min doesn't charge for SMS
and doesn't cap how many you send.

## What you need

SMS works once three things are in place:

1. **A connected provider.** An admin connects SendPulse or Twilio on the
   [**Integrations**](/360/integrations) page, under **Messaging**, and picks the sender
   the texts go out from. Until then, SMS steps in the workflow editor show a notice
   ("SMS isn't set up"), and the steps are skipped when they run.
2. **For texts to invitees: their consent.** Turn on **Show SMS opt-in** on the event
   type's [Booking Form tab](/help/event-types/booking-questions#sms-opt-in). The
   booking page then shows a "Send me text messages about this booking" checkbox, and
   **SMS to invitee** goes only to invitees who ticked it and gave a valid phone number.
3. **For texts to hosts: a mobile number.** Each host adds a **Mobile phone** on their
   [Profile](/help/account/profile-settings). **SMS to host** is skipped for a host who
   hasn't.

## Writing the text

- **Default text.** When you switch a step to an SMS action, the editor fills in an
  editable default. For the invitee it's the event name, host, date, time and time zone,
  plus a `Reschedule:` line with the reschedule link. For the host it's the event name,
  the invitee, and the date and time.
- **Variables.** SMS steps use the same variables as email (`{{invitee_name}}`,
  `{{event_time}}`, `{{cancel_link}}`, and so on). Cancel and reschedule links become
  short `42min.us/l/…` links so they don't eat the text. The meeting link stays the full
  video-call URL.
- **Empty lines drop out.** A line whose variable is empty is left out of the text. For
  example, `Reschedule: {{reschedule_link}}` disappears on an event type where
  rescheduling is disabled.
- **Length.** The text can be up to 500 characters. Under the box, a counter estimates
  the length and how many SMS it takes ("About 120 characters, 1 SMS"). One SMS holds
  160 plain Latin characters (153 each once the text is split), or 70 characters when
  the text contains other alphabets or emoji (67 each once split).
  - Above 3 SMS the counter warns **Long texts cost more**, because providers charge
    per SMS.
  - Above 6 SMS it says **Too long to send**. A text that still renders longer than
    6 SMS when the step runs isn't sent, and shows as failed.
- **Preview.** The **Preview** button shows the text filled in with sample values and
  its exact length.

## When texts go out

- **Once per booking and step.** Each SMS step sends at most one text per booking. If
  the booking is rescheduled, a reminder step runs again for the new time.
- **No automatic retries.** A text costs money, and a request that timed out may still
  have been delivered, so 42min never sends the same step twice on its own.
- **One text per booking to the host,** even on a group event. The host is whoever
  hosts the booking when the step runs, as for **Email to host**.
- **Guests get no texts.** Only the invitee who booked and ticked the checkbox gets
  **SMS to invitee**.
- **SendPulse can add a delay.** SendPulse reviews each message before sending it, which
  can take up to 10 minutes. Keep that in mind for a reminder a few minutes before the
  meeting.

## Stopping texts

An invitee who opted in can stop texts for their booking. The cancel and reschedule
pages (which the default invitee text links to) show "You get text messages about this
booking." with a **Stop texts** button. For a
[recurring series](/help/event-types/recurring), it also stops texts for the meetings
that haven't started yet.

With Twilio, an invitee who replies **STOP** to your number is opted out the same way
for that booking.

## Checking what was sent

SMS appear in [**Sent messages**](/help/team-and-admin/sent-messages) next to email.
Use the channel filter to see only SMS. Each row shows the recipient's phone number, and
the delivery status is checked with your provider for up to a day after sending (a text
still unconfirmed after that shows **Delivery unknown**).

A skipped step shows the reason on its **Skipped** status:

| Reason | What to do |
|---|---|
| `no SMS consent` | The invitee didn't tick the SMS checkbox, or stopped texts. Nothing to fix. |
| `no phone number` | The booking has no valid phone number in international format. |
| `host has no phone number` | The host adds a mobile number on their Profile. |
| `SMS provider not connected` | An admin connects a provider and ticks **Use to send SMS**. |
| `SMS provider needs attention` | The provider rejected the saved keys, or no sender is chosen. Open the provider's **Settings**. |
| `invitee notifications suppressed` | Invitee messages are turned off for this booking, as for email. |

## Common pitfalls

- **The workflow runs but nobody gets texts.** Check the event type has **Show SMS
  opt-in** turned on. Without it, no invitee can give consent, so every **SMS to
  invitee** step is skipped.
- **Texts to US numbers fail.** US carriers require a registered sender (for Twilio, an
  A2P 10DLC registered number or Messaging Service, or a verified toll-free number).
  The reason shows on the **Failed** status in Sent messages.
- **A trial Twilio account** texts only numbers verified in that account.
- **The test SMS arrived but some invitees' texts fail.** SendPulse approves sender
  names per country, so a sender approved for your own country can be refused for
  numbers in another.
