All guidesGet your WhatsApp Business API from Meta — step by step

Get your WhatsApp Business API from Meta — step by step

From zero to a permanent token in about 20 minutes: business portfolio, developer app, adding and verifying your number, the System User token, App ID and secret — with the fix for every error Meta throws.

9 min readUpdated 21 Oct 2026

In this guide

The WhatsApp Business API is Meta's official way for a business to run WhatsApp from a dashboard instead of a phone — shared inbox, automatic order updates, broadcasts. Getting one is free and takes about 20 minutes on Meta's websites. This guide walks every screen in order and ends with the three values your dashboard asks for: a permanent access token, your number (picked from a list), and — optional but recommended — your app's ID and secret.

Before you start — what you need

Most connection problems come from missing one of these, so check the list first.

📱

A number NOT on WhatsApp

A mobile number that is not currently on the WhatsApp app or WhatsApp Business app. With this manual setup a number works on the app OR on the API, not both (Meta offers a newer coexistence option that keeps both, but only inside certain partner sign-ups this platform does not use yet). To reuse a number, delete its WhatsApp account in the app first (Settings → Account → Delete my account), then wait 10 minutes.

👤

A Facebook account

Meta's business tools sit behind a normal Facebook login. Use the owner's account — it becomes the admin of the business portfolio.

🏢

Business details

Business name (as customers know it), address, category. GST certificate / CIN / a utility bill are only needed later, for verification and higher limits.

💳

A card or UPI for Meta

Meta bills template messages (offers, order updates) per message. Replies to customers inside 24 hours are free even without a payment method.

The map — five Meta things and how they fit

  1. 1Business portfolioThe company that owns everything (business.facebook.com).
  2. 2Developer appA container for API access (developers.facebook.com).
  3. 3WhatsApp Business AccountCreated inside the app — holds your numbers and message layouts.
  4. 4Phone numberYour business number, verified by SMS/call, with a display name.
  5. 5System User + tokenA robot user whose permanent token your dashboard uses to send and receive.
Every ID and token your dashboard asks for comes from one of these five.

Step 1 — Create a Meta Business Portfolio

1

Open Business Settings

Go to business.facebook.com/settings and sign in with the owner's Facebook account. If you already see a business name at the top-left, you have a portfolio — skip to Step 2.

2

Create the portfolio

Tap Create a business portfolio → business name → your name → work email → Create. Meta may ask you to confirm the email; do it now, it unlocks the next steps.

Step 2 — Create a developer app and add WhatsApp

1

Create the app

Open developers.facebook.com/apps → Create App. Use case: Other → app type: Business → app name (your business name is fine) → contact email → business portfolio: pick the one from Step 1 → Create.

2

Add the WhatsApp product

On the app dashboard scroll to WhatsApp → Set up. Meta creates a WhatsApp Business Account for you with a free test number (+1 555…). It can only message 5 phones you list — good for a first test, useless for customers.

Not every +1 555 number is a test number. Meta also gives businesses real US numbers that start with +1 555. Your dashboard asks Meta which one yours is and only marks Meta's own test number as a test number — a real one messages customers like any other number. Your customers in India will see a US number either way, so an Indian business number (Step 3) is still the better choice for trust.

The API Setup page you land on shows a temporary access token. Don't use it in your dashboard — it dies in 24 hours and the connection would silently stop. Step 4 makes a permanent one.

Step 3 — Add and verify your business number

1

Add the number

WhatsApp → API Setup → Add phone number. Fill the business profile: display name (must match your business — Meta reviews it), category, description, website. Then the phone number itself.

2

Verify by SMS or call

Choose SMS or voice call, type the 6-digit code. If the number is still on the WhatsApp app you'll get an error here — delete the WhatsApp account in the app first (see “Before you start”).

3

Note where the IDs live (you may not need to type them)

Under the number you'll see Phone number ID and WhatsApp Business Account ID — long 15–16 digit numbers. Your dashboard's connect wizard finds these by itself from your token, so you usually never type them. They're here if you ever need them.

Do this

  • Copy the 15–16 digit Phone number ID when a form asks for it
  • Use a display name that matches your shop signboard / GST name
  • Keep the number free of the WhatsApp app while it is on the API

Not this

  • Paste your phone number (98765 43210) where an ID is asked — Meta rejects it as 'does not exist'
  • Use the +1 555 test number for real customers
  • Type a display name with 'official', 'verified' or all capitals — reviews fail

Step 4 — Make a permanent access token (the important one)

A System User is a robot account inside your business portfolio. Its token never expires and keeps working even if you change your Facebook password.

1

Create the System User

Open business.facebook.com/settings/system-users → Add → name it “whatsapp-api” → role Admin → Create.

2

Give it access to your app AND your WhatsApp account

Select the system user → Add assets → Apps → tick your app → Full control → Save. Then again Add assets → WhatsApp accounts → tick your WhatsApp Business Account → Full control → Save.

3

Generate the token

Generate new token → pick your app → Token expiration: Never → tick whatsapp_business_messaging and whatsapp_business_management → Generate. Copy it immediately — Meta shows it once. It starts with EAA and is about 200 characters long.

Skipping Step 2 is the #1 connection failure. Without the WhatsApp account assigned to the system user, Meta answers “Object does not exist, cannot be loaded due to missing permissions” for a perfectly correct ID. The fix is always: Add assets → WhatsApp accounts → tick → Full control, then generate the token again.

Step 5 — Copy the App ID and App secret (recommended)

With these two values your dashboard can set up the webhook for you (no Meta screens), confirm every incoming message is genuinely from Meta, and let you upload image or PDF headers for message layouts. Two numbers on one Meta app? Add the App ID and App secret on both — or at least on the one you connected last — so both numbers' messages arrive.

1

Find them

App dashboard → App settings → Basic. The App ID is the number at the top; App secret → Show → copy (32 characters). Keep the secret private — your dashboard stores it encrypted.

Step 6 — Connect in your dashboard

Open WhatsApp → I already have a WhatsApp API account with Meta. The wizard has three short steps — Token, Your number, App details:

  1. Paste the token and tap Continue — find my numbers. The wizard checks it with Meta and says whether it is permanent and which WhatsApp permissions it carries.
  2. Pick your number from the list (each one shows its quality, daily limit and name status). Nothing listed? I don't see my number lets you type the WhatsApp Business Account ID, and Type the Phone number ID instead is there as a last resort.
  3. Paste the App ID and App secret if you copied them and tap Connect & set up webhook — or Skip & connect and add them later in Settings.

You then see a checklist: number verified, webhook set up (or the paste-in steps), registration, token. Use Send yourself a test with your personal number — it sends one of your approved message layouts — then tap Continue to the hub.

If the wizard says…

"What you pasted isn't a Meta access token"You pasted an ID or a partial token. Go back to Step 4 and copy the whole EAA… token.
"You pasted a phone number where the Phone number ID goes"The Phone number ID is a 15–16 digit number Meta gives, not your mobile number. Easier: paste the token and pick the number from the list.
"That ID is your WhatsApp Business Account ID, not the Phone number ID"The wizard shows the numbers inside that account — tap yours.
"Meta can't find this Phone number ID with this token"The system user lacks the WhatsApp account asset (Step 4.2), or the ID is the Business Account ID / App ID. Paste the token first and pick the number from the list instead.
"This token has expired or was revoked"It was the temporary API Setup token, or the password behind it changed. Make a System User token with expiry Never (Step 4).
"Your Meta app is deactivated"Open the app dashboard — a banner explains (usually the yearly Data Use Checkup or a missing Privacy Policy URL). Complete it, tap Reactivate, connect again.
"Your Meta app is set to require an app secret proof"developers.facebook.com → your app → App settings → Advanced → switch off Require App Secret → Save Changes, then connect again.
"Your number isn't registered with the WhatsApp Cloud API yet"Settings → Register number with the Cloud API → choose a 6-digit PIN (or type the one you set in WhatsApp Manager) → Register. Every new number needs this once.
"Meta needs a payment method on your WhatsApp account"business.facebook.com → Billing & payments → add a card or UPI. Replies within 24 hours still work meanwhile.
"Already connected on your other business"The number is already connected on another of your businesses, which the message names — nothing needs connecting again. Open that business from the business switch at the top of the screen (on the WhatsApp page: Switch business). To use the number on this business instead, disconnect it on the business that holds it first.
"Connected on a business you removed"The number is still connected on a business you removed. Restore that business from Removed businesses on All businesses — its chats and settings are there, and to use the number elsewhere, disconnect it there first.
"Number already connected elsewhere"Another account holds this number — for example an agency that set it up. Disconnect it there, or ask them to hand it over to you.

Every refusal shows Why and Fix in plain words, and Meta's exact message stays one tap away under it (Meta's exact message (for support)).

After connecting — verification, name, limits, green tick

1

Add a payment method to Meta

business.facebook.com/billing_hub → add a card or UPI. Without it, template messages (offers, order updates) are refused with “Business eligibility payment issue”.

2

Verify the business (raises your daily limit)

Business Settings → Security centre → Start verification → upload a GST certificate, CIN or a utility bill in the business name. A new business can message 250 people a day first (people outside their 24-hour reply window); the limit then climbs to 2,000 → 10,000 → 100,000 → unlimited by itself while quality stays good, and verifying the business lifts it. The limit is shared by every number in your Meta business. Your dashboard shows where the verification stands under Settings → Number health → Business verification.

3

Display name review

WhatsApp Manager → Phone numbers → your number. The name must match your business; Meta reviews it in hours. A declined name usually contains “official”, all capitals, or a brand you don't own.

4

Green tick (Official Business Account) — optional

WhatsApp Manager → your number → Profile → Request official business account. Needs a verified business and a recognisable brand; most local businesses don't need it and are not held back without it.

Questions people ask at this stage

Can I use my current WhatsApp Business app number?

Only after removing it from the app: WhatsApp app → Settings → Account → Delete my account. Wait 10 minutes, then add it in Step 3. Your chat history in the app doesn't move — export it first if you need it. Most shops keep the app number and put a second number on the API.

Is the API paid?

Getting it is free. Meta bills per template message you start (roughly ₹0.12 for order updates, ₹0.86 for marketing, in India); replies inside 24 hours of a customer's message are free. Your dashboard shows a running estimate of the Meta bill so nothing surprises you.

What is the webhook everyone mentions?

It's the address Meta delivers customer messages and read receipts to. If you gave your App ID and secret in the wizard, it's set for you. Otherwise Settings shows the exact address and verify token to paste under WhatsApp → Configuration in your app, plus the three fields to subscribe.

Where do I get the API key?

WhatsApp doesn't have an “API key” — the equivalent is the permanent access token from Step 4. If a tutorial says API key, it means that token.

I did everything and Meta still says the number does not exist.

Nine times out of ten the system user wasn't given the WhatsApp account (Step 4.2). Add the asset with Full control, generate a new token, and use the wizard's “find my numbers” step — if your number appears in the list, you're done.

It connected, but every message fails with “You do not have the necessary permissions to send messages”.

Your dashboard shows this as This token can read your number but isn't allowed to send from it: the system user that made the token has the WhatsApp permissions, but not this WhatsApp account with Full control. Making a new token the same way fails the same way. Open the system user → Add assets (Meta also calls it Assign assets) → WhatsApp accounts → tick the account your number belongs to → Full control → Save (Step 4.2), then generate a new token for that user and paste it in Settings → Update token / number. Messages that were waiting in a paused broadcast go out when you press Resume.

My token was temporary — how do I swap in the permanent one?

Make the System User token (Step 4), then open Settings → Update token / number and paste it — the same three steps run again and your chats, layouts and automations stay. With a temporary token you get a notification on its last day, before it stops, and the hub shows when it runs out.

Next: How the WhatsApp hub works · Templates & broadcasts · Auto-replies, menus & drips.

More in CRM, WhatsApp & AI

Did this answer your question?

It takes one tap and it genuinely changes what we write next.