HomeSupport

Support

Answers first.
A human if you need one.

47 answers, grouped by whatever you are holding when you get stuck. Every one is what the product actually does today — including the parts that are awkward to admit.

“My campaign did not send”

The question support receives most. These are the real causes, in the order they usually turn out to be it.

  1. 1
    Outside the sending windowThe most common cause by a distance, because the window is judged in UTC. Check it against UTC rather than your own clock.
  2. 2
    The workspace is pausedOne switch on the settings screen stops every path out until the date you picked.
  3. 3
    The number is not connectedA line that has dropped off says so on the Numbers screen. Campaigns using it stop rather than fail message by message.
  4. 4
    The daily cap is reachedPer number, per campaign, or for the workspace — the smallest one wins. The run continues tomorrow.
  5. 5
    Consent is required and not on fileWith “require opt-in” on, anybody without consent is refused. This skips the person, not the send.
  6. 6
    The campaign is pausedA pause holds until somebody resumes it, however long that is.
  7. 7
    It was never scheduledA draft with no send time waits indefinitely. Scheduling is a separate, deliberate act from saving.

Whichever it was, the campaign itself says so: open it and read the reason beside a skipped recipient rather than the totals.

Getting started

Connecting a number and getting a first campaign out.

How do I connect my number?

On the Numbers screen, add the number and scan the pairing code with the WhatsApp app on the phone that holds it. There is no business verification to apply for. The session is held by our WhatsApp service rather than by your browser, so you can close the tab afterwards.

Do I need a new SIM or a second phone?

No. Use the number your customers already have saved — that is the point of it. Replies come back to the same line, into a shared inbox.

What should I do before importing anybody?

Set your sending rules. The sending window, the daily cap, the pace and the opt-in requirement all apply to whatever you do next, and the window is the setting people most often get wrong. The setup guide does these in the right order.

How long does the whole setup take?

About half an hour of real work, most of it deciding on your sending rules and preparing the contact file. Connecting the number itself takes under a minute.

Sending and delivery

What the states mean, and what stops a message going out.

What do the delivery states mean?

Queued means we have accepted it. Sent means the WhatsApp service took it. Delivered and read come back from WhatsApp afterwards, whenever the recipient’s phone reports them — usually seconds, longer if their phone is off. Failed carries the provider’s own reason.

Why does a send only say “queued” at first?

Because that is all that is known at that moment. Delivery is confirmed later over a webhook from the WhatsApp service. Nothing is lost — the message row is updated when the receipt arrives.

My sending hours look wrong. Messages go out at the wrong time.

Sending hours are currently judged in UTC, because a workspace has no timezone of its own yet. A 09:00–20:00 window entered by somebody in Istanbul means 12:00–23:00 to them. Enter the window in UTC — for 09:00–20:00 Istanbul, use 06:00–17:00.

How fast does Birsend send?

Six, twelve or twenty messages a minute depending on the pace you choose — cautious, balanced or brisk. The numbers are sized against what the WhatsApp service can clear rather than against our own capacity, which is why even the fastest is deliberately modest.

Can I raise the daily limit?

Yes, on the workspace settings screen, and a number or a campaign can lower it further. Raising it quickly on a new number is the main way a real line gets restricted, so move it up gradually.

Campaigns

Scheduling, pausing, and the things a campaign will not let you do.

When is the audience decided?

When the send starts, not when you save the campaign. Somebody added to the segment in between is included, and somebody who opted out in between is not. The count shown while you are building it is an estimate for that moment.

Can I pause a campaign that is already going out?

Yes. It stops within a minute and remembers exactly who it had reached. Resuming picks up from the next unsent person — one row per recipient makes “nobody twice” a guarantee rather than a hope.

Why can I not delete a campaign that is sending or paused?

Because the messages already delivered need a record to belong to. A paused campaign is half sent and waiting to finish, which is exactly the case the guard exists for. Let it finish, then delete it.

My campaign was cancelled and I did not cancel it.

A campaign left more than an hour past its hour, with a sending window open, is cancelled automatically rather than delivered late. The reason on the campaign names the hour it was promised for. Give it a new time to send it — a time already past is refused.

The {first_name} placeholder arrived as literal text.

Campaign bodies are sent exactly as written; placeholders fill on automatic replies only. This is a known gap rather than a setting — the groundwork exists and the sending half is not written yet. Check the preview before scheduling.

Is there a test or rehearsal mode?

Not one you can switch on from the panel. The safe rehearsal is a second campaign aimed at a handful of numbers you own — send that, read it on a real phone, then pause and resume it once so you have seen those buttons work.

Why somebody was skipped

Every reason a recipient can be passed over, and what to do about it.

The campaign finished but reached fewer people than the audience.

Every recipient who was not messaged carries a reason. Open the campaign and read them rather than reading the totals — “skipped: 40” is a number, and the reasons are an answer. They fall into two kinds: something about that person, or something about the whole send.

Reasons about one person

Contact blocked, contact opted out, or consent required and not on file. These skip that recipient and the send carries on. Fix them on the contact.

Reasons about the whole send

Outside the sending window, daily cap reached, the workspace is paused, the campaign is paused, or the number is not connected. These stop the run and leave everybody else waiting rather than burning the audience. The campaign continues when the cause clears.

A message was blocked by the word filter.

The safety screen logs every message it stopped, with the category and the exact word that matched. If the word is one you legitimately use, add it to the allow list — it exists precisely for words a filter over-catches.

Contacts and consent

Importing, opt-in, and what happens when somebody says stop.

What file formats can I import?

CSV and plain text. Export as CSV from Excel or Sheets first — an .xlsx will not parse. The import shows you what it read before anything is written and reports every row it could not read rather than refusing the whole file.

Do I have to split the country code out of the number?

No. A single international column is fine — the API and the importer both take the number whole. The panel’s single-contact form asks for the dial code separately because it has a country picker beside the field.

What does “require opt-in” actually do?

It makes Birsend refuse anybody without consent on file, everywhere: campaigns, the inbox and the API. Turn it on if your list’s consent is unclear. The flag on an import is what a send checks, so ticking it on a cold list is how a number gets reported.

What happens when a customer replies STOP?

They are opted out at once, before any automatic reply rule gets the chance to greet them on the way out. From then on every send to them is refused absolutely. The change is filed as evidence with its source and time.

Can I get the proof that somebody agreed?

Yes. Every consent change is stored as an event with where it came from and when, and it is on the contact next to what they were sent. “They never told us” and “they told us to stop” are kept as different facts, so ticking a box again later cannot quietly undo a request to stop.

Why can my API key not delete a contact?

There is no DELETE on any public endpoint. Removing a contact takes their consent record and their history out of the workspace’s sight, which is not something to hand to a script. The contacts page does it with somebody watching.

Files and media

Sizes, formats, voice notes, and where the bytes live.

How large can a file be?

Up to 10 MB per outgoing file. WhatsApp’s own per-kind limits are lower still for video. Large photos are shrunk in the browser before they upload, so a phone photo usually fits on its own.

Can each recipient get their own document?

Not yet. A campaign carries one attachment and every recipient gets the same one. Per-contact documents — their invoice, their ticket — are a known gap.

My voice note arrived as a music player.

Send it through the library with the voice option, which converts it to the format WhatsApp expects. A recording sent as an ordinary audio file arrives as a player on some phones, which looks like a different feature entirely.

Where are the files my customers send me?

In the same library, filed against the contact and browsable by kind. Nothing sits on a public address — every download is checked against your workspace, because the library holds your customers’ documents as well as your own.

Team and access

Accounts, roles, and why no email ever arrives.

My colleague never got an invitation email.

None is sent, and none exists. There is no outbound email on this platform at all. You create the account yourself with a name, an address and a password, and you pass the password on — the account works the moment you save it.

Somebody forgot their password.

There is no reset link, for the same reason. An admin sets a new password on the team screen. That also signs out every other session on the account.

How do permissions work?

Sixteen areas, each with “see it” and “change it”. Three roles ship configured — Admin, Agent, Analyst — and you can add your own. Turning on “change” turns on “see” with it, because the other combination is a screen somebody can act on but not open.

Can I stop somebody seeing the reports or the logs?

Yes, and they are separate areas on purpose: either one shows the shape of the whole business. The activity log is narrower still — it reaches only the owner and admins by default, because it shows every colleague’s actions with times and addresses.

What happens when I remove somebody?

Their sign-in stops working and every session and API key they held is revoked. Everything they wrote — messages, notes, campaigns, log entries — keeps their name on it.

Records and history

Who did what, and how long it is kept.

Can I find out who changed something?

Yes. The Logs page under Workspace records every change with the old value beside the new one — “time zone was Europe/London, now Asia/Tokyo” rather than “profile updated”. It covers seventeen areas including sign-ins and refused sign-ins.

Can an entry be deleted?

No, by anybody, including the workspace owner. There is no delete route anywhere. Entries leave on age alone — currently after 180 days, applied to everything equally.

Are passwords or API keys ever recorded?

Never their values. A password change is recorded as having happened, with the field shown as bullets so it is visible that it changed. Only a hash of an API key is ever stored, and the key itself is shown once.

API and agents

Keys, limits, and what a script or an agent may do.

Where do I get a key?

In the panel under Automations → API for your own software, or Automations → MCP Server for an AI agent. Name it after the system that will hold it and pick its role. The key is shown once; only a hash is stored, so a lost key is replaced rather than recovered.

Can a key do more than I can?

No. What a key may do is the overlap between the role you gave it and your own permissions. That also means a key narrows automatically if you are later given a smaller role.

Does the API bypass my sending rules?

No — that is the point of having them in one place. A key sends under the same hours, caps, consent requirement and word filter as somebody clicking send. A key is a door, not an exemption.

Can my software create a campaign?

No. There is no POST for campaigns, because arming thousands of messages should happen in front of somebody who can see the audience count. Reading, editing, pausing and resuming an existing campaign are all available.

Are there webhooks I can subscribe to?

Not outbound. Your systems poll for a specific send or for the aggregate figures. The only thing that posts to us is the WhatsApp service itself.

How do I avoid sending twice if a request times out?

Pass an Idempotency-Key. A retry with the same key returns the original message rather than sending a second one — which is the case that actually happens: the request succeeded and the response was lost.

If you write to us

Send these five things and the first reply can be an answer instead of a question. The fourth one settles about half of everything that reaches us.

  • The workspace name, and the number you were sending from.
  • The campaign name, or a link to it — not a screenshot of the list.
  • What you expected to happen, and what happened instead.
  • The exact time it happened, and your timezone. Sending hours are judged in UTC, so this decides half of these questions.
  • The reason shown beside a skipped recipient, or the error on a failed message, copied as text.

Reach a person

No ticket queue and no bot loop. Email is best for anything with a screenshot or an export attached; the contact page has the other channels and a form.

[email protected]Contact options

There is no status page yet. If something looks broken across the board, say so and we will tell you what we know.

Cookies

The site runs what it needs to work, including the Crisp chat bubble. Google Analytics is the one thing we will not load unless you agree to it.