Connect your own WhatsApp Business account to Lynkow, then send template messages to your customers and track their delivery — without writing any code.

Why This App?

WhatsApp is where many customers actually read messages. The WhatsApp App lets you send order updates, appointment reminders and other notifications from your Lynkow dashboard, and see whether each one was delivered and read.

You bring your own WhatsApp Business account. Lynkow never resells messaging: you keep full ownership of your account, your phone number and your billing relationship with Meta.

Prerequisites

Before you start, you need:

  • A Facebook account (a personal one is fine — it is only used to administer the app)

  • A Meta Business portfolio. If you already run a Facebook Page or Instagram account for your business, you almost certainly have one already, and you should reuse it.

  • A phone with WhatsApp installed, to receive your first test message

  • Admin access to your Lynkow site

  • Roughly 20 minutes

You do not need a dedicated phone number to get started. Meta gives you a free test number that can message up to 5 verified recipients — enough to complete this entire guide. Getting a real number is covered at the end.

What You Are Collecting

The whole Meta side of this guide exists to produce four values, which you will paste into Lynkow:

Value

Where it comes from

WhatsApp Business Account ID (WABA ID)

Meta app → WhatsApp use case → Step 1

Phone Number ID

Same screen

Permanent access token

Business settings → System users

App Secret

Meta app → App settings → Basic

Keep them in a password manager as you go. Two of them are secrets.


Step 1 — Create the Meta app

  1. Go to developers.facebook.com and log in with your Facebook account

  2. Open My AppsCreate App

  3. App details — give it a recognisable name (for example Acme WhatsApp) and a contact email

  4. Use cases — tick only the last card, "Connect with customers on WhatsApp"

    Do not tick "Authenticate and request data from users with Facebook Login", even though Meta labels it "our most common use case". It is not what you need here.

  5. Business — select your existing business portfolio. If it shows "Business verification complete", you are in luck: you will skip the slowest step later.

  6. Requirements — usually shows "No requirements for this app's use cases". Nothing to do.

  7. Overview — check the summary, then click Create app

<!-- SCREENSHOT: the "Use cases" step with the WhatsApp card ticked and Facebook Login untouched -->

Step 2 — Make WhatsApp appear

After creation, the left sidebar shows "Facebook Login for Business" and no WhatsApp entry at all. This is confusing but expected — it does not mean you picked the wrong use case. Meta only reveals WhatsApp once the use case is customised.

On the Dashboard, click the first row: "Customise Connect with customers on WhatsApp".

Equivalent path if you prefer: sidebar → Use cases → the WhatsApp card → Customise.

You land on a panel showing your business portfolio and a note that you will receive a WhatsApp test phone number. Click Continue.

<!-- SCREENSHOT: the app dashboard right after creation, showing Facebook Login and no WhatsApp entry -->

Step 3 — Get your test number, WABA ID and Phone Number ID

You are now on the guided Overview screen.

  1. Make sure the integration type is "Integrate with the API" (it is selected by default). Do not choose "Become a partner".

  2. Click Step 1. Try it out

Meta has already provisioned a test WhatsApp Business account and a US test number. On this screen you will find, on the same line as the number:

  • Phone Number ID — copy it

  • WhatsApp Business Account ID — copy it

There is also an Access token field with a Generate token button. That token expires after 24 hours. Do not use it in Lynkow. You will create a permanent one in Step 5.

  1. In the Recipient field, add your own phone number in international format. Meta sends a verification code over WhatsApp; enter it to confirm.

  2. Leave the default template selected and click Send message. Check your phone — the message should arrive within seconds.

This proves the Meta side works before Lynkow is involved at all. The Test webhooks table at the bottom of the page should also fill with a few messages rows.

If nothing arrives, send any WhatsApp message from your phone to the test number first to open a conversation window, then send again.

Stop here. Do not click through to Step 2. Production setup yet — it asks for a real phone number and a payment method. You will come back to one part of it in Step 7.

<!-- SCREENSHOT: the "Try it out" screen with Phone Number ID and WABA ID visible (values blurred) -->

Step 4 — Copy the App Secret

  1. In the left sidebar, open App settingsBasic

  2. Find App secret on the right, click Show and re-enter your Facebook password

  3. Copy it

Lynkow uses this secret to verify that incoming webhooks genuinely come from Meta.

Step 5 — Create a permanent access token

The 24-hour token is useless for a real integration. You need a System user token that never expires.

  1. Go to business.facebook.com/settings and make sure the correct business portfolio is selected

  2. UsersSystem usersAdd

  3. Name it Lynkow API, role Admin, then Create system user

5.1 — Assign the assets (do not skip this)

This is the step most people miss, and the token silently fails afterwards.

Click Assign assets, then do it twice:

  • Asset type Apps → select your app → enable Full control: Manage appAssign assets

  • Asset type WhatsApp accounts → select your test account (usually named "Test WhatsApp Business Account") → enable Full controlAssign assets

After the first assignment, the Assign assets button disappears from the page. It moves into the menu next to Revoke tokens.

5.2 — Generate the token

Click Generate new token and follow the four steps:

  1. App — select your app

  2. Token expiration — choose Never

    Meta labels 60 days as "recommended". Ignore that here: a 60-day token will break your integration two months from now with no warning.

  3. Permissions — select whatsapp_business_messaging and whatsapp_business_management

  4. Done — click Copy

Copy the token before closing the dialog. Meta shows it exactly once. If you lose it, generate a new one and update Lynkow.

<!-- SCREENSHOT: the token permissions step with both whatsapp_business_* permissions ticked -->


Part 2 — The Lynkow side

Step 6 — Connect your account

  1. In your Lynkow admin dashboard, open AppsWhatsAppAccount

  2. Paste the four values into the form:

    • WhatsApp Business Account ID

    • Phone Number ID

    • Permanent token

    • App Secret

  3. Click Connect

Lynkow makes a live test call to Meta before saving anything. If it succeeds, the page switches to a connected state with a Verified badge and your account's display name. Your token and App Secret are stored encrypted and shown masked from then on (••••c276).

If it fails, jump to Troubleshooting — the error message tells you which of the four values is wrong.

Step 7 — Point Meta's webhook at Lynkow

The connected account page now shows two values under Webhook configuration:

  • Callback URL

  • Verify token

Copy them into Meta:

  1. Back in your Meta app, go to Use casesCustomiseStep 2. Production setup

  2. Expand Configure webhooks

  3. Paste the Callback URL and the Verify token, then click Verify and save

    Meta redirects you to "Permissions and features" afterwards. That is not an error. Navigate back to Step 2 and confirm the Configure webhooks row now has a green tick.

  4. Expand Configure webhooks again and check the Webhook fields table: the messages field should already say Subscribed. Meta subscribes it by default — you normally have nothing to change here.

Without this, messages will still send, but you will never see delivery or read receipts.

You may see a warning that unpublished apps only receive test webhooks. In practice, WhatsApp Cloud API delivery events do reach your endpoint while the app is still unpublished. You do not need to publish the app to complete this guide.

<!-- SCREENSHOT: the "Configure webhooks" block inside Step 2, with callback URL and verify token filled -->

Step 8 — Get a template

WhatsApp does not let you send free-form text to someone who has not messaged you first. Every business-initiated message must use a template approved by Meta.

Open AppsWhatsAppTemplates. You have two options:

Import what you already have. Click Import from my account to pull in every template already approved on your WhatsApp Business account. A brand-new test account comes with a few samples, including hello_world.

Write your own. Click New template and fill in:

  • Template name — lowercase and underscores only, e.g. appointment_reminder_v1

  • CategoryUtility for transactional messages (order updates, reminders); Marketing for promotional ones

  • Language

  • Message body — put variables in double braces, e.g. {{customer_name}}

The template is saved as a Draft first. Click Submit to send it to Meta, and its status becomes Pending. Utility templates without variables are usually approved quickly; marketing templates take longer and are rejected more often.

Some templates are imported but marked Not sendable, with the reason shown inline. Templates using carousels or image headers are not supported by Lynkow yet.

Step 9 — Send your first message

  1. Open AppsWhatsAppMessages and click Compose

  2. Pick an approved template, fill in any variables

  3. Enter recipients, one international-format number per line

    While you are on the free test number, recipients must be on the verified list from Step 3 — a maximum of 5.

  4. Click Send

The message appears in the log as Queued, then moves to Sent and Delivered as Meta reports back. Click any row to open its delivery timeline with timestamps for each event.

If it stays Queued and never progresses, your webhook is not wired correctly — revisit Step 7.


Going to production

Everything above runs on Meta's free test number. To message real customers you need your own number, which means completing Step 2. Production setup in your Meta app:

  • Register a WhatsApp phone number. It must not be currently active on the WhatsApp consumer app or WhatsApp Business app. A landline works if it can receive a verification call.

  • Add a payment method. Meta bills you directly for business-initiated conversations; pricing depends on the message category and the recipient's country.

  • Complete business verification if your portfolio is not verified yet. Meta asks for documents proving your business exists, and review takes a few days.

Nothing changes in Lynkow except the Phone Number ID: update it on the Account page using the reconnect flow, and keep the same WABA ID, token and App Secret.

Troubleshooting

There is no WhatsApp entry in my app's sidebar

Expected right after creating the app. Meta shows Facebook Login for Business instead and only reveals WhatsApp once you customise the use case. Go to the app Dashboard and click "Customise Connect with customers on WhatsApp". See Step 2.

I cannot find the business_management permission

Older guides ask for it. When your app only has the WhatsApp use case, Meta does not offer it in the token permission list, and Lynkow does not need it — whatsapp_business_messaging and whatsapp_business_management are enough.

If you want it anyway, add it first under Use casesOther toolsPermissions and features.

"The Phone Number ID does not belong to the supplied WhatsApp Business Account"

The two IDs come from different accounts. Copy both again from the same Step 1. Try it out screen — they are displayed side by side there.

Connecting fails with an authentication error

Usually one of:

  • The token was copied incomplete. It is long; make sure nothing was truncated.

  • You pasted the 24-hour token from the Try it out screen instead of the System user token.

  • You skipped assigning the assets in Step 5.1. A token whose system user has no access to the WhatsApp account is valid but useless.

  • The App Secret belongs to a different app.

My template was rejected

Meta shows the reason on the template row. The frequent causes are promotional content submitted under the Utility category, placeholders at the very start or end of the body, and variables without example values.

Messages send but never show as delivered

The webhook is not reaching Lynkow. Check that the callback URL and verify token in Meta match the ones on your Account page exactly, that the Configure webhooks row shows a green tick, and that the messages field is subscribed.

My recipient never receives anything

While on the free test number, the recipient must be on the verified list, capped at 5 numbers. Add them in the Recipient field of the Try it out screen and confirm the code sent over WhatsApp.

Security

Your permanent token and App Secret are encrypted at rest and masked in the admin interface after saving. They are never returned in API responses or written to logs. The verify token shown on the Account page is only visible to users who can manage the account.

If you suspect a token was exposed, revoke it in Business settingsSystem usersRevoke tokens, generate a new one, and paste it into the Reconnect section of the Account page. Your other three credentials stay unchanged.