Create your first automation flow to start processing leads automatically.
| Contact | Flow | Status | Next Step | Enrolled | |
|---|---|---|---|---|---|
| Loading sequences… | |||||
| Flow | Contact | Trigger | Actions Run | Status | Time |
|---|---|---|---|---|---|
| Loading logs… | |||||
| Flow | Contact | Trigger | Actions Run | Status | Time |
|---|---|---|---|---|---|
| Loading logs… | |||||
Wavio exposes a simple REST API that any platform can call. When a lead is submitted anywhere — a Facebook ad, a CRM, a form — the external system sends the lead data to Wavio using your unique API key. Wavio then automatically processes the lead, sends a WhatsApp message, and assigns it to an agent.
- Generate an API key in the API Keys tab
- Connect your lead source — use the Integrations tab for Facebook Lead Ads and website forms, or use the API guides below for n8n, Make, Zapier, or HubSpot
- Create an Automation Flow that fires when a lead arrives
- When a lead submits a form, Wavio receives it instantly and sends a WhatsApp
- When the lead replies, they get auto-assigned to an agent
{{name}} — Contact's name {{phone}} — Contact's phone number {{email}} — Contact's email {{source}} — Where the lead came from (facebook, hubspot…) {{form.city}} — Any field from the form data {{form.interest}} — e.g. if the form had an "interest" field
https://your-domain.comPOST /api/v1/leads Authorization: Bearer wv_live_... Content-Type: application/json { "name": "Ahmad Al-Hassan", "phone": "962791234567", // international, no + or spaces "email": "ahmad@email.com", // optional "source": "facebook", "form_data": { "city": "Amman", "interest": "VIP Ticket" } }
GET /api/v1/ping Authorization: Bearer wv_live_... // Returns: { "success": true, "tenant": "your-workspace" }
n8n is the recommended middleware for connecting Facebook Lead Ads, Google Sheets, or any CRM to Wavio.
- In n8n, create a new Workflow
- Add your trigger node (e.g. Facebook Lead Ads, Webhook, or Schedule)
- Add an HTTP Request node after the trigger
- Configure the HTTP Request node as shown below
- Map the fields from the trigger to the request body
Method: POST URL: https://your-domain.com/api/v1/leads Auth Type: Header Auth Header Name: Authorization Header Value: Bearer wv_live_your_key_here Body (JSON): { "name": "{{ $json.full_name }}", "phone": "{{ $json.phone_number }}", "source": "n8n", "form_data": {{ $json.toJsonString() }} }
- Create a new Scenario in Make
- Add your trigger module (Facebook Lead Ads, Google Forms, etc.)
- Add an HTTP → Make a Request module
- Configure the module as shown below
URL: https://your-domain.com/api/v1/leads Method: POST Headers: Authorization: Bearer wv_live_your_key_here Content-Type: application/json Body (Raw JSON): { "name": "{{1.name}}", "phone": "{{1.phone}}", "source": "facebook", "form_data": { "city": "{{1.city}}" } }
- Create a new Zap
- Set the Trigger to your source (Facebook Lead Ads, Typeform, etc.)
- Add an Action step: Webhooks by Zapier → POST
- Configure the Webhook step as shown below
URL: https://your-domain.com/api/v1/leads Payload Type: json Headers: Authorization: Bearer wv_live_your_key_here Data (key: value): name: Full Name field from trigger phone: Phone Number field from trigger source: facebook
Two recommended approaches: via n8n/Make as middleware, or using HubSpot Workflows with the HTTP Request action.
- Go to Automation → Workflows in HubSpot
- Create a Contact-based workflow with your trigger (e.g. Form submitted)
- Add action: Send a webhook
- Set Method to POST and URL to your Wavio endpoint
- Add the Authorization header with your API key
- Map HubSpot contact properties to the JSON body
URL: https://your-domain.com/api/v1/leads Method: POST Headers: Authorization: Bearer wv_live_your_key_here Request body: { "name": "{{ contact.firstname }} {{ contact.lastname }}", "phone": "{{ contact.phone }}", "source": "hubspot" }
Connect HubSpot as a trigger in n8n or Make, then use the HTTP Request node to call Wavio. This gives you more control over data transformation.
No middleware, no n8n, no Make required.
- Go to Developer → Integrations
- Under Facebook Lead Ads, click Connect Facebook Account
- Log in with the Facebook account that manages your client's page
- Select the Facebook page you want to receive leads from
- Done — leads flow into Wavio automatically from that moment
facebook to
automatically send a WhatsApp message when a lead comes in.
Hi {{name}}! 👋
Thanks for your interest.
We received your details from our Facebook ad.
Someone from our team will reach out to you
on WhatsApp shortly. Stay tuned! 🚀Capture leads from any form on your client's website — quote forms, contact forms, WhatsApp click-to-chat buttons — without changing how the forms look or work.
- Go to Developer → Integrations
- Under Google Tag Manager, click Connect Google Account
- Select the GTM container for your client's website
- Click Install — Wavio automatically creates and publishes the tag
- Done — all form submissions on that website are now captured as leads
- Go to Developer → Integrations
- Under Website Form Capture, select your API key
- Copy the generated snippet
- Paste it on the client's website just before the
</body>tag
<!-- Paste before </body> --> <script src="https://your-domain.com/capture.js?key=YOUR_API_KEY" async></script>
✅ Works with WhatsApp click-to-chat buttons — captures data before WhatsApp opens
✅ Invisible — doesn't change how forms look or behave
✅ Reliable — queues leads locally if connection drops, retries automatically
✅ Works on WordPress, Webflow, Wix, Squarespace, any platform
website to automatically follow up with new website leads on WhatsApp.
Use this to test your integration or connect a custom system directly.
curl -X GET https://your-domain.com/api/v1/ping \
-H "Authorization: Bearer wv_live_your_key_here"curl -X POST https://your-domain.com/api/v1/leads \ -H "Authorization: Bearer wv_live_your_key_here" \ -H "Content-Type: application/json" \ -d '{"name":"Ahmad","phone":"962791234567","source":"test","form_data":{"city":"Amman"}}'
const res = await fetch('https://your-domain.com/api/v1/leads', { method: 'POST', headers: { 'Authorization': 'Bearer wv_live_your_key_here', 'Content-Type': 'application/json' }, body: JSON.stringify({ name: 'Ahmad', phone: '962791234567', source: 'api' }) }); const data = await res.json(); console.log(data); // { success: true, lead_id: '...' }
✅ WhatsApp click-to-chat forms (tracks lead before WhatsApp opens)
✅ Email contact forms (captures lead data before email sends)
✅ Quote request forms, booking forms, any HTML form
✅ WordPress, Webflow, Wix, custom HTML — any platform
| Name | Phone | Status | Delivery | Sent At |
|---|---|---|---|---|
| Select a campaign above | ||||
| Lead Details | Deal Value | Lead Stage | Source | Assigned To | Created |
|---|
Select a lead to view full history & details