Send Messages to a WhatsApp Group

Send text, media and polls into a WhatsApp group.

Groups are the part of WhatsApp the official Cloud API never reached: there is no endpoint to create one, administer it or read its members. Wapito drives a linked number instead, so a group is an ordinary REST call.

Can the official WhatsApp Cloud API do this?

No. The official API cannot post into a group.

Read the full comparison

How it works

Address the group id like any recipient, attach media by id, ask questions as polls, and aggregate the per-participant delivery receipts.

  1. Send text to the group id

    There is no separate group endpoint: you send to the group's id exactly as any other recipient. Mentioning participants inside the body is what turns a message into a notification for them specifically.

    API reference for this step
  2. Attach an image or a document

    Upload once and reuse the media id across groups rather than re-uploading the same file for each. A caption on the image carries far better than a separate text message immediately afterwards.

    API reference for this step
  3. Ask with a poll rather than free text

    In a group, free-text replies from dozens of people are unusable. A poll returns structured votes keyed to the participant, which a bot can count without guessing what somebody meant.

    API reference for this step
  4. Watch delivery and replies

    Group delivery receipts arrive per participant, so a status event stream from a large group is noisy. Aggregate rather than storing every receipt, and use the messages event for the replies you actually want.

curl --request POST \
  --url https://api.wapito.com/v1/messages/text \
  --header 'Authorization: Bearer wpt_YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"to":"+15551234567","body":"Your order #4182 has shipped. Track it here: https://acme.example/t/4182","typing_time":3}'

Endpoints

Webhook events

  • messagesMessage sent or receivedonMessages()
  • messages.statusDelivery receipt for a sent messageonMessagesStatus()
  • pollsPoll vote cast or changedonPolls()

What you can build with it

  • Post monitoring alerts into a team group

    An operations bot posts alerts into the on-call group with the severity in the first line and a link to the dashboard. Because it is a group, the acknowledgement conversation happens in the same thread rather than in five separate chats.

  • Daily briefing for a delivery fleet

    A logistics company posts the route summary and a map image each morning into the drivers' group, then a poll asking who has started. Vote events update the dispatch board without anyone typing a message back.

  • Class reminders with an attachment

    A tutor posts the week's worksheet as a document into each class group on a schedule, with a caption naming the topic. The document is uploaded once and the same media id is reused across every group.

What the official WhatsApp Cloud API does here

Meta's official WhatsApp Cloud API is built for business messaging: templates, customer-service windows and per-conversation pricing. A large part of what WhatsApp itself can do — groups, channels, status, presence, contact lookups — has no endpoint there at all, which is why so many teams end up looking past it. Everything below is checked against Meta's own published reference, with the link and the date we checked it.

Not possible on the Cloud API

No. The official API cannot post into a group.

Meta's message reference does mention a group recipient type, but there is no way to create a group, list one, or obtain a group id anywhere in the Cloud API, and Meta publishes no group messaging guide. In practice a business on the official platform cannot post into a WhatsApp group.

The messages reference describes the recipient field as "The recipient's phone number for individual messages, and group-id for group message." (verbatim). No endpoint in the reference creates or returns a group id, so the value cannot be obtained.
Meta's WhatsApp documentation — checked

The official workaround

Businesses send the same content to each person individually, which is charged per message, loses the shared thread, and means replies arrive in as many separate conversations as there were recipients.

Wapito is an independent product. It is not affiliated with, endorsed by, sponsored by or certified by WhatsApp or Meta Platforms, Inc. WhatsApp is a trademark of Meta Platforms, Inc.

Gotchas

  • Delivery receipts in a group arrive once per participant, so a message to a group of two hundred produces hundreds of status events - aggregate them or your webhook handler becomes the bottleneck.
  • Mentions only notify people if the mention is formatted correctly and the participant is addressed by their current identity, which in newer groups may be a linked identity rather than a phone number.

Tutorials by language

Automations and integrations

Frequently asked questions

Is there a separate endpoint for group messages?

No, and that is deliberate. Every send endpoint takes a recipient, and a group id is simply one of the recipient forms it accepts. The same call that messages a person messages a group, which means your sending code does not need a special case for groups at all.

How do I mention someone in a group message?

Include the mention in the message body using the participant's identity, and the client renders it as a tap-able name that notifies them. Getting the identity right matters more than it used to, because in newer groups participants may be represented by a linked identity rather than a phone number.

Can I send to many groups at once?

Only by sending to each one in turn. The send queue serialises per channel deliberately, so a fan-out across fifty groups will be paced rather than parallel, and pushing harder returns a saturation error instead of sending faster. Build the loop to expect that pacing.

Do group messages count against my send quota?

Yes, each message counts once regardless of how many people are in the group, which makes groups a very efficient way to reach an audience. That efficiency is exactly why they attract abuse, so the quota is not the constraint that should govern your design - the group's expectations are.

Related

Try it on your own number

Create a channel, link a WhatsApp number by QR or pairing code, and call the API in a couple of minutes. The Sandbox plan is free and needs no card.