The whole team sees the update.
Publish the application change to subscribed views so a shared workspace can stay current.
Keep booking screens, order updates and shared application views in sync. Publish an event once and let connected customers see the change.
channel: private-studio event: studio-visits.updatedevent: job.updated record: FN–1042record: JOB–42 RequestedConfirmedQueued · 0%Rendering · 50%Complete · 100% · revision 0
Alex Lee · Two people
Preview render · authored example
Sign in with an eligible account.
RequestedConfirmedQueued · 0%Rendering · 50%Complete · 100%Access denied · revision 0 · staleAlex Lee · Two people
Preview render · authored example
RequestedConfirmedQueued · 0%Rendering · 50%Complete · 100% · revision 0Example content and data. Explore the workflow below; nothing is sent or changed in a live account.
Companies that trust Bird across their communications.
Read Bird customer storiesThe client reconnects and resubscribes after an unexpected interruption. Private channels need fresh authorization; your application then fetches current business state. Reconnection does not replay missed events.
Read the connection lifecycle ↗Source checked 18 September 2026. Local examples show the method, not measured latency, a live service result or guaranteed delivery. Confirm current account access and region.Disconnect an example subscriber, update the booking, then reconnect and refresh from your application. See the difference between an event and authoritative state.
Inspect the result below after each action.Read the result and next step ↗
Inspect the result below after each action.Read the result and next step ↗
Illustrative application record
RequestedConfirmedQueued · 0%Rendering · 50%Complete · 100% · revision 0Illustrative application record
RequestedConfirmedQueued · 0%Rendering · 50%Complete · 100%Access denied · revision 0 · staleNo event publishedHTTP 200 · edge accepted revision 0 · no per-client receiptTwo authorized views begin at revision 0. Choose an action; no request is made.
The simulated notification reaches the customer app. Both views now show application revision 0.
The application saved revision 0. This client missed the update or is awaiting its state fetch. It must not claim to be current.
Connection lost. The customer view is stale; the studio can continue saving changes.
New connection → fresh channel authorization → subscription succeeded. Fetch current application state next; no missed events were replayed.
403 · subscription refused. Sign in with an eligible account before retrying; the public app key grants no private access.
403 · application refused this private subscriber. Its private view is cleared. No subscription or state read is permitted.
Eligible application session restored. Reauthorize and subscribe before fetching state.
State read blocked. Restore the connection and an authorized subscription first.
Application state read failed. Keep the stale label; retry this read, not the business mutation.
Fetched current application revision 0. Future notifications may update this view; missing history was not replayed.
Repeated or older application revision ignored. This application uses its own revision policy; Bird does not promise ordered or exactly-once delivery.
Illustrative only · no publish, account action or live connection. Application revisions are our example policy. HTTP 200 means edge acceptance, not client receipt. Work the recovery procedure ↗
Bring shared activity, presence, and application progress into the same moment. Publish from your server and keep the connected experience useful for the people watching.
Publish the application change to subscribed views so a shared workspace can stay current.
Use presence to show connected members in the experience your application controls.
Let your server publish progress into a live interface while your application remains responsible for the underlying job.
Publish events to active subscribers, with private-channel authorisation and state recovery designed into your application.
Publish your first event ↗Bring customers back to a useful screen with a notification. Use Push with their permission and a registered device.
Compare the notification path ↗Publish only from your server. This example uses fictional order data on orders and presence-lobby. Public channels do not protect private data; presence subscriptions need application authorization. Acceptance is separate from client receipt.
Prepare an app and its keys with CLI or MCP, then connect your Realtime client. Publishing, subscriptions and recovery run through the SDK and WebSocket connection.
Open the implementation guide →npm install @messagebird/sdkconst result = await bird.realtime.publish("rap_01krdgeqcxet5s7t44vh8rt9mg", {
event: "order.updated",
channels: ["orders", "presence-lobby"],
data: { order_id: "ord_123", status: "shipped" },
});
console.log(result.data?.length); // one entry per channelUse the same app and region as the server. This browser example listens to order.updated on the public orders channel; keep private customer data behind your application authorization and fetch current state after reconnection.
Browser clientapp.ts: Browser; public app keyimport { BirdRealtime } from "@messagebird/realtime";
const bird = new BirdRealtime({ appKey: APP_KEY, region: "us1" });
const orders = bird.subscribe("orders");
orders.bind("order.updated", (data) => {
renderOrder(data);
});
Use Realtime while a customer is present, then Email or messaging for useful updates outside the session.
The studio sees Alex’s booking change in its application.
Alex Lee · Friday, 14:00The server sends the updated confirmation.
A consented reminder uses the same booking record.
A practical path through setup, implementation, and the choices that matter.
Read the field guide →Quickstarts, implementation guides, comparisons and migration.
Check the complete publisher/subscriber path.
Public, private, presence and latest-event cache.
Reauthorize, resubscribe and fetch current business state.
Member identities, tabs and observed departures.
Durable acceptance and channel-state reconciliation.
Start with the free preview: 100 concurrent connections and 200,000 messages per day across all apps in your workspace. Compare Realtime pricing for larger workloads, including your publications, fan-out and peak connections.
Explore Realtime pricing ↗Scope the workload and its peak activity.
A FEW USEFUL ANSWERS
Poursuivez avec la documentation, les guides et les exemples sur ce sujet. Les ressources sont en anglais.
Une clé API de test est disponible immédiatement. L'accès production se débloque dès que vous ajoutez un moyen de paiement et vérifiez un expéditeur.
Lire la doc