Skip to main content
Updated Aug 4, 2026

WhatsApp Web & Evolution API

What you'll learn
  • The two unofficial WhatsApp channel types available in AutoTalk
  • How to set up WhatsApp Web (scan-based connection)
  • How to set up Evolution API (self-hosted WhatsApp gateway)
  • How to configure a proxy for WhatsApp Web connections
  • How to choose between them

AutoTalk provides two WhatsApp channel options that do not require Meta's official Business API approval. Both appear as separate tiles in the channel type picker when you add a new channel.


Option 1: WhatsApp Web

Tile label: WhatsApp Web

This option works like WhatsApp Web on a desktop computer. You scan a QR code with your phone, and AutoTalk mirrors your WhatsApp session to receive and send messages.

When to use WhatsApp Web

  • You want the fastest possible setup with no external accounts or API keys
  • You are a small business or solo operator with moderate message volumes
  • You do not need message templates or official API features

Setting up WhatsApp Web

  1. In the sidebar, go to Integrations > Channels.
  2. Click Add channel.
  3. In the channel type picker, select the WhatsApp Web tile (in the WhatsApp group).
  4. On the configuration screen, optionally fill in WhatsApp number (optional) — it is only used to identify the instance in your channel list.
  5. Under Acknowledgements, tick both checkboxes (the hosted-connection cost and the ban-risk notice). The button stays locked until you confirm them.
  6. Click Create channel & get QR. The channel is created disabled, and you are taken to its page where the QR code appears.
  7. On your phone, open WhatsApp and go to Settings > Linked Devices > Link a Device.
  8. Scan the QR code displayed in AutoTalk with your phone's camera.
  9. Once the scan completes, the session goes online and the channel status changes to connected. Metering starts once the session is online.

Important considerations

  • Your phone must remain connected to the internet for the linked session to stay active.
  • If the connection drops (for example, if your phone loses internet for an extended period), you may need to scan a new QR code.
  • This method is best for small to medium message volumes. For high-volume use, consider the official WhatsApp Business API.
  • If the QR code expires before you scan it, refresh the page or the QR code element to generate a new one.

Option 2: Evolution API

Tile label: Evolution API

The Evolution API is a self-hosted WhatsApp gateway. Instead of relying on Meta's cloud infrastructure, you (or your IT team) run the Evolution API server, and AutoTalk connects to it. This gives you more control over the WhatsApp connection, including where data is stored and how the session is managed.

When to use Evolution API

  • Your organization requires self-hosted infrastructure for compliance or data-sovereignty reasons
  • You want more technical control over the WhatsApp connection
  • You have an IT team that can deploy and maintain the Evolution API server

Setting up Evolution API

  1. Deploy an Evolution API instance on your own server or cloud infrastructure. Refer to the Evolution API project documentation for installation steps.
  2. In AutoTalk, go to Integrations > Channels and click Add channel.
  3. In the channel type picker, select the Evolution API tile.
  4. Enter the configuration fields that appear, including the Evolution API server URL and any required authentication credentials.
  5. Save the channel.
  6. Follow any prompts to pair the Evolution API instance with your WhatsApp number (this may involve scanning a QR code on the Evolution API side).

Important considerations

  • You are responsible for hosting, updating, and maintaining the Evolution API server.
  • Uptime of the channel depends on the uptime of your self-hosted server.
  • This option provides the most flexibility and control, but also requires the most technical involvement.

Proxy Settings

WhatsApp Web channels support an optional proxy to route the WhatsApp connection through an intermediary server. This is useful when your server's IP is blocked, when you need to rotate IPs, or when company policy requires outbound traffic to pass through a proxy. (Evolution API channels do not expose proxy settings — configure any proxy on your own Evolution server.)

The proxy section appears as a collapsible panel labeled Proxy Settings inside the channel edit page.

Configuring a proxy

  1. Open the channel edit page (Channels, then click the channel).
  2. Expand the Proxy Settings section.
  3. Fill in the fields:
FieldDescriptionExample
HostHostname or IP address of the proxy serverbrd.superproxy.io
PortPort number33335
ProtocolConnection protocolhttp, https, socks4, or socks5
UsernameAuthentication username (leave blank if not required)brd-customer-abc123
PasswordAuthentication password, stored as a security secretType the password and click Add to create the secret
  1. Click Save to save the channel.
  2. Click Apply Proxy to apply the proxy configuration to the active WhatsApp connection.
tip

The Password field stores your proxy credentials as an encrypted security secret. When you type a password and click Add (or select the create option in the dropdown), the secret is created automatically — you don't need to fill out any extra forms.

caution

You must save the channel before the Apply Proxy button becomes active. If it appears disabled, save first.

Removing a proxy

Apply Proxy only pushes a configured proxy to the active connection — it cannot un-apply one, and once the Host field is empty the button is no longer available. To stop using a proxy, recreate the session without it:

  1. Clear the proxy fields (at minimum Host) in Proxy Settings and save the channel.
  2. Click Delete WhatsApp Web/Evolution session to disconnect the current session. The channel itself is kept and marked disabled.
  3. Click Create WhatsApp Web/Evolution session and scan the QR code again. The new session connects without the proxy.

Comparison: WhatsApp Web vs. Evolution API vs. Official API

FeatureWhatsApp WebEvolution APIWhatsApp API (Oficial)
Setup difficultyVery easyModerate to advancedModerate
Meta approval requiredNoNoYes
Self-hostedNoYesNo
Phone must stay onlineYesDepends on setupNo
Message templatesNoNoYes
In-app proxy supportYesNoNo
Best forQuick start, small teamsTechnical teams, compliance needsHigh volume, official use
tip

If you are unsure which option to choose, start with WhatsApp Web for a quick test. You can always migrate to the official WhatsApp Business API or Evolution API later as your needs grow.

Sending contact cards and polls programmatically

Both WhatsApp Web and Evolution API channels support two structured outbound message types beyond text and media: contact cards and polls. Both are sent through the employee conversation send endpoint, which takes a messages array where each item's fields sit at the top level (there is no body wrapper):

POST /messaging/employee/:employeeId/conversation/:conversationId/message

The examples below authenticate with your login session cookies. Session-authenticated write requests must also pass a double-submit CSRF check: send the csrf cookie issued at login and repeat its value in the x-csrf-token header, alongside the at access cookie. Requests that present the at cookie without the matching CSRF pair are rejected with 403 csrf_failed.

Contact cards (type: "contacts")

curl -X POST "https://run.autotalk.io/messaging/employee/{EMPLOYEE_ID}/conversation/{CONV_ID}/message" \
-H "Content-Type: application/json" \
-H "x-csrf-token: $CSRF" \
--cookie "at=$AT; csrf=$CSRF" \
-d '{
"messages": [
{
"type": "contacts",
"text": "Optional caption shown above the cards",
"contacts": [
{
"displayName": "Alice Reyes",
"phones": [{"phone": "5511987654321", "waId": "5511987654321", "type": "mobile"}],
"emails": [{"email": "[email protected]", "type": "work"}],
"org": {"company": "Example Co."}
}
]
}
]
}'

Limits: at least one card, at most 10 cards per message. Each card requires displayName and one phone (or waId).

Polls (type: "poll")

curl -X POST "https://run.autotalk.io/messaging/employee/{EMPLOYEE_ID}/conversation/{CONV_ID}/message" \
-H "Content-Type: application/json" \
-H "x-csrf-token: $CSRF" \
--cookie "at=$AT; csrf=$CSRF" \
-d '{
"messages": [
{
"type": "poll",
"title": "Favorite color?",
"name": "Favorite color?",
"question": "Favorite color?",
"options": [
{"label": "Red", "value": "Red"},
{"label": "Blue", "value": "Blue"},
{"label": "Green", "value": "Green"}
],
"selectableCount": 1
}
]
}'

Limits: 2 to 10 unique non-empty options. selectableCount must be between 1 and options.length (default 1 = single-choice).

Purpose-built channel actions

The channel page exposes widgets that wrap Evolution API calls behind shaped, allowlisted responses. They are also callable as Dynadata functions on the channels collection:

ActionFunctionLimits
Verify which numbers exist on WhatsAppcheckWhatsappWebEvoNumbers({numbers})up to 100 numbers per request; 50/min, 500/hour, 2000/day per company
List groups, look up by invite, create groupfetchWhatsappWebEvoGroups, findWhatsappWebEvoGroupByInviteCode, createWhatsappWebEvoGroup60 reads/min per channel; 5 group creates per hour per channel

All responses are shaped — the backend never echoes raw Evolution responses, instance metadata, server URLs, API keys, webhook details, or proxy credentials.

Next steps