Skip to content

SMS_NLT_REQUIRED_MISS

Category: sms  ·  Severity: critical  ·  Channel: SMS

A required NLT modifier on the SMS body resolved to a missing value for the sample contact. At send time, every contact whose properties match the sample would have the entire SMS suppressed — no message is sent.


What it means

NLT (the plain-English template language) lets you mark an expression as required. When a required expression can't be resolved for a contact — because the property is missing or empty — Synapse suppresses the whole message for that contact rather than sending an incomplete text.

Synapse Inspect renders your template's body_nlt against a sample contact. If a required expression misses, the render is suppressed and this critical finding fires — telling you that contacts matching the sample will silently receive nothing.

Warning

This mirrors the send-time posture: a suppressed SMS produces a durable failed row in the SMS logs and no call to Twilio. The message is not delivered.


Why it matters

A required miss is a silent delivery failure. Contacts who are missing the property will get no message at all — and you won't notice unless you check the SMS logs. Catching it in Inspect, before you activate a flow or send a campaign, prevents a segment of your audience from silently dropping out.


How to fix it

You have two options, depending on intent:

  1. Backfill the missing property on the contacts this template targets, so the required expression always resolves.
  2. Remove the required modifier if the value is genuinely optional — the message will then send with a fallback (or empty) value instead of being suppressed.
Tip

Test against a representative contact. A required-miss that only affects a small slice of your audience still fires here if your sample contact is the one missing the property — and vice versa. Confirm which contacts actually lack the property before choosing a fix.


Finding context

json
{
"reason": "required expression 'first_name' resolved to empty"
}