Bird
Bird

A world of possibilities.
One place to start.

Realtime Messaging: Pub/Sub & Presence

Realtime messaging.
Keep everyone in the moment.

Keep booking screens, order updates and shared application views in sync. Publish an event once and let connected customers see the change.

BIRD / REALTIMEIllustrative experience
Your server / Published updateExample · no request is made
channel: private-studio
event: studio-visits.updated

record: FN–1042
Requested · revision 0
Two current application views
Customer app
STUDIO VISIT / FN–1042

Friday, 14:00

Alex Lee · Two people

Requested · revision 0
Connected · current
Studio dashboard
STUDIO VISIT / FN–1042

Friday, 14:00

Alex Lee · Two people

Requested · revision 0
Application record · revision 0

Example 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 stories
BIRD REALTIMEA connection with context.
DOCUMENTED OPERATING BEHAVIOR

A connection can recover.
Your state must, too.

The 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.
REALTIME / TRY IT YOURSELF

Connections change.
Keep the state understandable.

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 ↗

STUDIO DASHBOARD / APPLICATION RECORD
STUDIO VISIT / FN–1042

Friday, 14:00

Illustrative application record

Requested · revision 0
CUSTOMER APP / SUBSCRIBED VIEW
STUDIO VISIT / FN–1042

Friday, 14:00

Illustrative application record

Requested · revision 0
Connected · currentNo event published

Two authorized views begin at revision 0. Choose an action; no request is made.

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 ↗

WHAT IT MEANS FOR YOUR CUSTOMER

When something changes,
everyone can move with it.

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.

01 / Shared activity

The whole team sees the update.

Publish the application change to subscribed views so a shared workspace can stay current.

02 / Presence

Know who is here.

Use presence to show connected members in the experience your application controls.

03 / Application progress

Make the work understandable.

Let your server publish progress into a live interface while your application remains responsible for the underlying job.

FIND YOUR WAY IN

Publish from your server. Authorize in your app.

Inside the connected application

Choose Realtime.

Publish events to active subscribers, with private-channel authorisation and state recovery designed into your application.

Publish your first event ↗
Bring someone back to the app

Explore Push.

Bring customers back to a useful screen with a notification. Use Push with their permission and a registered device.

Compare the notification path ↗
The details behind your setup

Public, private, presence

Choose the channel model for the data. Private and presence subscriptions require application authorization.

Recover the working view

An event is a notification, not your database. Reconcile from your authoritative application state after a connection gap.

Client & server together

Keep publishing credentials on your server. Use a supported client SDK for subscriptions and connection events.

READY WHEN YOU ARE

One event. Two views, together.

  1. 01Prepare server and client ↗

    Confirm account access and region, then use the same app, channel and event.

  2. 02Authorise the connection ↗

    Keep private and presence access in your application.

  3. 03Recover the current view ↗

    Reconcile from application state after a connection gap.

BUILD WITH REALTIME

Make the change.
Share the moment.

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/sdk
const 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 channel

Browser client example

Use 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 key
import { 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);
});

THE COMPLETE BIRD PLATFORM

Live in the app. Connected beyond it.

Use Realtime while a customer is present, then Email or messaging for useful updates outside the session.

STUDIO-VISITS.UPDATED
Booking confirmed
Customer app · Studio dashboard
Authorised subscribers
01

Realtime This step

The studio sees Alex’s booking change in its application.

REALTIME / YOUR APPLICATION

Size the live experience.
Keep room for what is next.

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 ↗
YOUR REALTIME SETUPEvents + connections

Scope the workload and its peak activity.

Application traffic
Model event frequency and connected subscribers.
Access model
Choose public, private, or presence channels.
Beyond the app
Add Email and messaging where the customer journey needs them.

Realtime, answered.

A FEW USEFUL ANSWERS

Is Realtime the same as Push?
Realtime connects active application clients to live events. Push addresses notification experiences through device or browser notification services. They solve different parts of the journey.
Who authorizes access to private channels?
Your application must decide which users can access each private channel. Keep authorization and business rules on your trusted server.
What happens during a disconnected period?
The client can miss updates. Reconnect and reconcile from your application’s current state; an event stream is not the authoritative database.
Can I expose the publishing secret in the browser?
No. Keep publishing credentials server-side. Clients use the app key and supported subscription authorization for the channel type.
How do I get started or speak to sales?
Start with a Bird account and follow the setup path on this page. Our sales team can help with migration, volume, or a wider product mix. Start now or talk to sales.

In die Praxis umsetzen.

Weiter mit der Dokumentation, Anleitungen und Beispielen zu diesem Thema. Die Ressourcen sind auf Englisch.

Übung ausprobieren und ein Implementierungs-Briefing erhalten
YOUR NEXT CONNECTION

Make the next update
a shared moment.

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