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.
Mia: I’ll check two spaces with the studio. Your visit is still a request.
9:43
Bird / ConversationsSTUDIO WORKSPACE
CUSTOMER JOURNEY
An invitation that belongs.
A reply with possibilities.
Same thread. A real answer.
Booking confirmed in this illustrationApproved invitationReply receivedAwaiting 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.
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.
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.
Hi Alex. There’s a little room for creativity this Friday. Would you like to visit the studio?
CONVERSATION / CONTEXT
An invitation, with permission.
Before the invitation
Connected sender, consent, category, language and approved template.
After the customer replies
A 24-hour customer-service window; supported button/list choices are requests.
At the useful next step
Your booking system confirms availability; Bird message state is separate.
Choose a path. No message or booking is created.
This path is not eligible. A Bird-managed number supports one-way templates; two-way service needs a connected branded number. An outbound template must be approved for its category, language and recipient.
Illustrative 202 Accepted: Bird has accepted the template request. Delivery remains unknown. FN–1042 has no booking.
A delivery event was observed in this illustration. Wait for the customer to reply before offering service choices. Delivery and read signals do not confirm a booking.
The customer has replied and opened the 24-hour service window. A supported button returns a stable choice to your application.
The selected time is a request. Correlate the customer and inbound message with FN–1042, then check the studio’s current availability.
Illustrative booking system result: FN–1042 is confirmed for the selected time. The business result is separate from the WhatsApp message state.
That time is no longer available. No booking was made. Offer a current alternative or bring in the team.
The booking service has not returned a result. Keep FN–1042 pending and reconcile this request before retrying; do not tell the customer it is confirmed.
The service window expired before the reply. Preserve the request, check an eligible approved template, and wait for a new customer reply before continuing service messages.
Mia has the conversation and FN–1042 context. Automated confirmation is paused; the team checks the request with the studio.
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.
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.
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.
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
9:41
f.
FieldnotesBusiness account
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.
9:41
f.
FieldnotesBusiness account
Can we move booking FN–1042 to Friday afternoon?
I’ll check with the studio. Your booking details are here.
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.
Let a WhatsApp conversation become an email confirmation and a timely SMS reminder. Your application carries the booking and permissions across channels.
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.
In die Praxis umsetzen.
Weiter mit der Dokumentation, Anleitungen und Beispielen zu diesem Thema. Die Ressourcen sind auf Englisch.
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.
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: