A campaign will not send a sentence with a hole in it
The first SMS campaign sent from the new screen went out reading "Just a reminder about your appointment tomorrow at." — no time, and a dangling "at".
What happened
The message was loaded from one of the saved templates that ship with the
product: "Hi {first_name}! Just a reminder about your appointment tomorrow at
{time}." That template is written for one appointment, where an automation
knows the time. A campaign does not — it has one message and a list of people,
and the only things it can fill in are the five on the Personalize row:
{first_name}, {last_name}, {full_name}, {company_name}, {agent_name}.
A variable outside that set is dropped at send time, and the punctuation tidied
up behind it. That is the right behaviour for a contact with no last name on
file — "Hi there," beats "Hi ,". It is the wrong behaviour for {time}, because
nothing is missing from the contact; the value never existed. The sentence
closes over the gap and the recipient reads a bug.
The composer did notice. It showed an amber note saying {time} would be left
blank — and the launch button stayed lit, so the note got launched past. A
warning on a screen with a working button is a warning nobody reads.
What changed
- An unfillable variable now blocks the launch. The composer names it, names the five it can fill, and asks for real words in its place.
- The template cards say so before you click. A saved template or automation carrying a variable a campaign can't fill is marked "Written for one contact — you'll need to replace {time} with real words."
- The sender checks too. A campaign that reaches the dispatcher with such a message is refused before the first text, with no ledger rows written, so you can fix the wording and run the same list again.
There is deliberately no "remove the variables for me" button. Deleting {time}
leaves "your appointment tomorrow at." — the same broken sentence. Only the
person writing it knows what it was meant to say.