Webhook and REST API
Your system calls the API to send and receives every message at an endpoint of yours, by webhook. It is the path with the most control and the base for all the others.
Your own backend, ERP or CRM, Supabase, Chatwoot
Integrations
The ZapZap API talks to any tool that accepts HTTP and webhooks. See the three paths to integrate, the step by step in three calls and the tutorial for each tool.
There is no single way to integrate WhatsApp with a system. The right path depends on who will build it and where your data already lives.
Your system calls the API to send and receives every message at an endpoint of yours, by webhook. It is the path with the most control and the base for all the others.
Your own backend, ERP or CRM, Supabase, Chatwoot
You build the flow in a visual editor and use HTTP and webhook nodes to talk to the API. It fits when a connector already exists for the other side of the flow.
n8n, Make, Zapier
The CRM, chatbot or spreadsheet you already use triggers and receives events through webhooks or native automations, and the bridge to WhatsApp is the API URL.
HubSpot, RD Station, Kommo, Pipedrive, Typebot, Google Sheets and more
Connecting ZapZap to n8n turns WhatsApp into a trigger and an output channel inside your flows. At a clinic, for example, a new appointment lands in a spreadsheet, n8n detects the row and the ZapZap node sends the confirmation to the patient. In the other direction, every incoming message reaches the ZapZap Trigger, which can look up a CRM, pass the text to an n8n AI agent and reply from the same number. ZapZap connects numbers through an unofficial, managed channel, and the behavior of your flow matters: avoid mass sends and identical messages in a row. It costs R$15 per active number per month, prepaid, and you start with a welcome credit when you create the account, subject to the current campaign.
View tutorialPicture an aesthetics clinic that captures leads through a Typeform form or a Google Sheets spreadsheet. Every time a new lead arrives, you want them to get a welcome message on WhatsApp right away, with nobody typing anything. By connecting Zapier to ZapZap API, the Zap listens to the form as the Trigger and, in the action step, sends a POST to the API that delivers the message from your number. On the other side, you can also receive customers' replies in Zapier through ZapZap's webhook and forward them to your CRM, email or Slack. Since ZapZap instances go through community warm-up, anti-ban and AI per instance, this lowers the risk of the number being restricted even with automatic sending volume. The cost is R$15 per active number per month, prepaid, and you start with a welcome credit when you create the account, subject to the current campaign, to test the flow before scaling.
View tutorialWhoever uses Supabase keeps everything in Postgres: sign-ups, orders, appointments, payment status. The problem is notifying the customer on WhatsApp when something changes. By connecting Supabase to ZapZap API, you send the message from inside your own backend. A concrete example: when a row enters the orders table with status confirmed, a database trigger calls an Edge Function that sends the confirmation to the customer's WhatsApp right away. No checking a spreadsheet or pasting numbers by hand. Since ZapZap API uses managed instances with community warm-up and an anti-ban layer, you lower the risk of the account being taken down in automatic sending, and you also have AI per instance to handle customer replies without leaving the flow.
View tutorialOn its own, Chatwoot does not speak WhatsApp for a regular number: either you use the Official API (expensive and bureaucratic) or you have no channel. By connecting ZapZap API, you use a normal WhatsApp number through a managed instance and bring all conversations into the Chatwoot inbox. A concrete scenario: a support team of 5 agents serves hundreds of customers on a single number. The customer messages on WhatsApp, ZapZap fires a webhook, your intermediate layer creates the conversation in Chatwoot and the agent replies from the Chatwoot screen. The reply goes out through Chatwoot's webhook and ZapZap sends it back on WhatsApp. You get conversation distribution, centralized history and support metrics, keeping community warm-up, anti-ban features that lower the account's risk and the option of AI per instance, all for R$15 per active number/month, prepaid and with a welcome credit when you create the account, subject to the current campaign.
View tutorialTypebot is great for capturing data inside a conversation, but by default the conversation happens in the browser. By connecting Typebot to ZapZap API, every lead who finishes the flow can receive a WhatsApp message right away: a confirmation, the booking link, a coupon or a first contact from an agent. A concrete scenario: a clinic publishes a Typebot that asks for name, phone and the procedure of interest. As soon as the lead answers, the integration block calls ZapZap API and the clinic's WhatsApp sends a personalized welcome message with the next steps. The lead leaves the flow and already finds an open conversation on WhatsApp, with nobody typing anything by hand. Since each number runs on a managed instance with community warm-up and AI per instance, this automatic sending happens closer to human behavior, which lowers the risk of a ban.
View tutorialRD Station moves the lead through the funnel, but the conversation really happens on WhatsApp, where the open rate is far above any email. By connecting RD Station to ZapZap API you stop depending only on email and start sending WhatsApp at the right moment: when the lead converts on a Landing Page, when they enter a funnel stage or at each step of a cadence. A concrete example: the lead downloads a resource, enters the Automation Flow, receives a welcome WhatsApp within 2 minutes, and over the following days receives automatic follow-ups until becoming an opportunity. Since ZapZap uses managed instances with community warm-up and an anti-ban layer, this lowers the risk of the account being taken down in volume sending, without the per-conversation cost of the official API.
View tutorialHubSpot is great for organizing the funnel, but email has a low open rate and slow replies. Connecting ZapZap API brings WhatsApp into Workflows: as soon as a lead enters the "Qualified lead" stage or a deal moves to "Meeting scheduled", HubSpot automatically sends a message to the contact's WhatsApp. You stop depending on the salesperson remembering to send the "hi" and start triggering the conversation on the channel where the reply arrives in minutes. Since ZapZap uses managed instances with community warm-up and anti-ban, the volume of automated sending goes out with a lower risk of the number being restricted.
View tutorialConnecting ZapZap API to your own webhook handles both sides of WhatsApp cleanly: incoming messages are pushed to your server and outgoing messages go out via REST. Picture an e-commerce store that wants to reply right away when a customer sends "where is my order" on WhatsApp. Without a webhook, your system would have to poll the API in a loop, wasting latency and processing. With a webhook, ZapZap API fires a POST to your endpoint the instant the message arrives, your backend looks up the order in the database and replies by calling ZapZap API's sending endpoint, all within seconds. Since the number runs on a managed instance with community warm-up and an anti-ban layer, you lower the risk of the account going down while keeping full control of the flow in your code. Each active number costs R$15 per month, prepaid, and you start with a welcome credit when you create the account, subject to the current campaign. Test the integration before scaling.
View tutorialPicture a clinic that receives leads through a form. In Make, the scenario starts when the form is filled in, goes through a qualification module and, at the end, needs to send a welcome WhatsApp message to the lead. By connecting ZapZap API through the HTTP module, Make sends the message from your own WhatsApp number, with community warm-up and an anti-ban layer that lowers the risk of the account going down. In the opposite direction, a Make Webhook receives every message that arrives on WhatsApp and feeds the rest of the scenario: create a task in the CRM, reply automatically, notify the team. You combine Make's visual orchestration with a managed WhatsApp channel, without depending on the official API or on template approval.
View tutorialPeople who work with lists of leads, customers or orders almost always keep everything in a Google Sheets spreadsheet: name in one column, phone in another, status next to it. Connecting that spreadsheet to ZapZap API lets you send WhatsApp messages straight from the rows, without copying number by number on your phone. You can notify customers about an appointment, send an order confirmation or follow up on a list of leads in minutes, marking in the sheet itself who has already received it. Since the sending comes from a managed instance with community warm-up and anti-ban features, you lower the risk of problems when messaging many contacts from the same spreadsheet.
View tutorialA sales team receives leads from ads straight into the Kommo funnel. When the lead enters the "New contact" stage, Salesbot calls a webhook that sends a welcome message on WhatsApp through ZapZap API within seconds. When it moves to "Proposal sent", another trigger sends a reminder with the quote link. If the lead goes cold and lands in "No response", a follow-up sequence is sent automatically. The whole history stays recorded on the lead card inside Kommo, while the actual WhatsApp sending happens through your connected instance.
View tutorialA sales team wants the lead to receive an automatic WhatsApp message as soon as the deal enters the "Proposal sent" stage, and another message when it reaches "Negotiation". Instead of the salesperson having to remember to write manually, the Pipedrive Automation detects the stage change and calls ZapZap API, which sends the right message at the right time. This speeds up follow-up, standardizes communication and keeps the deal warm without repetitive manual work.
View tutorialA supplements store on Shopify wants to reduce abandoned carts and cut down on support tickets. With WhatsApp integrated, every order created fires a confirmation message with the order number and a purchase summary. Fifteen minutes after an abandoned checkout, the customer receives a friendly reminder with the link to complete the purchase. When the order is marked as shipped, the tracking code arrives automatically on WhatsApp. The result is higher conversion on stalled carts and fewer "where is my order" messages by email and chat.
View tutorialAn aesthetics clinic captures leads through an ActiveCampaign form. When the contact joins the list, an Automation fires that sends a welcome email and, in the same flow, a WhatsApp message confirming interest and offering a time slot. If the lead does not reply within 2 days, the automation sends a reminder on WhatsApp. Because the sending happens inside the ActiveCampaign journey itself, marketing and customer service stay in sync with no manual work, and the sales team receives the lead already warmed up on the channel they use the most.
View tutorialA sales team wants every new lead to receive a welcome message on WhatsApp as soon as the deal enters the first stage of the funnel, and a reminder when the deal moves to the proposal stage. With Bitrix24 webhooks configured on the stage change events, each transition fires a call to ZapZap API, which sends the message through the connected number. The salesperson focuses on closing, while the CRM handles the first contact and the follow-up on the channel where the customer replies fastest.
View tutorialA WooCommerce store selling supplements receives dozens of orders a day and wastes time answering the same set of questions: "was my order confirmed?", "has it shipped yet?", "what is the tracking code?". With the integration, every order event becomes a message on the customer's WhatsApp with no human intervention. When the order is created, the customer receives the confirmation with a summary of the items. When the payment is approved and the status changes to "processing", a notice arrives saying the order has entered the picking queue. When the status becomes "completed" or you add the tracking code, the shipping message fires. WooCommerce calls your webhook URL on every change, your backend reads the order payload and passes the message on to the instance connected on ZapZap API. The result is fewer support tickets, customers informed in real time and a higher repurchase rate, all running on a single WhatsApp number for R$15 a month.
View tutorialThe most common use is reacting to sales funnel events. When a Lead comes in from a specific source, a record-triggered Flow calls ZapZap API and sends the welcome message to the contact's WhatsApp within seconds, without depending on the SDR being online. When an Opportunity moves to the proposal sent stage, an Outbound Message (or an HTTP Callout inside the Flow) triggers a webhook that notifies the customer and the salesperson on WhatsApp. The same pattern covers scheduled meeting reminders, contract signature follow-ups, re-engagement of stalled opportunities and internal alerts for the team when a high-value deal advances. That way Salesforce stays the source of truth, and WhatsApp becomes the automatic execution channel.
View tutorialAn aesthetics clinic books every appointment in Google Calendar. One day before each slot, a Google Apps Script scans tomorrow's events, extracts the client's phone number from the event description and sends a personalized WhatsApp reminder with date, time and address. The result is fewer no-shows, fewer last-minute reschedules and a calendar that talks to the client on its own, all starting from the same calendar the front desk already uses every day.
View tutorialPicture a sales funnel in monday.com. When a lead moves to the status "Proposal sent", the customer receives a WhatsApp message with the proposal summary. When it changes to "Closed", the welcome message and next steps go out. The same applies to support, onboarding and billing: every column change becomes an automatic WhatsApp notification to the contact, with nobody copying and pasting messages. The team works only on the monday.com board and the communication happens on its own.
View tutorialAn agency manages client deliverables in ClickUp. Whenever a task enters the status "Client approval", an Automation calls a webhook that sends, through ZapZap API, a WhatsApp message to the client saying there is something to review. When the task changes to "Done", the project manager receives a WhatsApp confirmation with the task name. Tasks that pass their due date also fire an alert in the operations group. The result is less manual chasing, faster client replies and a team that knows how things are going without opening ClickUp.
View tutorialThe most common case is notifying the lead at each step of the sales funnel. Imagine a Deals pipeline with the stages Qualification, Proposal Sent and Closing. When a salesperson drags the card to Proposal Sent, a Workflow Rule fires a Webhook to ZapZap API and the customer receives on WhatsApp a confirmation that the proposal was sent, with a link to check it. The same goes for a meeting reminder when a task is scheduled, a welcome message when a Lead is created or a recovery message when a Deal stalls in a stage. Everything fires on its own, straight from the natural movement the team already makes inside Zoho, with nobody copying numbers and typing messages by hand.
View tutorialPicture a store that uses Mailchimp to nurture its list by email. When a contact joins the Audience or receives the "abandoned cart" tag, the Customer Journey already sends an email. With the integration, the same point in the journey triggers a webhook that calls ZapZap API and sends a WhatsApp message to the customer reinforcing the offer. The result is multichannel communication: email handles the long content and WhatsApp ensures immediate reading of reminders, confirmations and promotions, raising the conversion rate with no manual work.
View tutorialIf you bill by Pix, boleto or card on Asaas, you lose time on two repeated problems: the customer says they paid and you do not see it, or you forget a charge went overdue. With the webhook on, a confirmed payment produces a receipt message within seconds and an overdue charge produces a reminder the same day, with nobody opening the dashboard. WhatsApp is for notifying people who are already customers: message only people who have a relationship with you and make it clear how to stop receiving messages. ZapZap connects numbers through an unofficial, managed channel, so pace and consent matter. It costs R$15 per active number per month, prepaid, and you start with a welcome credit when you create the account, subject to the current campaign.
View tutorialOn Kiwify, sales are lost at three moments: the customer fills in the checkout and disappears, generates the Pix and does not pay, or the subscription renewal is refused. Each one has its own event, and each event can become a message within minutes, with the name and product already filled in. The flow ZapZap generates sends the first message right away and, for cart and Pix or boleto, a second reminder after a wait (30 minutes and 1 hour in the starter texts, which you edit). Message only people who started a purchase with you and include how to stop receiving messages. ZapZap connects numbers through an unofficial, managed channel, and pace matters. It costs R$15 per active number per month, prepaid, with a welcome credit when you create the account, subject to the current campaign.
View tutorialA creator who sells on Hotmart lives on three messages: the welcome when the purchase is approved, the reminder for someone who printed the boleto and did not pay, and the nudge for someone who filled in the checkout and left. Hotmart has an event for all three (PURCHASE_APPROVED, PURCHASE_BILLET_PRINTED and PURCHASE_OUT_OF_SHOPPING_CART), but there is a phone catch that decides whether the flow fires or not, explained below. Message only buyers or leads who left their contact with you, and give them a way to stop receiving messages. ZapZap connects numbers through an unofficial, managed channel. It costs R$15 per active number per month, prepaid, with a welcome credit when you create the account, subject to the current campaign.
View tutorialEduzz has two events that make life easier for anyone recovering sales: the open invoice (invoice_opened) already carries the recovery URL (saleRecoveryUrl) and the boleto link (bankslipUrl), and the abandoned cart (cart_abandonment) carries the checkout URL for the person to come back. With that, the message needs no extra lookup: the link is already in the payload. Message only people who started a purchase, with a way to stop receiving messages. ZapZap connects numbers through an unofficial, managed channel. It costs R$15 per active number per month, prepaid, with a welcome credit when you create the account, subject to the current campaign.
View tutorialFor people building with AI, the gain is to stop pasting documentation and call WhatsApp straight from the conversation: ask Claude to list your instances, check whether a customer list is on WhatsApp, read what came in and draft the reply for you to approve. With ZAPZAP_READ_ONLY=true the server exposes only read tools, ideal for dashboards and reports. ZapZap connects numbers through an unofficial channel: WhatsApp may limit or block any number, so pacing, consent and warm-up matter. It costs R$15 per active number per month, prepaid, with no per-message fee, and you start with a welcome credit when you verify your phone, subject to the current campaign.
View tutorialTwo uses make sense. The first is testing the API while you code: the agent calls check_whatsapp_numbers or get_webhook_deliveries to debug your webhook without leaving the editor. The second is generating code: point the agent at the OpenAPI and llms.txt and it writes the integration using only endpoints that exist. ZapZap connects numbers through an unofficial channel: WhatsApp may limit or block any number, so pacing, consent and warm-up matter. It costs R$15 per active number per month, prepaid, with no per-message fee, and you start with a welcome credit when you verify your phone, subject to the current campaign.
View tutorialIf you are building a CRM, a support bot or a lead dashboard inside Windsurf, connecting the MCP lets Cascade test WhatsApp for real while it writes code: check that the instance is connected, look at the last webhook deliveries and validate test numbers. ZapZap connects numbers through an unofficial channel: WhatsApp may limit or block any number, so pacing, consent and warm-up matter. It costs R$15 per active number per month, prepaid, with no per-message fee, and you start with a welcome credit when you verify your phone, subject to the current campaign.
View tutorialYou describe the product (a scheduler, a lead CRM, an orders portal) and Lovable builds the screen. What it should not do is call the WhatsApp API straight from the browser, because the key would be exposed. The fix is an edge function that takes the request from the app and talks to ZapZap. ZapZap connects numbers through an unofficial channel: WhatsApp may limit or block any number, so pacing, consent and warm-up matter. It costs R$15 per active number per month, prepaid, with no per-message fee, and you start with a welcome credit when you verify your phone, subject to the current campaign.
View tutorialYou ask Bolt for a contact form, an orders panel or an appointment reminder. The part that talks to WhatsApp has to run on the server. The safest flow, and the one this example shows, is to check with POST /chat/check whether the number is on WhatsApp before sending, which avoids errors and lost sends. ZapZap connects numbers through an unofficial channel: WhatsApp may limit or block any number, so pacing, consent and warm-up matter. It costs R$15 per active number per month, prepaid, with no per-message fee, and you start with a welcome credit when you verify your phone, subject to the current campaign.
View tutorialYou generated a lead form or a dashboard and want the WhatsApp sending to happen on the server. In Next.js that is a route handler: the browser calls your route, and the route calls ZapZap with the key held in an environment variable without the NEXT_PUBLIC_ prefix (variables with that prefix go to the browser). ZapZap connects numbers through an unofficial channel: WhatsApp may limit or block any number, so pacing, consent and warm-up matter. It costs R$15 per active number per month, prepaid, with no per-message fee, and you start with a welcome credit when you verify your phone, subject to the current campaign.
View tutorialReplit is good for the side that frontend tools do not cover: an always-available server that receives each ZapZap event, checks the signature, avoids processing the same event twice and triggers your logic or an AI model. ZapZap connects numbers through an unofficial channel: WhatsApp may limit or block any number, so pacing, consent and warm-up matter. It costs R$15 per active number per month, prepaid, with no per-message fee, and you start with a welcome credit when you verify your phone, subject to the current campaign.
View tutorialFor people who want a visual flow without hosting code: a message arrived on WhatsApp, the flow looks up a spreadsheet or a CRM and replies. Or the reverse: a new form lead triggers a WhatsApp confirmation. ZapZap has no piece of its own in Activepieces: the route is webhook and HTTP. ZapZap connects numbers through an unofficial channel: WhatsApp may limit or block any number, so pacing, consent and warm-up matter. It costs R$15 per active number per month, prepaid, with no per-message fee, and you start with a welcome credit when you verify your phone, subject to the current campaign.
View tutorialIt suits people who want real logic between the event and the reply without building a server: receive the message, query an API, call an AI model and reply through ZapZap, all in a few lines. ZapZap connects numbers through an unofficial channel: WhatsApp may limit or block any number, so pacing, consent and warm-up matter. It costs R$15 per active number per month, prepaid, with no per-message fee, and you start with a welcome credit when you verify your phone, subject to the current campaign.
View tutorialEvery WhatsApp integration rests on three calls: create the instance, send a message and receive the replies by webhook. The examples below follow the API reference.
An instance is a connected WhatsApp number. After creating it, connect the number by scanning the QR code (the instance-connect endpoint, in the reference).
POST https://api.zapzapapi.com/api/v1/instances
Headers:
x-api-key: YOUR_API_KEY
x-api-secret: YOUR_API_SECRET
Content-Type: application/json
Body:
{ "name": "my-instance" }
Response:
{ "instance": { "id": "uuid", "name": "my-instance", "status": "PENDING" } }With the instance connected, send text with the number including the country code.
POST https://api.zapzapapi.com/api/v1/{instanceId}/send/text
Headers:
x-api-key: YOUR_API_KEY
x-api-secret: YOUR_API_SECRET
Content-Type: application/json
Body:
{ "number": "5511999999999", "text": "Hi! Your order is confirmed." }
Response:
{ "messageId": "ABCDEF123456", "status": "sent" }Register your system's URL and pick the events you want. Every event is off by default: turn on only the ones you will handle.
POST https://api.zapzapapi.com/api/v1/{instanceId}/webhook
Headers:
x-api-key: YOUR_API_KEY
x-api-secret: YOUR_API_SECRET
Content-Type: application/json
Body:
{ "url": "https://your-system.com/webhook", "events": ["messages", "connection", "messages_update"] }The values above are illustrative. The full fields of each endpoint are in the API reference. Read the documentation
| Webhook and REST API | iPaaS (n8n, Make, Zapier) | Tool connector | |
|---|---|---|---|
| Setup effort | Higher: you write the code | Medium: you build the visual flow | Lower: you configure the automation that already exists |
| Cost with ZapZap | R$15 per active number per month, prepaid | R$15 per active number per month, plus the automation platform plan | R$15 per active number per month, plus whatever the tool charges for automation |
| Needs a developer? | Yes | Usually not | Usually not |
| Control over the flow | Full | High | Depends on what the tool allows |
If your flow has an AI agent that needs to talk over WhatsApp, the agents page explains what already works (API, n8n node, templates) and what does not exist yet.
If the CRM supports outgoing webhooks, has native automations or a connector in n8n, Make or Zapier, you can integrate without coding. If it offers none of those doors, the alternative is a bridge built by you or by an automation platform, reading and writing the CRM data another way, such as a spreadsheet or a database.
There are acceptable-use rules and per-instance limits, described in the API reference and on the acceptable-use page. There is no safe number of messages per day: what matters is sending behavior, such as volume, repetition and who receives. Read the acceptable-use page before you scale.
You decide who receives your messages, and you are responsible for your contacts' consent. Message only people who expect to hear from you, record where each contact came from and offer a simple way to stop receiving. This does not replace legal advice for your case.
To test quickly, an automation platform such as n8n. For production with full control, webhook and REST API. Both use the same calls, so you can start with one and move to the other later.
Create your account, connect a number in minutes and test the API with warm-up and anti-ban. R$15 per active number/month, prepaid, no lock-in.