Skip to main content
Admin access to the Meta business portfolio that owns your Meta app and WhatsApp Business Account is required to create a system user and generate its token. The WhatsApp Business Account ID and the Phone Number ID are both long numeric IDs, so make sure each one goes into the matching field.

Create a system user

A system user represents your business rather than a person, so its token keeps working without anyone signing in again.

1

Open System users

Sign in to Meta Business Settings and open Users > System users.

  • Click Add.
The System users page in Business Settings with System users and the Add button highlighted
2

Accept the policy if prompted

The first time you add a system user, Meta asks you to accept its non-discrimination policy on behalf of your system users. Read it and click I Accept.

The non-discrimination policy dialog with the I Accept button highlighted
3

Name the system user and choose its role

In Create system user, enter a name and choose the role, then click Create system user.

  • System user name: StackOne Integration
  • Choose Admin under System user role to give the system user access to every WhatsApp Business Account the business portfolio owns. Adding users to a WhatsApp Business Account also requires an Admin system user.
  • Keep Employee to limit the system user to the WhatsApp Business Accounts you assign to it in the next section.
The Create system user dialog with the System user name, System user role, and Create system user controls highlighted

Give the system user access to your WhatsApp account

The system user can only act on the WhatsApp Business Account and Meta app assigned to it.

1

Open the WhatsApp account

In Business Settings, open Accounts > WhatsApp accounts, select your WhatsApp account, and click Assign people.

The WhatsApp accounts page with the menu item, the selected account, and the Assign people button highlighted
2

Grant full access

In Add people and set permissions, select your system user (it is labeled (System user)).

  • Under Full access, turn on Everything.
  • Click Assign.
The Add people and set permissions dialog with a system user selected, the Everything toggle, and the Assign button highlighted
3

Open your Meta app

A new system user has no app assigned, and Generate token stays unavailable for it until it has access to your Meta app. In Business Settings, open Accounts > Apps, select your Meta app, and click Assign people.

The Apps page in Business Settings with the Apps menu item, the selected app, and the Assign people button highlighted
4

Assign the app to the system user

In Add people and set permissions, select your system user (it is labeled (System user)), give it full access to the app, and click Assign.

  • The system user then appears under People with full access with Full access, and Generate token becomes available for it in Users > System users.
  • A system user that is already assigned shows Already assigned in this list.
The Add people and set permissions dialog for the app with a system user row and the Assign button highlighted

Add the app permissions

The token can only include permissions that are added to your Meta app. Permissions that are not added do not appear when you generate the token.

1

Check the permissions

In your app on Meta for Developers, open Use cases, customize Connect on WhatsApp, and under Other tools select Permissions and features.

  • Check that business_management, whatsapp_business_management, and whatsapp_business_messaging show Ready for testing.
  • For any of them that shows Add instead, click Add.
The Permissions and features page with the three required permissions, an Add button, and the menu item highlighted

Generate the access token

The access token authenticates StackOne requests to the WhatsApp Cloud API on behalf of the system user.

1

Select the app

In Users > System users, select your system user and click Generate token. In Select app, choose your Meta app and click Next.

The Generate token dialog on the Select app step with the app selector and the Next button highlighted
2

Set the token expiry

Under Token expiry, choose Never for a token that does not expire, or 60 days (recommended) if you will rotate it, then click Next.

  • A 60-day token stops working when it expires. Generate a new one and update the Access Token field in StackOne Hub before then.
The Set expiry step with the 60 days and Never options and the Next button highlighted
3

Assign the permissions

Enables actions: Add Assigned User, Approve Join Requests, Block Users, Check Call Permissions, Configure Conversational Automation, Create Business User, Create Flow, Create Group, Create Message Template, Create Schedule, Create WhatsApp Business Account Phone Number, Delete Flow, Delete Group, Delete Group Invite Link, Delete Media, Delete Message Template, Deprecate Flow, Deregister Phone Number, Download Media, Edit Message Template, Get Active Groups, Get Assigned Users, Get Blocked Users, Get Business Profile, Get Client WhatsApp Business Accounts, Get Flow, Get Group, Get Group Invite Link, Get Join Requests, Get Message History, Get Message Template, Get Message Templates, Get Owned WhatsApp Business Accounts, Get Phone Number, Get Schedules, Get Subscribed Apps, Get Unified Organization, Get Unified Role, Get WhatsApp Business Account, Get WhatsApp Business Account Phone Numbers, List Business Users, List Flow Assets, List Flows, List System Users, List Unified Organizations, List Unified Resource Types, List Unified Resource Users, List Unified Roles, Manage Call, Mark Message As Read, Publish Flow, Register Phone Number, Reject Join Requests, Remove Assigned User, Remove Group Participants, Request Verification Code, Reset Group Invite Link, Retrieve Media URL, Send Audio Message, Send Contact Message, Send Document Message, Send Group Invite Template, Send Group Message, Send Image Message, Send Interactive Message, Send Location Message, Send Reaction, Send Sticker Message, Send Template Message, Send Text Message, Send Video Message, Set Two-Step Verification PIN, Unblock Users, Update Business Profile, Update Flow JSON, Update Flow Metadata, Update Group, Update WhatsApp Business Account, Upload Media, Verify Code

Under Select permissions, select the permissions below, then click Generate token. Copy the token and paste it into the Access Token field in StackOne Hub. Store it securely for use later.

The Assign permissions step with three permissions selected and the Generate token button highlighted

Find your WhatsApp Business Account ID

The WhatsApp Business Account ID (WABA ID) identifies the WhatsApp account whose phone numbers, templates, and webhooks the connection uses.

1

Copy the ID in Business Settings

In Business Settings, open Accounts > WhatsApp accounts and select your WhatsApp account.

  • Copy the number shown after ID: and paste it into the WhatsApp Business Account ID field in StackOne Hub.
  • Format: a numeric ID such as 102290129340398
The WhatsApp accounts page with the menu item, the selected account, and its ID highlighted

Find your Phone Number ID (optional)

The Phone Number ID is the ID Meta assigns to a business phone number, not the phone number itself. When it is set, actions that send messages, upload media, or manage a phone number use it by default. Leave it empty to pass phone_number_id on each action instead, or look it up later with the Get WhatsApp Business Account Phone Numbers action.

1

Open the Phone numbers tab

In Business Settings, open Accounts > WhatsApp accounts, select the same WhatsApp account you used for the WABA ID, and open the Phone numbers tab.

  • Click the phone number you want to send from.
The WhatsApp accounts page with the menu item, the Phone numbers tab, and the phone number row highlighted
2

Copy the Phone Number ID

The Phone profile panel opens with the Phone Number ID shown after ID:.

  • Copy the number shown after ID: and paste it into the Phone Number ID field in StackOne Hub.
  • Click Done to close the panel.
  • Format: a numeric ID such as 106540352242922
The Phone profile panel with the Phone Number ID highlighted

Use your Native Webhook URL

Native Webhook URL is generated by StackOne for this account after it connects and identifies the account to StackOne. To receive WhatsApp events, set it as the callback URL in your Meta app’s WhatsApp webhook configuration and subscribe to the webhook fields you need, as described in the WhatsApp Business events setup guide.

Linking the Account from the Hub

1

Navigate to the Hub

Use one of the three Linking Account Methods to access the Hub.
2

Fill out the fields

Fill out the following fields using details from your provider:
  • Access Token
  • WhatsApp Business Account ID
  • Phone Number ID (Optional)
3

Connect

  • Click Connect
  • If applicable, the provider will redirect you to a sign-in or authorization page. Complete the provider’s authorization flow.
  • Once authorization is successful, you will see a confirmation popup

If the account linking is successful, you will see the newly linked account in your Accounts page.

Next Steps

Webhooks setup

Configure receiving Events for WhatsApp Business into StackOne.