Skip to main content

Documentation Index

Fetch the complete documentation index at: https://zapo.to/llms.txt

Use this file to discover all available pages before exploring further.

A broadcast list sends a single message to many contacts at once — each recipient receives it as a normal 1:1 chat and can’t see who else is on the list. Broadcast lists live on client.broadcastList (WaBroadcastListCoordinator). Business-only
Business-only. Broadcast lists are backed by the BusinessBroadcastList app-state schema and only work on WhatsApp Business accounts. On a regular account the server rejects the underlying mutations.

Defining a list

setList creates or updates a list definition — it then appears under Broadcast lists on the phone, synced through app-state. Participants are identified by their LID (lidJid), optionally paired with the phone-number JID (pnJid):
await client.broadcastList.setList({
  id: 'list-1',
  listName: 'Friends',
  participants: [
    { lidJid: 'a@lid', pnJid: 'a@s.whatsapp.net' },
    { lidJid: 'b@lid' }
  ],
  labelIds: ['L1'] // optional — attach business labels
})
Remove a list by its id:
await client.broadcastList.removeList('list-1')

Sending to a list

send takes the same content union as client.message.send — text, media, polls, and so on — plus the broadcast listJid (the list id with an @broadcast suffix) and the explicit recipients to fan out to:
const result = await client.broadcastList.send({
  listJid: 'list-1@broadcast',
  content: 'Weekend sale starts now! 🎉',
  recipients: ['a@lid', 'b@lid']
  // options: { ... }  // same shape as client.message.send options
})

console.log(result.id) // the published message id
Each recipient is encrypted for individually (a fanout), so a single send call is effectively N direct sends behind one request. Pass the usual send options through options.
Broadcast lists are not newsletters/channels: a broadcast reaches your existing contacts as private 1:1 messages, while a channel is a public, follower-based feed.

Client reference

Full client.broadcastList method signatures.

Identities (PN vs LID)

Why participants are keyed by LID.
Last modified on May 28, 2026