Zernio
Zernio
PlatformsWhatsAppConnection & SetupBroadcastsTemplatesContacts & ProfilePhone NumbersCallingSandboxGroup ChatsInboxFlowsClick-to-WhatsApp AdsPricing & CostsMedia & Limits
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
WhatsApp

Group Chats

Create and manage WhatsApp group chats, participants, and invite links


Group Chats

Create and manage WhatsApp group conversations directly from the API. Groups appear in the Inbox alongside individual conversations, and you can send messages to groups using the same messaging endpoints.

The Groups API is not supported on phone numbers connected via Coexistence (Cloud API + WhatsApp Business app on the same number). Meta disables group create, list, and management endpoints for coexistence and Multi-solution Conversations setups. To use the Groups API, connect a number in Cloud API-only mode.

How to tell if a number is in Coexistence

  • If the same phone number is still active in the WhatsApp Business app on a phone and connected to Zernio at the same time, it's Coexistence.
  • You can also check in Meta Business Suite under WhatsApp Accounts > Phone Numbers. Numbers running Coexistence keep the mobile app registration active alongside the Cloud API.

Migrating a Coexistence number to Cloud API-only

Meta does not expose an API to flip an existing number out of Coexistence. The business has to disconnect from the WhatsApp Business app (Settings > Account > Business Platform > Disconnect on the phone). Once disconnected, Zernio deactivates the account automatically. Reconnect the number via Embedded Signup or Headless Credentials without choosing the "existing WA Business app account" option, and the Groups API will be available.

These are actual WhatsApp group chats on the platform, not contact groups used for broadcast targeting.

Create a Group

const { data } = await zernio.whatsapp.createWhatsAppGroupChat({
  body: {
    accountId: 'YOUR_WHATSAPP_ACCOUNT_ID',
    subject: 'Customer Support Team',
    description: 'Internal support coordination',
    joinApprovalMode: 'approval_required'
  }
});
console.log('Group created:', data.group.groupId);
console.log('Invite link:', data.group.inviteLink);

List Active Groups

const { data } = await zernio.whatsapp.listWhatsAppGroupChats({
  query: { accountId: 'YOUR_WHATSAPP_ACCOUNT_ID', limit: 50 }
});
data.groups.forEach(g => console.log(`${g.subject} (${g.id})`));

Manage Participants

Add up to 8 participants per request, or remove participants from a group:

// Add participants
await zernio.whatsapp.addWhatsAppGroupParticipants({
  path: { groupId: 'GROUP_ID' },
  query: { accountId: 'YOUR_WHATSAPP_ACCOUNT_ID' },
  body: { phoneNumbers: ['+1234567890', '+0987654321'] }
});

// Remove participants
await zernio.whatsapp.removeWhatsAppGroupParticipants({
  path: { groupId: 'GROUP_ID' },
  query: { accountId: 'YOUR_WHATSAPP_ACCOUNT_ID' },
  body: { phoneNumbers: ['+1234567890'] }
});

Invite Links & Join Requests

Generate invite links for your group and manage pending join requests:

// Create invite link
const { data } = await zernio.whatsapp.createWhatsAppGroupInviteLink({
  path: { groupId: 'GROUP_ID' },
  query: { accountId: 'YOUR_WHATSAPP_ACCOUNT_ID' }
});
console.log('Invite link:', data.inviteLink);

// List pending join requests (for groups with approval_required)
const { data: requests } = await zernio.whatsapp.listWhatsAppGroupJoinRequests({
  path: { groupId: 'GROUP_ID' },
  query: { accountId: 'YOUR_WHATSAPP_ACCOUNT_ID' }
});

// Approve join requests
await zernio.whatsapp.approveWhatsAppGroupJoinRequests({
  path: { groupId: 'GROUP_ID' },
  query: { accountId: 'YOUR_WHATSAPP_ACCOUNT_ID' },
  body: { phoneNumbers: ['+1234567890'] }
});

Sending Messages to Groups

Send messages to a group using the standard Inbox messaging API. Group conversations are created automatically when a group message is received, and you can reply using the conversation ID:

// Send a text message to a group conversation
await zernio.messages.sendInboxMessage({
  path: { conversationId: 'CONVERSATION_ID' },
  body: {
    accountId: 'YOUR_ACCOUNT_ID',
    message: 'Hello team!',
  },
});

Group messages from all participants appear in the Inbox. Each group has its own conversation thread identified by the group ID.

Was this page helpful?

Sandbox

Test WhatsApp sending against a sandbox number before going to production

Inbox

Receive and reply to WhatsApp direct messages

On this page

Group ChatsCreate a GroupList Active GroupsManage ParticipantsInvite Links & Join RequestsSending Messages to Groups