Portal Community
API endpoint: Calls GET /{groupId}/invite_link. Returns a link property in the form https://chat.whatsapp.com/{code} along with the raw code component. The business phone number must be a member of the group to retrieve the invite link.

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 member.
apiVersionOptionalMeta Graph API version. Defaults to v18.0.

Operation

FieldRequiredDescription
groupIdRequiredThe WhatsApp group ID (e.g. 120363xxxxxxxxxx@g.us).
Link sensitivity: Invite links grant anyone who has the link the ability to join the group. Do not expose the link publicly or store it in unsecured systems. Distribute it only through trusted, authenticated channels.

Sample Configuration

{
  "resource": "group",
  "operation": "get-invite-link",
  "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 the business phone number is not a member of the group.
200 (Meta)Permission denied — the access token lacks the required WhatsApp Business API permission scope.

Output

Success Port

FieldTypeDescription
groupIdstringThe group ID, echoed from input.
inviteLinkstringFull invite URL in the form https://chat.whatsapp.com/{code}.
codestringThe raw invite code portion of the URL (the path segment after chat.whatsapp.com/).
statusstring"success".
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

{
  "groupId": "120363xxxxxxxxxx@g.us",
  "inviteLink": "https://chat.whatsapp.com/AbCdEfGhIjK1234567890",
  "code": "AbCdEfGhIjK1234567890",
  "status": "success"
}

Expression Reference

ValueExpressionNotes
Full invite link{{ $output.getInviteLink.inviteLink }}Embed directly in an email body, SMS, or as a button URL in an interactive message.
Raw code only{{ $output.getInviteLink.code }}Use when you need to construct a custom deep-link or store only the code in a database.
Group ID{{ $output.getInviteLink.groupId }}Echo of the input groupId — useful for correlation when processing multiple groups in a loop.

Node Policies & GuardRails

Examples

Example 1 — Retrieve invite link and send in a welcome email

A new member registration trigger fires. The workflow fetches the group invite link, then passes it to an email node:

// Step 1 — Get the invite link (group/getInviteLink node)
{
  "resource": "group",
  "operation": "get-invite-link",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "{{ $env.WA_PHONE_NUMBER_ID }}",
  "groupId": "{{ $env.VIP_GROUP_ID }}"
}

// Step 2 — Send welcome email (Email node, references Step 1 output)
{
  "to": "{{ $trigger.email }}",
  "subject": "Welcome — join our VIP WhatsApp group",
  "body": "Click here to join: {{ $nodes.GetInviteLink.output.inviteLink }}"
}

Example 2 — Dynamically embed the link in a WhatsApp message

When a customer books a service, the workflow retrieves the support group link and sends it as a WhatsApp text message to the customer's personal number:

// Step 1 — Get invite link
{
  "resource": "group",
  "operation": "get-invite-link",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "{{ $env.WA_PHONE_NUMBER_ID }}",
  "groupId": "{{ $nodes.BookingLookup.output.supportGroupId }}"
}

// Step 2 — Send message with the link (message/sendText node)
{
  "resource": "message",
  "operation": "sendText",
  "to": "{{ $trigger.customerPhone }}",
  "text": "Your support group is ready. Join here: {{ $nodes.GetInviteLink.output.inviteLink }}"
}

Example 3 — Bulk link refresh on a nightly schedule

A scheduled cron workflow runs each night, reads all active group IDs from a database, fetches each group's current invite link, and updates the database record if the link has changed:

{
  "resource": "group",
  "operation": "get-invite-link",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "{{ $env.WA_PHONE_NUMBER_ID }}",
  "groupId": "{{ $item.groupId }}"
}
// Compare {{ $output.getInviteLink.inviteLink }} with {{ $item.storedLink }}
// If different, update the database record via a DB node