Sign inGet Started

Unsupported WhatsApp message types

Some messages work in the WhatsApp app but cannot be read through the API. Bird records these as received messages with an unsupported field. You can see who sent the message and when, but you cannot read its content in the dashboard or through the API. Ask the sender to resend the information as text or another supported message type.

Why a received message can have an error

Meta can include error 131051 in an incoming message notification when WhatsApp Cloud API does not support that content. A feature can work in the WhatsApp app and still be unavailable through Cloud API.

Bird records that notification with direction: inbound and status: received. The message's last_error can contain meta_error_code: "131051", even though Bird did not attempt to send it. In this case, the error describes the unavailable incoming content. It does not indicate a failed outbound send.

The normalized last_error.code can read undeliverable on this received record. Check direction, status, and last_error.meta_error_code together before treating a record as a delivery failure.

Meta also uses 131060 for a message that is currently unavailable. This can occur when someone first messages a business using a connected WhatsApp Business app number. It has a different meaning from the unsupported content error 131051. See Meta's unsupported message reference for these notifications.

Read the message type

The unsupported.type field identifies the content as precisely as the notification permits:

  • When Meta supplies unsupported.type, Bird preserves its value, such as poll_creation, pin, or edit.
  • When Meta omits unsupported.type, Bird keeps the message's top-level type in that field. A value such as unsupported or unknown does not identify the action the sender took.
  • When Meta supplies content that Bird's API does not model, Bird records its type here too, such as order or system.

The type name does not include the missing content. For example, poll_creation does not give you the question or choices, and edit does not give you the replacement text. Keep unrecognized type values when storing messages so your integration can accept new types.

Bird supports images, button replies, list replies, and reactions. An unsupported notification with one of those names describes that particular notification; it does not mean the whole feature is unsupported. See receiving images, interactive replies, and reaction webhooks.

Handle the received webhook

An unsupported message emits whatsapp.received with data.unsupported.type. The received webhook does not include the message record's last_error; retrieve the message through the API when you need that diagnostic.

Handle unsupported explicitly before processing content. Show that the content is unavailable, store the type, and acknowledge the webhook with a 2xx response once you have handled it. Retrying the same notification does not recover the missing content. See webhook delivery for acknowledgement and retry behavior.

The record remains visible in the WhatsApp log. Bird handles it as an incoming message for the customer service window.

Examples to try

These are examples of unsupported.type values. If your WhatsApp app offers the corresponding action in the conversation you are testing, you can try it and inspect the resulting record:

Message or actionunsupported.type
Create a pollpoll_creation
Vote in a pollpoll_update
Pin a messagepin
Edit a sent messageedit
Keep a disappearing message in the chatkeep_in_chat
Send a group invitationgroup_invite
Unidentified messageunknown

Availability depends on the app, conversation, and account. You may receive a generic type, or no incoming message notification for an action. Compare the sender, timestamp, and unsupported.type with the action you performed. If the type is generic, you cannot identify the action from that record alone.

Next steps