Portal Community
Permanent and immediate: Deletion disbands the group for all participants. The group ID can no longer be used to send messages or perform any group operations. Notify participants before deleting an active group.

When to Use

Configuration

Connection

FieldRequiredDescription
accessTokenRequiredPermanent System User access token. Store in BizFirst Credentials Manager.
phoneNumberIdRequiredNumeric string ID of the business phone number. Must be a group admin.
apiVersionOptionalMeta Graph API version. Defaults to v18.0.

Operation

FieldRequiredDescription
groupIdRequiredThe WhatsApp group ID to delete.

Sample Configuration

{
  "resource": "group",
  "operation": "delete",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "123456789012345",
  "groupId": "120363xxxxxxxxxx@g.us"
}

Validation Errors

ErrorCause
accessToken is requiredThe accessToken field is empty.
phoneNumberId is requiredNo Phone Number ID supplied.
groupId is requiredNo group ID provided.
100 (Meta)Group not found or already deleted.
200 (Meta)Phone number is a group member but not an admin — admin privilege required.

Output

Success Port

FieldTypeDescription
successbooltrue when the group was deleted.
groupIdstringThe deleted group ID (echoed for audit).
statusstring"deleted".
rawResponsestringFull raw JSON from the Meta Graph API.

Error Port

FieldTypeDescription
groupIdstringGroup ID echoed from input.
statusstring"failed" or "error".
errorCodestringMeta error code or "timeout".
errorMessagestringHuman-readable error description.

Sample Output

{
  "success": true,
  "groupId": "120363xxxxxxxxxx@g.us",
  "status": "deleted"
}

Expression Reference

ValueExpressionNotes
Deletion confirmed{{ $output.deleteGroup.success }}Gate the local database cleanup step on this boolean.
Deleted group ID{{ $output.deleteGroup.groupId }}Use to mark the group as deleted in the local group table.

Node Policies & GuardRails

Policy AreaRecommendation
Credential storageStore the access token in BizFirst Credentials Manager.
Participant notificationSend a farewell message via message/sendText to the group before deleting, informing participants the group is being disbanded. This is good practice for customer-facing groups.
Audit loggingLog the group ID, subject (retrieved in a prior group/get), deletion timestamp, and initiating workflow to a permanent audit table before calling delete.
IdempotencyTreat a 100 not-found error as a successful idempotent delete in cleanup workflows — the desired outcome is already achieved.
Error portConnect the error port. A 200 permission error requires verifying the phone number has admin status before retrying.

Examples

Project Completion Cleanup

{
  "resource": "group",
  "operation": "delete",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "123456789012345",
  "groupId": "{{ $input.projectGroupId }}"
}

A project closure webhook fires when a project is archived. The workflow first sends a "Project complete — archiving this group" message to the group. After a 30-second delay, this delete node disbands the group. On success: true, the group record is marked deleted in the project database and the group ID is added to the deletion audit log.

Bulk Stale Group Cleanup

{
  "resource": "group",
  "operation": "delete",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "123456789012345",
  "groupId": "{{ $item.groupId }}"
}

A monthly housekeeping workflow calls group/getMany, then a Function node identifies groups not used in the past 60 days by cross-referencing with the message activity log. SplitInBatches iterates the stale group list. This delete node is called for each. Successes and failures are aggregated and emailed to the operations team as a cleanup report.