Bird
Bird

A world of possibilities.
One place to start.

WhatsApp Business Platform & API

WhatsApp API.
Turn messages into momentum.

Send eligible templates, receive supported replies and follow delivery from your application. Connect each conversation to the team and business system that can complete the customer’s request.

BIRD / WHATSAPPIllustrative experience
Today
Friday at 14:00. Can I bring a friend?
9:42
Mia: I’ll check two spaces with the studio. Your visit is still a request.
9:43
Bird / ConversationsSTUDIO WORKSPACE
CUSTOMER JOURNEY

Same thread. A real answer.

Awaiting the booking system
AL
Alex LeeCustomer · Studio member
WhatsApp
Audience
Studio members
Template
studio_invitation · Approved
Preference
WhatsApp updates · Opted in
Visit requested
Friday · 14:00 · Two people
Next step
Check two studio spaces

Permission and an approved template start the invitation. The customer’s reply opens the service window. Mia checks availability with the studio before confirming a visit.

Customer context attached · FN–1042

Example content and data. No message or booking is created. Replay clears this illustration; pause and reduced motion preserve its selected state.

Companies that trust Bird across their communications.

A real customer resultFaster partner onboarding with WhatsApp
Initial test in some countries with Bird Flow Builder, reported by Glovo.
Read Glovo’s story
GlovoA connection worth building on.
CUSTOMER EXPERIENCE

Onboarding, inside the conversation.

Glovo’s team used WhatsApp and Flow Builder to guide partners through onboarding. The story explains how the team tested the approach before expanding the rollout to more countries.

Read Glovo’s story ↗The story does not name the test dates, countries or measurement method; this is not a WhatsApp-only or universal result.

Building your first integration?

Explore the request and delivery lifecycle →

Choose a business messaging workflow →

WHATSAPP / TRY IT YOURSELF

From a campaign
to a real conversation.

Explore a template invitation, a customer reply, and a handoff. See how the service window and your business workflow fit together.

FIELDNOTES / WHATSAPP

Workspace-authored invitation · studio_invitation · Two-way branded sender

Today
Hi Alex. There’s a little room for creativity this Friday. Would you like to visit the studio?
Explore a conversation path
CONVERSATION / CONTEXT

An invitation, with permission.

  1. Before the invitation

    Connected sender, consent, category, language and approved template.

  2. After the customer replies

    A 24-hour customer-service window; supported button/list choices are requests.

  3. At the useful next step

    Your booking system confirms availability; Bird message state is separate.

Choose a path. No message or booking is created.

Inspect the supported message and business boundaries

The template request uses to and template.slug with its approved language and components. Supply your connected from number for a workspace-authored template. A Bird-managed bird_ template chooses its own sender, so omit from. Use the actual approved values from your account.

The supported reply-button payload returns interactive_reply.button.slug. Correlate that stable choice with the customer and original request before asking the booking service to act.

Flows and native checkout need separately verified integration scope. This example uses supported choices and performs no payment, booking or live send.

An unavailable time keeps the booking unchanged. A missing result remains pending until the original request is reconciled. An expired window requires an eligible template and a new reply.

Inspect the current send and status contract ↗
Read the supported button payload ↗

Interactive illustration · Fictional customer and results · No messages are sent

WHAT IT MEANS FOR YOUR CUSTOMER

A campaign starts it.
A conversation carries it forward.

Reach people in a place they already use. Help them choose, answer their questions, and bring your team in when the conversation needs a person.

The weekend collectionExplore what’s new
01 / For marketing

Give the invitation somewhere to go.

Pair a relevant template with a clear response, so interest can become a useful conversation.

Order FN–1042I’d like to change my delivery.
02 / For service

Pick up with the details in view.

Let the customer explain what they need once. Carry the request into the team workflow that can resolve it.

Studio appointmentFriday · 14:00
03 / For your business

Connect the answer to the action.

Bring structured choices into your application, then confirm the booking or order in the system that owns it.

FIND YOUR WAY IN

One channel. Different teams. A shared customer.

Reach your audience

Start with an invitation.

Prepare permission, a business identity, and an approved template. Build the campaign around the response you want to make possible.

Prepare a template ↗
Help a customer

Continue the conversation.

Design the service workflow, customer-service window, and human handoff together. Keep the request and the answer in context.

Plan the team workflow ↗
The details behind your setup

For marketing

Begin with permission and an approved template. Category, destination, and the service window affect the price.

For service

A customer reply opens a 24-hour service window. Keep conversation context when a human needs to help.

For developers

Connect your business identity and number, receive events, and let your application own booking and order confirmation.

Explore the supported product paths

Confirm the channel, account and integration requirements for the experience you want to launch.

READY WHEN YOU ARE

Your number. Your first conversation.

  1. 01Connect your business ↗

    Prepare the business identity and number for your channel.

  2. 02Prepare the message ↗

    Choose the template and category that fit the customer moment.

  3. 03Send your first message ↗

    Follow the integration guide and receive the response.

BUILD WITH WHATSAPP

Build the conversation.
Connect the outcome.

This authentication-template example sends a code supplied by your application. Use the approved template and parameters for your recipient; keep credentials server-side. Acceptance is followed by asynchronous delivery events.

Open the implementation guide →

Preview an eligible approved template with the CLI before sending. CLI and MCP can send the message and inspect its events; check inbound events for the recipient’s reply.

For code generation, expiry and checking, use Bird Verify.

Explore verification
npm install @messagebird/sdk
const msg = await bird.whatsapp.send({
  to: "+15551234567",
  template: {
    slug: "bird_otp",
    components: [{ type: "body", parameters: [{ type: "text", text: "123456" }] }],
  },
});
console.log(msg.id, msg.status);

Cursor
A WORKED WHATSAPP DECISION

Build the request. Keep the identity.

Choose a permitted template or service message, inspect acceptance and later observations, and reconcile an unknown response with the same logical-send key.

DEVELOPER / REQUEST AND IDENTITY

Request-shape illustration only. Replace the fictional sender, recipient and template with your owned, approved resources. Use the SDK example below to send from your application.

{
  "to": "+15550002222",
  "from": "+15550001111",
  "text": {
    "body": "Your collection request is with the studio team."
  }
}
HTTP operation
POST /v1/whatsapp/messages
Logical-send key
Idempotency-Key: example-collection-1042
Response identity
Not accepted
RECIPIENT / LATER OBSERVATIONS

Fictional service thread

Can you help with my collection?
9:41

No delivered message is established in this preview

Prepare one logical send

Keep accepted, sent, delivered/failed and read_at separate. A window can expire before dispatch; 202 does not prove the final dispatch is permitted.

The case remains unresolved until its owning system confirms the action. No network send, webhook or real retry occurs here.

Request, delivery and reply details

One clear request

Choose the message for the moment.

Use an approved template for an eligible business-initiated message, or a supported free-form response inside the customer-service window. Keep the sender, recipient, language and content explicit.

Use the published examples

Start from the generated SDK or HTTP example above. Follow the operation’s actual content shape and validation instead of guessing a method from a marketing illustration.

Pace the workload

Use the rate-limit response and a bounded queue. When an application fans out messages, retain a durable record of each intended recipient and request.

A lifecycle you can reason about

Follow acceptance through to the customer’s response.

An accepted API request begins processing. Meta acceptance, delivery and read updates describe later stages; they do not guarantee that a customer completed your business task.

Reconcile with message reads

Consume the relevant webhooks and retrieve message records when investigating a gap. Keep uncertain attempts distinct from confirmed failures.

Keep retry decisions precise

Use the documented request protections and error classification. Do not assume an uncertain provider attempt can be safely repeated indefinitely.

Eine Nachricht, von der Anfrage bis zur AntwortBeispielpfad
01
Angenommen

Bird nimmt die Anfrage an und gibt die Nachrichtenidentität zurück.

02
Verarbeitet

Die Nachricht durchläuft den Sende-Workflow.

03
Zugestellt oder gelesen

Beobachtungen des Providers aktualisieren den Nachrichtendatensatz, sobald sie verfügbar sind.

Danke! Ich hole es morgen ab.

Behandeln Sie Ablehnung, Fehler und fehlende Beobachtungen als Teil derselben Integration.

A conversation, not just an endpoint

Carry the useful context into the reply.

Use explicit button or list reply identifiers and your application’s conversation state. A reply can quote an earlier message, but that reference is optional and may be unavailable.

Keep metadata in its place

Outgoing metadata belongs to the outgoing record. Do not assume it is copied onto the customer’s inbound message.

Connect tools with the same permissions

CLI and MCP can help developers operate the channel. They remain subject to the same workspace access, sender ownership and sending rules.

THE COMPLETE BIRD PLATFORM

A conversation with a bigger picture.

Email can start the relationship. WhatsApp can answer the question. Voice can resolve the difficult moment. Build the experience across Bird as your business grows.

Can we move booking FN–1042 to Friday afternoon?
I’ll check with the studio. Your booking details are here.

01 WhatsApp

Alex chooses a studio visit and asks a question.

ILLUSTRATIVE CALL · FN–1042ALAlex Lee

Studio visits · Connected to Mia

02 Voice ↗

A complex request can move to a person, with the context your app provides. Arrange the appropriate voice path; WhatsApp Business Calling cannot bridge to PSTN.

f.
FieldnotesTo: Alex Lee

Your studio visit. All in one place.

BOOKING FN–1042Your studio visit.A sunlit studio courtyard

Illustrative confirmed booking · Friday, 14:00

03 Email ↗

Your booking system confirms FN–1042 and sends the details.

WHATSAPP / PRICING

A conversation mix.
A plan that fits.

Plan around destinations, message categories, and the service window. Our sales team can scope the full campaign and support workflow with you.

See WhatsApp rates ↗
YOUR WHATSAPP SETUPMarkets + messages

The rate depends on where and how you message.

Categories
Review the applicable template category and destination.
Service window
Use the current rate card for the customer-service window.
The whole journey
Include the Email and SMS around your conversations.

WhatsApp, answered.

Bedeutet eine angenommene Anfrage, dass die Nachricht zugestellt wurde?
Nein. API-Annahme, Meta-Akzeptanz, Zustellung und Lesebestätigungen sind unterschiedliche Beobachtungen. Prüfen Sie den jeweiligen Nachrichtenstatus und das geschäftliche Ergebnis getrennt.
Kann ich jederzeit Freitext-Nachrichten senden?
Freitext-Antworten hängen vom Kundenservice-Fenster und dem unterstützten Inhaltstyp ab. Außerhalb dieses Fensters verwenden Sie ein zugelassenes genehmigtes Template.
Gibt es einen WhatsApp-Batch-Endpunkt?
Die veröffentlichte Nachrichten-API sendet einzelne Nachrichten. Steuern Sie den Anwendungs-Fanout über die dokumentierten Limits; gehen Sie nicht davon aus, dass ein E-Mail-Broadcast-Endpunkt auch WhatsApp sendet.
Wie ordne ich eine interaktive Antwort meiner Anwendung zu?
Verwenden Sie explizite Antwort-Identifikatoren zusammen mit Ihrem gespeicherten Konversations- oder Aufgabenstatus. Eine Referenz auf die zitierte Nachricht kann helfen, wenn verfügbar, aber ausgehende Metadaten werden nicht automatisch von der Antwort übernommen.
Can I send any message at any time?
WhatsApp has consent, template, and customer-service-window requirements. Plan your message category and template approvals before a campaign.
Does a Flow complete a booking?
A Flow can collect information through a separately verified integration. The current direct send API supports button and list choices; your booking system still checks availability and confirms the reservation.
What changes after the customer replies?
A customer reply opens the customer-service window for service messages. Outside that window, use the appropriate approved template and consult the current category and destination rates.
How do I get started or speak to sales?
Follow the setup path and speak to our team about your use case, migration and supported account scope.
YOUR NEXT CONNECTION

Give every conversation
somewhere to go.

Explore the whole Bird platform ↗

Starten Sie mit einem Kanal.
Fügen Sie die anderen hinzu, wenn Sie bereit sind.

Ein Test-API-Key steht Ihnen sofort zur Verfügung. Der Produktivzugang wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Dokumentation lesen
Sie nutzen Claude Code, Cursor oder Codex? Kopieren Sie einen Setup-Prompt und Ihr Agent installiert die Bird CLI und Skills für Sie. Wählen Sie Ihren:
Cursor