Documentation
Sign inGet started

WhatsApp log

The Messages page in the Bird dashboard is your workspace's record of every WhatsApp message it has sent: every send made through POST /v1/whatsapp/messages lands here, newest first. Use it to confirm a message went out, see where it is in the delivery lifecycle, and read which template produced it. For a tour of where this page sits in the dashboard, see the dashboard tour.

The message list

The WhatsApp Messages page in the Bird dashboard: a table of sent messages with Status (Sent, Failed, Delivered), From and To phone numbers, the Template slug, a Category badge (Authentication, Utility), and a relative Sent time, above an exact-phone-number search box and Status and Date filters
Each row is one message. The columns are:
ColumnWhat it shows
StatusThe message's current status (see Statuses), as a colored dot
FromThe WhatsApp sender number the message was sent from
ToThe recipient's number
TemplateThe template the message was sent from (click the row to open the message)
CategoryThe template's category
SentWhen the send was accepted, as a relative time (hover for the exact timestamp)
The list is paginated, 25 messages per page; use Prev and Next to move between pages.

Searching and filtering

A message log fills up fast, so the page leads with a recipient search and two filters. They combine: a status filter plus a date range narrows to messages matching both.
Search by recipient. The search box matches an exact recipient number in E.164 format. Type the full number you sent to (e.g. +14155550100) to find every message addressed to it; it is an exact match, not a substring search.
Status. Filter to one or more statuses. Status is multi-select, so you can, say, show everything still in flight by selecting Accepted and Sent together. The options are Accepted, Sent, Delivered, Failed, and Received; Received belongs to inbound messages, which the channel does not support yet, so it matches nothing today.
Date. Filter by when the message was sent: pick a preset (last 3, 7, or 30 days) or choose a custom range from the calendar.
When a filter combination matches nothing, the page shows a no-results state with a Clear filters action to reset back to the full list.

Statuses

A message's status is where it currently sits in the lifecycle. A message walks from accepted toward a terminal receipt.
StatusMeaning
AcceptedBird admitted the message and is preparing to hand it to WhatsApp
SentHanded to WhatsApp; awaiting a delivery receipt
DeliveredWhatsApp confirmed delivery to the recipient
FailedThe message will not be delivered
A read receipt is not a status: when a recipient reads a delivered message, Bird records a read_at timestamp and a whatsapp.read event on the message, and the delivery status stays delivered. Three more statuses exist on the wire but aren't emitted today: scheduled and canceled are reserved for a future scheduled-send feature, and received for inbound messages.

Inspecting a message

Click any row to open the message. Its header shows the template that produced it, the current status, the recipient, and the category badge, above two tabs:
The WhatsApp message detail sheet in the Bird dashboard, opened for a delivered bird_order_confirmation message: the Events tab showing the per-message lifecycle timeline of Accepted, Sent, Delivered, and Read, each with its timestamp, over the dimmed message list
  • Events: a timeline of everything that happened to the message, in order, each with its timestamp: Accepted, Sent, Delivered, the read receipt if the recipient read it, or a failure with its error description. This is the same stream you can read with GET /v1/whatsapp/messages/{message_id}/events.
  • Details: the message's metadata: its ID (with a copy button), the sender and recipient numbers, the template's slug, language, and category, the sent, delivered, and read timestamps, the error description on a message that didn't arrive, and any tags and metadata the send carried.

The same log over the API

Everything on this page reads from GET /v1/whatsapp/messages and its per-message sub-resources. The list takes the same filters the page exposes and more: status, an exact phone_number, a tag, and a created_after/created_before window. The timeline behind the Events tab is GET /v1/whatsapp/messages/{message_id}/events; WhatsApp events covers reading it programmatically.

Next steps