Group operations live on client.group (WaGroupCoordinator). Group JIDs end in @g.us.
Querying groups
WaGroupMetadata includes the subject, owner, participant list (WaGroupParticipant[] with isAdmin / isSuperAdmin), and the full set of group flags (announce, restrict, ephemeral, community flags, …).
Creating a group
createGroup returns the full WaGroupMetadata for the new group — no need to call queryGroupMetadata afterward:
Managing participants
The four participant methods (addParticipants, removeParticipants, promoteParticipants, demoteParticipants) return a typed WaParticipantActionResult[] — one entry per jid you passed in. The IQ as a whole succeeds even when some participants fail (blocked you, privacy settings disallow add, already a member, …), so inspect the per-jid code to surface partial failures.
Each result also carries phoneNumber and username when the server resolved them, plus the raw BinaryNode under raw for any extra tags the server attached (some 409/408 partial failures hint at how to recover).
Group settings
setSetting also covers the boolean toggles ephemeral, group_history, allow_admin_reports, no_frequently_forwarded, and the community flags. Use it to flip a feature on or off; for settings that need a value (mode or duration), use the dedicated setters below.
Who can add, link, and share history
All three are admin-only — non-admins receive a 403 not-authorized error.
Disappearing messages
setSetting(groupJid, 'ephemeral', false) is the explicit disable path. To turn disappearing messages on with a specific lifetime, use setEphemeralDuration:
Admin-only. Passing 0 disables disappearing messages — the same as setSetting('ephemeral', false).
Invites
queryInviteCode and revokeInvite are admin-only — non-admins receive a 403 not-authorized.
Leaving
leaveGroup resolves to void once the server acknowledges the request.
Membership approval
For groups that require admin approval to join:
Communities
Communities are parent groups that link sub-groups:
Other community operations include deactivateCommunity, transferCommunityOwnership, and fetchSubgroupSuggestions.
Group events
Changes made by others (subject, participants, settings) arrive on the group event:
See Events for the full payload.