Send an instant WhatsApp message when a Jotform is submitted: a confirmation to the respondent, an alert to your team, or both. Jotform has native webhook support on all plans including the free tier, so no third-party tools are needed.
Unlike Calendly (Standard plan required) or Typeform (paid plans), Jotform webhooks are available on the Free plan. Free plan: up to 5 forms, 100 submissions per month.
Jotform field keys follow the pattern q4_name, q5_email, where the number is the order the field was added to the form. This number cannot be changed and is unique to your form. Always click Test on the webhook to see your exact keys before mapping them in WA.Expert.
In WA.Expert, create a new automation and set the trigger to Inbound Webhook. Copy the unique webhook URL from the trigger settings.
Jotform Webhooks: jotform.com/help
Jotform sends the webhook as a form-encoded POST. The body contains
individual field keys and a rawRequest key with all fields as a JSON
string. Use rawRequest for the cleanest mapping in WA.Expert.
POST to your WA.Expert webhook URL
Content-Type: application/x-www-form-urlencoded
Top-level keys:
submissionID = '5748291039845829361'
formID = '71406408'
formTitle = 'Contact Us'
q4_name = '{{"first":"Priya","last":"Sharma"}}'
q5_email = 'priya@example.com'
q6_phoneNumber= '+919820000001'
q7_message = 'I am interested in a product demo'
rawRequest = '{...JSON string of all fields...}'
rawRequest parsed:
{{
"q4_name": {{"first": "Priya", "last": "Sharma"}},
"q5_email": "priya@example.com",
"q6_phoneNumber": "+919820000001",
"q7_message": "I am interested in a product demo"
}}Map these paths to WA.Expert variables:
| Variable | Path in rawRequest | Example value |
|---|---|---|
| customer_name | q4_name.first + ' ' + q4_name.last | Priya Sharma |
| customer_first | q4_name.first | Priya |
| customer_email | q5_email | priya@example.com |
| customer_phone | q6_phoneNumber | +919820000001 |
| customer_message | q7_message | I am interested in a product demo |
| submission_id | submissionID | 5748291039845829361 |
Your field numbers (q4, q5, q6, q7) will differ. Use the Test Webhook button to see your exact keys. The number after 'q' is fixed and cannot be changed.
Jotform's built-in Full Name field splits the name into subfields. In rawRequest, it appears as: q4_name: {{first: 'Priya', last: 'Sharma'}}. To get the full name, combine rawRequest.q4_name.first and rawRequest.q4_name.last. If you used a Short Text field for the name instead, it returns a plain string.
Because Jotform field keys are unique to each form, the fastest way to find them is with the built-in test.
rawRequest value. Parse it as JSON to see all your
qN_fieldname keys.1. Priya submits your Jotform contact form:
Name: Priya Sharma | Phone: +919820000001
Email: priya@example.com | Message: Product demo
2. Jotform POSTs to your WA.Expert webhook URL.
3. WA.Expert parses rawRequest JSON and maps:
customer_name = rawRequest.q4_name.first + ' ' + rawRequest.q4_name.last
customer_phone = rawRequest.q6_phoneNumber
customer_email = rawRequest.q5_email
customer_message = rawRequest.q7_message
4. WA.Expert sends your team:
'New Jotform lead: Priya Sharma (+919820000001)
Product demo | priya@example.com'
5. WA.Expert sends Priya:
'Hi Priya, thanks for reaching out!
We have received your enquiry and will contact you
on this number within 2 hours.'| Symptom | Likely cause | Fix |
|---|---|---|
| No webhook firing | Wrong URL or integration not saved | In Jotform Settings → Integrations → Webhooks, confirm the URL and status. Click Test to send a sample payload and verify receipt. |
| Empty name or garbled value | Mapping q4_name as string | The Full Name field is an object: {first, last}. Map rawRequest.q4_name.first and rawRequest.q4_name.last separately. |
| Wrong field values | Mapping wrong q{N} key | Use the Test Webhook button to inspect the exact payload for your form. Field numbers are unique to each form and cannot be changed. |
| rawRequest is a string, not JSON | Jotform sends it URL-encoded | rawRequest arrives as a JSON string; parse it as JSON before reading fields. In WA.Expert, this is typically handled automatically by the webhook trigger. |
| Missing phone number | Phone field not in form | Add a Phone field to your Jotform form. After adding it, use Test Webhook to find its new q{N}_phone key. |
| Webhook fires on Preview submissions | Using Preview mode for testing | Jotform webhooks fire on Preview mode submissions too. Filter test data by checking submissionID patterns, or delete test entries from your form. |
Free trial, no credit card. If you get stuck, we answer live on WhatsApp.