Skip to main content

Trace SMS delivery in Application Logs

Category
Product
Published

Follow the delivery lifecycle of every Clerk-delivered SMS

Application Logs now record delivery events for SMS messages sent by Clerk, including phone verification codes, OTPs, and password reset codes. When a user reports a missing code, these events show whether the message was accepted, delivered, rejected, or left unconfirmed.

The delivery lifecycle

Each message can generate several event types, helping you distinguish between a send failure, a delivery rejection, and an unknown outcome:

  • sms.accepted — the delivery provider accepted the message (not yet proof it reached the phone)
  • sms.delivered — the carrier confirmed delivery to the handset
  • sms.failed — the send stopped before handoff, or the provider rejected it
  • sms.undeliverable — the carrier could not deliver it after accepting it
  • sms.unconfirmed — the provider reported an unknown delivery outcome

Failure events carry a normalized reason — like invalid_phone_number, destination_unreachable, or rate_limited — so a failure tells you whether to fix the number, wait out a provider limit, or adjust your own configuration. The message body, verification code, and provider identity are never included.

The dedicated SMS logs view lists these events, where you can filter by a single event type like sms.failed or by the destination phone number to pull up one recipient's history. Every event for a single message shares a trace, so you can follow its whole timeline end to end.

Get started

SMS events are available on all plans as part of Application Logs. Retention varies by plan. See the pricing page for details. Open the SMS logs view to investigate SMS delivery, or Application Logs to view SMS events alongside other application events. Read the documentation to learn more.

Going forward

SMS delivery events build on Clerk's ongoing observability work alongside Admin Logs and Email Logs.

Contributors
Ignacio Rueda
Bruno Lin
Brandon Romano
Daniel Moerner
Braden Sidoti
Nate Watkin

Share this article