WhatsApp Business

Communication Meta access token

Send WhatsApp messages and templates, and manage phone numbers, through the WhatsApp Business Cloud API from any Windmill script, flow or app.

Set up in 3 steps

1

Set up a Meta app

In the Meta developer console, add the WhatsApp product to an app. Its setup page shows the phone number id, the business account id and a temporary token — generate a permanent one from a system user for anything scheduled.

2

Add the resource in Windmill

Open Resources, add a resource of type whatsapp_business, and fill token, phone_number_id and business_account_id. api_version pins the Graph API version.

3

Run your first script

Fork any script below and read before writing anything.

Scripts

Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.

Resource type

whatsapp_business — the shape of the credential every script on this page expects.

View raw schema →
FieldTypeRequiredWhat it is
api_versionstringNoGraph API version to use, e.g. 'v25.0' (optional, defaults to v25.0)
business_account_idstringYesWhatsApp Business Account (WABA) ID, used for template and phone number management. Found in the app dashboard under WhatsApp > API Setup
phone_number_idstringYesID of the WhatsApp business phone number used to send messages (not the phone number itself). Found in the app dashboard under WhatsApp > API Setup
tokenstringYesPermanent access token of a Meta Business System User with whatsapp_business_messaging and whatsapp_business_management permissions. Create it in Meta Business Settings > Users > System Users (https://business.facebook.com/settings/system-users), or use a temporary token from the app dashboard (https://developers.facebook.com/apps > WhatsApp > API Setup) for testing

Questions

The token expires after 24 hours

The one the setup page shows does. Create a system user in Business Settings and generate a permanent token for it instead.

A message to a new contact is not delivered

Outside a 24-hour customer service window, WhatsApp only accepts approved message templates — free-form text is rejected.

Is my token stored on the hub?

Never. It lives only in your own Windmill workspace, encrypted at rest.