Skip to main content

Understanding SMS Delivery Failures in Anima

This article explains how and when SMS delivery failures are recorded, and where to check for them in Anima.

When a failure is recorded

The timing of a failure depends on why it happened.

1. Immediate send failures (within seconds)

Some failures are identified straight away, as Anima attempts to send the message. Common causes include:

  • An invalid mobile number

  • An empty message

  • All SMS providers rejecting the send (e.g. Telnyx, Firetext, NHS Notify)

In these cases, the message status is set to Failed or Invalid number immediately.

2. Delivery failures (usually within a few minutes)

Sometimes a message is accepted by the carrier initially, but delivery fails afterwards. In this case, the status only updates once the carrier sends a delivery report back to Anima - which can take a few minutes, depending on the provider.

The general flow looks like this:

  1. Message is sent → status shows as Pending

  2. The provider reports a failure

  3. The status updates to Failed in Anima

3. NHS Notify (NHS App) failures

NHS App messages can also fail to deliver. This is detected either via a callback from NHS Notify, or a timed check if delivery/read confirmation doesn't come through in time. In some cases, this can trigger an automatic SMS fallback before the message is marked as failed.


Where to check for failures

You'll need to check for failed SMS messages within Anima:

Where to look

What you'll see

Contact patients → Messages

The status of each individual message, including Failed to deliver or Invalid number (this can be filtered)

Contact patients → Batch details

The count of failed SMS messages within a given batch

Did this answer your question?