Skip to main content
Back to messaging or digital channels Connect your agent to a WhatsApp Business sender so customers reach it from WhatsApp. Artemis reaches WhatsApp through a Business Solution Provider, and the provider you choose decides which credentials you collect, which webhook route you register, and where the sender lives. The setup requires:
  1. Choose a provider, then complete either Meta setup or Infobip setup to collect the routing identifier and credentials.
  2. Artemis channel configuration using those values, then copy the generated webhook URL.
  3. Webhook configuration with your provider: register the callback URL so inbound messages reach Artemis.
After you complete the configuration, your provider posts inbound WhatsApp messages to Artemis, which matches the sender identifier to this connection and hands the message to the deployed agent. Important considerations
  • The provider selector changes the whole setup: It decides which credential fields the dialog shows and which webhook route you register. Credentials from one provider never work with another’s route, so pick the provider before you collect anything.
  • Who owns the WhatsApp Business account differs by provider: On Meta Cloud API, you hold it directly and Meta issues a test sender in minutes. That’s why most projects start there. On Infobip, Infobip holds it and onboards the sender for you, which removes the Meta paperwork at the cost of a provisioning wait.
  • The Meta test token expires within 24 hours: To test and not to run. See Create a permanent access token.
  • Verification proves less than it appears to: A webhook that returns 2xx proves only that your provider reached the runtime. It says nothing about whether your outbound credentials work.

Prerequisites

  • An account with your chosen Business Solution Provider: A Meta developer account, or an Infobip account.
  • For production on either path, the business details Meta requires for verification. Both routes wait on Meta review, so start early.
  • An HTTPS-reachable Artemis runtime, since Meta calls the callback URL during verification.
  • Artemis project access with permission to open Deployments -> Channels, and a deployed agent in the environment you intend to bind.

Choose a provider first

Pick the provider before you collect anything, and keep the identifier, credentials, webhook route, and provider-side sender on that single path. Each provider also has its own webhook route. Meta uses the generic WhatsApp route, while Infobip and Gupshup each add their provider slug to the URL. Copy the route that matches the provider you selected in Artemis rather than assuming one URL serves all three. Work through the provider section that matches your choice, then rejoin the shared path at Artemis channel configuration.

Meta setup

Complete this section only if you selected Meta Cloud API. Everything here happens in Meta, before you open Artemis, and each screen depends on the one before it. Meta covers the same ground in its own words in the Cloud API get started guide.
1

Register as a Meta developer

  1. Go to Meta for Developers and sign in with your Facebook account.
  2. Complete developer registration when Meta prompts you, confirming an email address and a phone number.
A personal Facebook account gets you started. You need a Meta Business portfolio only when you move past the test sender.
2

Create the app

  1. Open My Apps and select Create App.
  2. When Meta asks what the app does, choose the business messaging use case, or choose Other and then Business as the app type if Meta shows you that older flow.
  3. Enter an app name and a contact email, attach a Meta Business portfolio if you have one, and create the app.
The app type matters, because only a business app exposes the WhatsApp product. Meta opens the App Dashboard once the app exists.
3

Add the WhatsApp product

  1. On the App Dashboard, scroll the Add products to your app list to WhatsApp and select Set up. If you’ve navigated away from that screen, the left menu carries an Add product entry that returns you to the same list.
Meta provisions several things at once: a test WhatsApp Business Account, a test business phone number, and a set of pre-approved message templates. The test number reaches up to five verified recipients at no cost. The left menu now shows a WhatsApp section containing API Setup and Configuration, which are the two screens you’ll use.All of this is test infrastructure. It works for development and none of it works for production.
4

Find the Access Token and Phone Number ID

Go to WhatsApp -> API Setup in the left menu. This screen carries most of what Artemis needs.
  1. Select Generate access token and complete the prompt, then copy the token. Meta issues a fresh one each time you open this panel, and it expires within 24 hours.
  2. Below the From field, Meta shows the test business phone number, and directly beneath that, a numeric Phone Number ID. Copy the ID.
The Phone Number ID isn’t the phone number. It’s Meta’s internal identifier for the sender, and entering the displayed number instead is the most common reason a connection never receives traffic. The two values sit next to each other on this screen, which is exactly why they get swapped.
See Create a permanent access token before you move past testing.
5

Find the App Secret

The App Secret lives outside the WhatsApp section, so the left menu is the only way to reach it.
  1. Go to App settings -> Basic.
  2. Select Show beside App secret.
  3. Re-enter your Facebook password when Meta asks, then copy the value.
Meta signs every inbound callback with this secret, and Artemis checks that signature. A wrong value here means every inbound message fails verification even though the webhook itself verified successfully, which makes it a confusing failure to diagnose later.
6

Choose a Verify Token

Choose any secret string. Meta doesn’t issue this one, so you invent it and use the same value in two places: the Artemis connection, and the webhook configuration in Meta. A mismatch fails webhook verification.Treat it as a secret rather than a label, and store it where you can retrieve it, because Meta shows it back to you only while you edit the webhook.
7

Add a test recipient

While the app stays in development mode, Meta delivers only to numbers you register, so your own number receives nothing until you add it.
  1. Return to WhatsApp -> API Setup.
  2. Select the To field and choose Manage phone number list.
  3. Add your WhatsApp number, then enter the confirmation code Meta sends you in WhatsApp.
You can register up to five recipients. Select your number in the To field once it verifies.

Infobip setup

Complete this section only if you selected Infobip. Infobip owns the WhatsApp Business account and the sender. You collect three things from the Infobip web interface instead of from Meta: the sender number, your account’s API base URL, and an API key.
1

Get a WhatsApp sender

  1. Sign in to the Infobip web interface.
  2. Go to Channels and Numbers -> Channels -> WhatsApp -> Senders.
  3. Note the sender number. Artemis wants it as digits only, with no plus sign, spaces, or punctuation.
A trial account comes with a shared test sender that reaches numbers you verify, which is enough to prove the integration works. A production sender goes through Infobip onboarding, where Infobip registers the number with Meta and runs business verification on your behalf. Infobip’s WhatsApp over API guide covers what the channel supports once the sender is live. Start that process early, because it waits on Meta review rather than on Infobip.
2

Find your API base URL

Infobip gives every account a personalized base URL in the form xxxxx.api.infobip.com, which you’ll see on the homepage once you sign in. Infobip explains the scheme under base URL.This URL isn’t a credential. It routes your requests to the data center serving your account, so a wrong one degrades or fails the integration rather than exposing it. Enter it in Artemis with the https:// scheme.
3

Create an API key

  1. Go to Developer Tools -> API Keys and create a key for this integration.
  2. Copy the key when Infobip displays it and store it in your secret manager.
Infobip also shows an existing key on the homepage, but a dedicated key per integration lets you revoke this one without disturbing anything else.If your account authenticates with a username and password instead, note those rather than a key, and select basic authentication as the method when you create the connection.

Artemis channel configuration

Create the connection before you register the webhook with your provider. Provider callbacks can arrive as soon as you save the webhook, and the runtime has to resolve an inbound sender to a saved connection before it can authenticate the event.
  1. Open Artemis and select the project.
  2. Go to Deployments -> Channels -> WhatsApp -> + New. The New WhatsApp Connection dialog opens.
  3. Configure the fields that apply whichever provider you chose:
  4. Configure the routing identifier and credential fields, which change with the provider:
    Meta Cloud API asks for the Phone Number ID twice, once as the routing identifier and once as an outbound credential. Enter the same value in both. Other providers use different values in each field, which is why they stay separate.
  5. Select Create.
  6. Open the connection and copy the Webhook URL from the Overview tab. The URL carries the route for the provider you selected, so copy it rather than constructing it. If the dialog reports that the runtime URL is unavailable, configure Runtime first, then reopen the connection.

Webhook configuration with your provider

The webhook is what turns a one-way integration into a conversation. Until your provider has a callback URL, your agent can send but never receives.
In your Meta app, go to WhatsApp -> Configuration in the left menu. The Webhook row sits at the top of this screen.
  1. Select Edit. Meta opens a dialog with two fields.
  2. Paste the Artemis Webhook URL into the callback URL field, and the same Verify Token you entered in Artemis into the verify token field.
  3. Select Verify and save. Meta immediately calls the URL with a challenge and expects your verify token back, so the dialog stays open with an error when the handshake fails. A dialog that closes means the URL verified.
  4. Below the webhook row, find the webhook fields list, select Manage, and subscribe to the messages field.
Verification alone delivers nothing. Meta verifies the URL whether or not you subscribe to anything, so a verified webhook with no subscription looks correct on screen and still sends your agent no traffic. Check this first when the setup looks right and nothing arrives.

Validation checklist

Verify the connection

Artemis doesn’t synthesize provider callbacks, so a real WhatsApp message is the only way to confirm the integration works end to end.
  1. From a WhatsApp account you registered as a test recipient, send the business sender a short message you can search for later. A distinctive string makes the message easy to find in session records.
  2. Check that the agent replies once, from the intended sender and the intended environment. Duplicate replies point to duplicate provider subscriptions, another automation on the same number, or repeated webhook delivery rather than an agent fault.
  3. If no reply arrives, open Sessions and search for the message you sent. A session that exists tells you the webhook works and the outbound path failed, while no session tells you nothing reached the runtime at all. The two need different fixes, so make this check before you change any configuration.
  4. If the agent sends buttons or lists, select a button and a list row and confirm the action returns to the same session. WhatsApp limits how many reply buttons a message carries and how long their labels run, so check that your authored content renders in WhatsApp rather than only in preview.
  5. Test only the message types your provider enables, then confirm the agent handles the downloaded attachment rather than only acknowledging it.
A webhook that returns 2xx proves only that your provider reached the runtime. It says nothing about whether your outbound credentials work. Always confirm a real two-way conversation before you call the channel done.

Create a permanent access token

This section applies to Meta Cloud API only. Infobip API keys don’t expire on a schedule, so rotate them on your own policy instead. The token on the API Setup page expires within 24 hours, which is enough to test and not enough to run. Replace it with a system user token, which lasts until you revoke it. Meta explains how the token types differ under access tokens. This work happens in Meta Business Suite rather than the App Dashboard, and it needs a Meta Business admin.
1

Create a system user

  1. Open Meta Business Suite and select your business portfolio from the dropdown at the top of the page.
  2. Select its settings icon to open Business settings.
  3. Go to Users -> System users and select Add.
  4. Name the system user, set its role to Admin, and create it.
A system user represents your integration rather than a person, which is why its token survives staff changes.
2

Assign the app and the WhatsApp account

  1. Select the system user you created and select Assign assets.
  2. Assign your app and your WhatsApp Business account, granting full control on each.
  3. Reload the page and confirm both show as assigned before you continue, because a token generated before the assets attach can’t reach them.
3

Generate and store the token

  1. Select Generate token, choose your app, and set the expiration to never.
  2. Select the whatsapp_business_messaging permission so the token can send and receive messages, and whatsapp_business_management so it can manage templates and account settings.
  3. Generate the token and copy it straight into your secret manager, because Meta displays it once and never again.
  4. Update the Access Token on the Artemis connection from the Credentials tab.

Move to production

A test sender covers development and nothing else. Who does the production paperwork depends on your provider. On Meta Cloud API, you complete business verification, add a payment method, register a business phone number in WhatsApp Manager, and get your display name approved. You do all of this from Meta Business Suite. On Infobip, Infobip runs the sender registration and verification for you, and you supply the business details it asks for. Either way the work waits on Meta review, so start it well ahead of your launch date. Two WhatsApp rules shape what your agent can say, whichever provider carries the traffic: The customer service window. After a customer messages you, you can reply freely for 24 hours. Outside that window, an outbound message needs an approved template, so an agent that reaches out first needs templates approved before it can start a conversation at all. Template approval is its own review, and a rejected template blocks the conversation you wrote it for. Separate senders per environment. Use different senders, credentials, webhooks, and connections for development and production. Sharing a sender means test traffic reaches the same conversation history as customer traffic.

Manage the channel connection

Opening a WhatsApp connection from Deployments -> Channels shows four tabs. The header carries the connection name, its environment, its status, and a delete control.
Connection Summary records what the connection is and when it changed.Setup Instructions below the summary carries the values you need on the provider side, each with a copy control.

Key values reference

Each value sits on a different provider screen, and two of them look alike enough to swap by accident. Use the table for your provider to collect everything in one pass.

Troubleshoot connection issues


Provider reference

Use these pages when you need detail beyond what this article covers.
Related articles: