Build it in your own project.

Use the same SDK examples as Bird's product pages, then give your coding agent a brief that includes the failure paths you practised.

Interactive practice · English

Make your first message land.

A customer places an order. Give them a clear, personal confirmation, and know what happens after you send.

This browser exercise simulates messages. Your work stays here until you leave. Sign in for saved progress and assessments.

Personalize the order confirmation, then send it to the practice inbox.

Practice output

Your practice output will appear here.
Show a hint

Use a customer name and an order number. Then send the message and watch the status change.

Continue with saved learning

Send to the email sandbox

Set up the SDK and API key in your own server environment. This example uses Bird's sanctioned test recipient.

1
2
3
4
5
6
7
const msg = await bird.email.send({
  from: { email: "onboarding@messagebird.dev", name: "Bird" },
  to: ["delivered@messagebird.dev"],
  subject: "Hello from Bird",
  html: "<p>My first Bird email.</p>",
});
console.log(msg.id, msg.status); // "em_…", "accepted"

A brief for your coding agent

# Build with Bird: Email

Read these current sources before proposing an implementation:

- Send your first email: https://bird.com/docs/get-started/send-your-first-email
- Email: https://bird.com/products/email

## Task

Help me implement Email in my project. First inspect the application and identify the relevant server, framework and existing Bird integration. Confirm the exact workflow and supported surface against the linked documentation. Some operations are available only in the dashboard. Do not invent endpoints or derive API contracts from a learning simulation.

## Implementation

Use the official Bird SDK or CLI where supported. Keep credentials on the server and request the smallest necessary permissions. Follow the channel's documented test procedure before proposing any external send or production change.

Keep request acceptance separate from delivery. For incoming events, verify signatures using the original request body, deduplicate stable identifiers, and apply valid state transitions. Respect recipient preferences and channel requirements.

## Acceptance

Show the implementation and relevant tests. Exercise the documented failure paths, invalid signatures and duplicate events where applicable. Explain any dashboard steps or missing prerequisites. Ask for approval before sending to real recipients or changing production.

एक चैनल से शुरुआत करें।
तैयार होने पर बाकी जोड़ें।

एक test API key तुरंत आपकी है। जब आप payment method जोड़ते हैं और sender verify करते हैं, तब production अनलॉक हो जाता है।

Claude Code, Cursor या Codex इस्तेमाल कर रहे हैं? एक setup prompt कॉपी करें और आपका agent आपके लिए Bird CLI और skills इंस्टॉल कर देगा। अपना चुनें:

Cursor