Skip to content

What relay does, job by job.

Link the numbers you already use, answer every chat from one browser tab, and plug the same numbers into your own code. Here is each feature, and the limits worth knowing before you start.

Link a number the way WhatsApp Web does

relay joins your number as a linked device. The number stays on its phone; relay reads and replies alongside it.

  • QR code or pairing code

    Scan the code from WhatsApp › Linked devices, or ask for a pairing code and type it on the phone.

  • Each number's status at a glance

    See which numbers are connected and relink one that was logged out. Deleting a number logs it out and erases its chats, messages and media from relay.

  • A gentle start for new numbers

    A new number starts with a daily send cap that rises over its first two weeks, and its messages go out a few seconds apart.

Link a number
  1. Open WhatsApp on the phone that holds the number
  2. Go to Linked devices, then Link a device
  3. Point the camera at this code
SalesWaiting for the scan
Past chats import once the number is linked

One inbox for every number

Read all your numbers together or one at a time, with the everyday actions of WhatsApp Web in one browser tab.

  • Number switcher

    Show one number's chats, or all of them, with a coloured dot for each number.

  • Unread counts, search, archive, pin and mute

    Every chat shows what's new. Search to find one fast, and keep the list in order the way you do on your phone.

  • Read ticks

    Grey ticks once a message is delivered, violet once it's read.

  • Replies, reactions and edits

    Quote a message in your reply, react to it, edit what you sent, or delete it for everyone.

Inbox
Archived3
Maison Exemple10:42You: Friday works. I've updated the order.Weekend crew10:31Sam: Photos from the venue4Nora Sample09:58Voice message (0:14)1Order desk09:12You: Invoice sentAlex ExampleYesterdayThanks, see you tomorrow!
Maison Exemplevia Sales
Can we move the delivery to Friday?10:41Maison ExempleCan we move the delivery to Friday?Friday works. I've updated the order.10:421The courier comes at 10:00.Edited10:44This message was deleted10:45

Past chats come with the number

When you link a number, its earlier chats import in the background while you start replying, as far back as your plan's history window.

  • Imported in the background

    Chats arrive while you work. There's nothing to export from the phone.

  • Kept for your plan's window

    Each night, messages older than your window are deleted for good: 90 days on Starter, 180 on Growth, 365 on Business.

Groups, media and voice notes

Whatever people send you on WhatsApp shows up as it should, and you can answer in kind.

  • Groups next to 1:1 chats

    Each message in a group carries its sender's name.

  • Images, video, documents and voice notes

    Open them in the chat, send your own from the composer, or record a voice note with the built-in recorder. Files stay private to your organization.

  • Group admin from the API

    Create groups, add or remove participants, promote admins and share invite links from your code.

Weekend crewSam, Lina, you
SamPhotos from the venue10:31LinaVenue-plan.pdfPDF, 2 pages10:33Perfect, see you Saturday.10:36

A REST API and webhooks on every number

Send and read messages, manage chats and groups, and link numbers over REST. Webhooks tell you what changed, signed and retried.

  • OpenAPI 3.1 at /v1/openapi.json, with a hosted reference at /v1/docs
  • Bearer keys (rl_live_…) scoped to read, send or admin
  • An Idempotency-Key on every write, replayed for 24 hours
  • RateLimit and Retry-After headers; errors in problem+json with stable codes
  • Long operations answer 202 with an operation_id to follow
  • Webhooks signed with HMAC-SHA256 and retried with backoff for 24 hours
A few endpoints
Numbers
POST/v1/numbers
POST/v1/numbers/{id}/pairing-code
GET/v1/numbers/{id}
Chats
GET/v1/chats
POST/v1/chats/{id}/archive
POST/v1/chats/{id}/read
Messages
POST/v1/messages
POST/v1/messages/{id}/react
POST/v1/messages/{id}/revoke
Groups
POST/v1/groups
POST/v1/groups/{id}/participants/add
POST/v1/groups/{id}/invite-link
Media
POST/v1/media/uploads
GET/v1/media/{id}
Webhooks
POST/v1/webhooks/endpoints
POST/v1/webhooks/endpoints/{id}/test
Webhook events
  • number.status
  • message.received
  • message.sent
  • message.status
  • message.reaction
  • message.edited
  • message.revoked
  • chat.updated
  • group.updated
  • group.participants

French, English and Arabic

The whole app in three languages. In Arabic, the entire layout reads right to left.

English
Français
العربية
The same inbox in each language.

Your customers' messages stay in the EU

The chats you handle are other people's personal data. relay keeps them in Frankfurt, and out of every log, report and analytics event.

  • Frankfurt, Germany

    Servers and databases on DigitalOcean, media on Google Cloud: everything is stored in the EU and travels over TLS, with HSTS.

  • Private media

    Files sit in a private bucket and open only through short-lived signed links.

  • Keys and secrets sealed

    API keys are stored only as a hash. Webhook secrets and proxy credentials are encrypted with AES-256-GCM.

  • WhatsApp sessions kept apart

    Session credentials live only in the gateway's own database, which the app can't read.

  • Deletion that means it

    Deleting a number or the organization erases its chats, messages, media, API keys and webhooks, and logs the number out.

  • GDPR and Moroccan law 09-08

    CNDP declaration [CNDP NUMBER]. Admin actions are recorded in an audit log.

Read about security and data
What our logs carry
[history.history_import] number 8c41e0… completed
[ingest] number 8c41e0… drained 42 events
[sends.message_send] message 3f9c2a… failed: number_not_working
[retention.retention_purge] number 8c41e0…: 1204 messages, 37 objects
Ids, counts and codes. These are real log formats from relay, with the ids shortened.Never logged: message text and captions, phone numbers, contact and group names, media files and their links.

Worth knowing before you start

  • One owner per organization

    In this version, each organization has a single owner account.

  • A daily cap on first messages

    Each number can start only a limited number of conversations a day with people who never wrote to it first.

  • Monthly allowances

    Each plan includes a monthly number of messages sent and API calls. Once one runs out, it pauses until the 1st of the month or until you change plans.

See each plan's allowances

Before you connect a number.

relay links numbers the way WhatsApp Web does. This isn't an official WhatsApp product: WhatsApp can restrict or ban a number it considers spam, and we can't reverse it.

There's no bulk or broadcast sending: one request sends one message to one conversation. Message people who expect to hear from you.

Read the Acceptable Use Policy

Link your first number in a few minutes.

Pick a plan, scan the QR code with your phone, and your chats show up in the browser.