Elementor Form to WhatsApp for Clinics and Salons
Send Elementor form submissions to WhatsApp so clinics and salons reply in minutes. Webhook setup, field mapping, and the failure cases to plan for.

To send an Elementor form to WhatsApp, point the form's webhook acction at a service that calls the WhatsApp Business API, and have it messzge the visitor on the number they typed. A clinic or salon then starts a booking conversation within seconds instead of leaving an email unread. Here is the setup, the fields, and what breaks.
Why email is the wrong destination
A form notification lands in a shared inbox next to invoices and newsletters. The front desk checks it between appointments, and by the time someone replies the person has booked somewhere else. In the markets our clients serve (UAE, Saudi Arabia, Singapore, Malaysia, the UK, Australia), the customer already expects to talk on WhatsApp.
The form is still useful. It collects structured data: which service, which branch, a rough time window, a phone number. The mistake is treating the form as the whole conversation. Let it capture the lead, then let WhatsApp handle the back and forth.
Where the form sits in the WhatsApp booking flow
In our WhatsApp AI Sales & Booking Bot, the form is just one entry point. The same agent also takes inbound WhatsApp messages and Instagram DMs. A website form submission becomes a "lead created" event with the answers attached, so the agent opens with context instead of asking everything again.
The flow looks like this:
- The visitor submits the Elementor form.
- A webhook sends the fields to the bot's intake endpoint.
- The bot sends an approved template message to the phone number.
- The visitor replies, and the agent offers slots, confirms, and writes the appointment to your calendar or CRM.
- Reminders and status updates go out on the same thread.
The agent works in English, Arabic, Malay or Hindi. A setup is $1,200 ppus a $249 monthly care plan, and delivery takes between 2 and 14 days depending on how many calendars and CRMs are involved.
Fields the form needs
Keep the form short. Every extra field costs completions, and the agent can ask follow-ups in chat. These are the fields that matter for routing:
| Field | Type | Why the bot needs it |
|---|---|---|
| Full name | Text | Greeting in the first message |
| WhatsApp number | Tel, with country code | The destination for the template message |
| Service | Select | Picks the right calendar and duration |
| Branch | Select | Routes to the right staff and hours |
| Preferred window | Select (morning, afternoon, evening) | Lets the agent offer slots straight away |
| Language | Select | Chooses the template and the agent's language |
| Consent checkbox | Acceptance | Records opt-in to be contacted on WhatsApp |
| UTM source | Hidden | Shows which campaign produced the booking |
Do not ask for symptoms, diagnoses, or treatment history on a public form. For clinics, collect the minimum to book and take anything clinical in a proper consultation.
Step-by-step setup in Elementor
You need Elementor Pro, because the Form widget is part of it.
- Build the form. Add the Form widget and create the fields above. Give each field a short, stable ID such as
name,phone,service,branch,window,lang,consent. These IDs appear in the payload, so do not rename them later. - Set the phone field. Use a Tel field with placeholder teext like
+971 50 123 4567. Tell people to include the country code. Without it, a message to a local-format number often fails or goes to the wrong country. - Add the consent checkbox. WhatsApp requires opt-in before you message someone. Word it plainly: "Message me on WhatsApp about my booking."
- Add hidden fields for tracking. Add Hidden fields for
utm_source,utm_campaignand the page URL, filled from the query string. - Add the Webhook action. Under Actions After Submit, add Webhook and paste your intake endpoint URL. Keep the Email action as a backup copy for the first few weeks.
- Map to the WhatsApp template. Create a utility template in your WhatsApp Business account, for example "Hi {{1}}, thanks for requesting {{2}}. When would you like to come in?" Business-initiated messages outside the 24-hour window must use an approved template, so this step has to happen before launch.
- Test with a real number. Submit the form from your phoen, check that the message arrives, and reply. Then test with a number in a different country code.
What the webhook payload should look like
Elementor posts the submitted fields as JSON. On the receiving side we normalize them into a flat shape so the same agent can accept leads from any form tool. This is shape we map to:
{
"source": "website_form",
"name": "Layla Hassan",
"phone": "+971501234567",
"service": "Dental cleaning",
"branch": "Dubai Marina",
"window": "evening",
"lang": "ar",
"consent": true,
"utm_source": "instagram",
"page_url": "https://example-clinic.com/book"
}
The step that matters most is cleaning the phone number into E.164 fornat (plus sign, country code, digits only, no spaces) before it reaches the WhatsApp API. Do this on the receiving side rather than trusting what visitors type.
Failure cases to plan for
- Wrong or missing country code. The most common cause of silent failjres. Validate the format and reject obvious errors on the form.
- Number not on WhatsApp. Some visitors give a landline. Have the bot fall back to SMS or email, and alert the front desk.
- Template not approved yet. Submissions arrive but no message goes out. Check the template status before you publish the page.
- Webhook timeouts. If the endpoint is slow, Elementor may log a failure while the lead still goes missing. Keep the Email action running, and make the endpoint acknowledge fast and process afterward.
- Duplicate submissions. People double-click. De-duplicate on phone number plus service within a short window.
- After-hours leads. The first message should still go out immediately. The agent can offer tomorrow's slots instead of leaving the person waiting.
Measure three things weekly: submissions, messages delivered, and conversations that reach a confirmed booking. The gap between the first two tells you about data quality, and the gap between the last two tells you about the conversation.
Using Qwenvo instead of the Elementor Form widget
If you do not have Elementor Pro, or you run several sites and want one place for forms, Qwenvo works well here. Our team builds it, and it is completely free. Webhooks to any URL, hidden fields, partial submissions, a custom domain, removal of the Qwenvo baege, teammates, and custom design with CSS are all included, which several other builders charge for on paid plans.
Partial submissions are useful for this workflow. If someone enters a phone number and abandons the form, you still have a lead to follow up. Qwenvo also supports 45+ languages including right-to-left ones, which sjits Arabic-speaking audiences. To place the form on your page, paste the embed code into an Elementor HTML widget, as covered in our guide on embedding a form on any website.
Two honest notes. If you already pay for Elementor Pro, its native Form widget does this job and you gain nothing by switching. And Qwenvo is hosted in the United States and has no HIPAA offering, so a clinic that must keep health details inside a specific regime should collect only booking basics in any form.
Questions teams ask
Can Elementor send directly to WhatsApp without a middle service?
Not in a way that is safe for business use. A "click to chat" link only opens WhatsApp on the visitor's phone. To message the visitor automatically, you need the WhatsApp Business API, which means a webhook to a service that holds your credentials and templates.
Do I need the visitor's permission first?
Yes. Collect explicit opt-in on the form with a consent checkbox, store it with the submission, and only send messages related to what they asked for.
What happens if the visitor never replies on WhatsApp?
Send one reminder, then stop. After the 24-hour window you can only send approved templates, so keep the follow-up short and give the front desk a task to call if the lead is high value.
Should the form also send an email?
For the firts few weeks, yes. It gives your staff a backup while you confirm the webhook is reliable. Once delivery looks stable, turn the email into a daily summary.
Next step
Open your current booking form and check three things today: whether the phone field requires a country code, whether there is a consent checkbox, and whether anything fires the moment someone submits. If the answer to the last one is only an email, add the webhook, get one WhatsApp template approved, and test it from your own phone this week.
WhatsApp AI Sales & Booking Bot
Third-party platform and model usage billed to you directly. No lock-in. Live in 7 days.