Jotform forms to WhatsApp
Every time someone submits your Jotform form, we write to them on WhatsApp from your number to confirm you got it. The conversation continues in your ChatSales inbox.
What it does and doesn't do
| ✅ It can | 🚫 It can't |
|---|---|
| Message whoever fills in your Jotform form on WhatsApp, as soon as they submit it. | Message someone who left no phone: your form needs a phone field. |
| Use the template we create and send to Meta for you, or one of your own approved flows. | Read your forms or past submissions: only new ones Jotform sends us. |
| Show you every submission that arrived and whether it was messaged (or why not). | Write without a Meta-approved template (Utility category). |
| Check a signature: Jotform doesn't sign its submissions, so the URL is the key. Don't share it; if it leaks, generate a new one. |
🔐 We never ask for passwords or keys from the platform: it sends each submission to a secret URL. ChatSales uses its own token (Settings → API) to create the template and write from your number.
Before you start
You need:
A WhatsApp API number connected in ChatSales (Connect your WhatsApp). These messages are the first contact with someone who has not written to you, so WhatsApp only allows them with a Meta-approved template.
To be an admin of your ChatSales team and have access to your Jotform account.
Open the App Store
In the left menu go to App Store and click Create (1).

Choose Jotform
Find the Jotform card (1) and click it. You can also find it with the Form filter.

Read what it does and save
ChatSales shows you what the integration can and can't do (1) and the steps in Jotform. Click Save (2): we create your webhook URL and the template on your WhatsApp API number, and send it to Meta.

Copy what you will paste into Jotform
Under Connection you see the Webhook URL (1). Copy it with the copy button. Jotform doesn't sign its submissions, so this URL is the key: don't share it, and if it leaks use Generate a new URL.

In Jotform
Now, in another tab:
- In Jotform, open your form and go to "Settings" → "Integrations". Search for "Webhooks" and open it.
- Paste the URL into the webhook field and finish the integration.
- Use a phone field and a full-name field, and add a WhatsApp consent line.
- Send a test with your own number: it shows in Activity and you get the message.
Check that it arrives
Send a test with your own number. In Activity (1) it shows as Sent and you get the message (if Meta is still reviewing the template it shows Waiting and goes out as soon as it's approved).

The message (optional)
Under Message you see the template's status at Meta (1) and the text that is sent. To customise it, pick another flow or create one (2): Meta must approve it. The switch (3) turns it off. Click Save.

Rules that protect your number
So a public form can't be used to make your number write to strangers: one message per number every 24 h, and at most 60 per hour and 300 per day per app. Anything over the limit stays in Activity with the reason.
Numbers without a country code are treated as Mexican (+52) by default. If you get contacts from other countries, turn it off under Connection and we only message numbers with "+code".
Add a consent line to your form (for example "I agree to be contacted on WhatsApp"): WhatsApp requires people to agree to receive messages from your business.
Find it later
Your connected apps show at the top of the App Store, under Your apps (1), with what is left to do. Click Jotform to open it.

Common problems
Activity says "Waiting: Meta is still reviewing the template". Normal in the first days: as soon as Meta approves it, it is sent. If too much time passes (12 h) it is marked "Not sent" so nobody is written to late.
"Not sent: no valid phone". The form had no phone, or had one without a country code and you turned off "Numbers without a country code".
"Waiting: ChatSales lost access". Someone deleted ChatSales' token in Settings → API. Open the app and click Save to reconnect.
I want to stop using it. Under Connection click Disconnect: the URL stops working and this app's activity is deleted.