Send WordPress Form Enquiries to LeadCentre
On WordPress, your form plugin is what sends the enquiry on, so the real question is whether your plugin can post to a webhook, and on which licence. Here's what each of the main plugins needs, and how to set it up with LeadCentre.
Via Webhook: The platform posts each lead to your LeadCentre webhook URL.
What This Does
This works by your form plugin posting each submission to your LeadCentre webhook URL when the visitor presses send. LeadCentre matches the fields and creates a lead. Your form, thank-you message and email notifications carry on as before, and the post comes from your server, so the key stays out of your page's code.
What each plugin needs
- WPForms: the Webhooks addon, which WPForms' guide says needs an Elite licence.
- Gravity Forms: the Webhooks Add-On, which Gravity Forms makes available on its Elite and Nonprofit licences.
- Elementor Forms: the Webhook action, part of Elementor Pro. Elementor's help lists form integrations on the Advanced plan and above, and on Elementor Hosting's Business plan and above or Sell+ Pro and above.
- Fluent Forms: webhooks need Fluent Forms Pro.
- Contact Form 7: it can't do this alone, so it needs an extra plugin. CF7 to Webhook is a free third-party option that posts JSON to any URL.
Licences and plan names change, so check the vendor's page before you buy anything. Other plugins can work too, as long as they can send JSON or a URL-encoded post.
Things that catch people out
- File uploads. LeadCentre doesn't read multipart/form-data, and a post can be up to 64 KB, so don't send files. A file sent as base64 text will soon pass that limit. Send a link to the file instead, if your plugin offers one.
- Fields with several answers. WPForms joins them with two pipe characters, such as Roof||Gutters, and they arrive in LeadCentre just like that. A single choice question is easier to work with.
- Elementor treats anything but a 200 as a failure, so a replaced URL can show your visitors the form's error message. Update it promptly.
- Spam. LeadCentre doesn't filter spam. Keep your form's spam protection on, or junk becomes leads.
Useful For
- A trade business with a WordPress site whose builder has long gone, and who just needs enquiries to reach a phone
- Web designers looking after several client sites, each with its own form plugin and LeadCentre account
- Site owners deciding whether to upgrade a form plugin licence or switch to a cheaper route
- Anyone with more than one form who wants each to show as its own lead source
How Leads Flow Into LeadCentre
Step 1
A visitor submits your form
The plugin handles the submission as normal, including your emails and thank-you message.
Step 2
The plugin posts to LeadCentre
Your web server sends the fields to your webhook URL, as JSON or a URL-encoded post.
Step 3
LeadCentre matches the fields
Your saved matching puts each one in the right field, and a lead is created.
Step 4
You're alerted
A push notification goes to the app. Set a follow-up if you can't reach them first time.
How to Set It Up
- 1
Create a key
In LeadCentre, go to Settings > Connections. Under "Add another key", type a name such as Website contact form and press "Create". Press "Copy" and keep the URL safe, as it's only shown once. The name becomes the lead's source. Forms with the same field names can share a key, otherwise give each form its own.
- 2
Start listening
Follow "Next: test and match fields" and press "Listen for test data". It lasts 15 minutes. Then do just one of the next five steps, for the plugin you use.
- 3
If you use WPForms
Install and activate the Webhooks addon. Open your form, go to Settings, then Webhooks, and turn on Enable Webhooks. Paste the URL into Request URL, set Request Method to POST and Request Format to JSON. Leave Secret blank. Under Request Body, add a row for each field: a simple name on the left, such as email, and the form field on the right. Save the form.
- 4
If you use Gravity Forms
Install and activate the Webhooks Add-On. Open your form, go to Form Settings, then Webhooks, and press Add New. Name the feed, paste the URL into Request URL, set Request Method to POST and Request Format to JSON. Set Request Body to Select Fields and add a simple name for each field. Avoid All Fields, which sends the raw entry with numbered names that are harder to match. Save the feed.
- 5
If you use Elementor Forms
Edit the form in Elementor. Under Actions After Submit, add Webhook. In the Webhook section that appears, paste the URL. Leave Advanced Data off, so fields arrive under their labels. Update the page.
- 6
If you use Fluent Forms
In Fluent Forms, go to Integrations, search for Webhooks and turn it on. Open your form, go to Settings, then Settings & Integrations, choose WebHook and press + Add New. Name it, paste the URL into Request URL, set Request Method to POST and Request Format to JSON. Leave Request Body unset to send every field, or pick the ones you want. Press Save Feed.
- 7
If you use Contact Form 7
Install and activate CF7 to Webhook. Open your form in Contact Form 7 and use the tab that plugin adds, which is still labelled Zapier. Turn it on, paste the URL and save. Your fields arrive under their tag names, such as your-email. To change one, add a webhook option to the tag, as the plugin's page explains.
- 8
Submit a test entry
Fill in every field on your live form and send it. Empty fields aren't shown on the matching screen. Your fields should appear under "2. Match the fields" a few seconds later.
- 9
Match, save and stop listening
Check Smart Match's suggestions, choose a field for each row you want or leave it on Do not use, then press "Save field matching". Press "Stop listening", because a real enquiry sent while listening counts as test data. Send one more entry and check it appears in your Leads list.
Supported Fields
Names depend on your plugin. Where you can type your own, as in WPForms, Gravity Forms with Select Fields and Fluent Forms, use simple ones like name, email, phone, postcode, service and message, which Smart Match recognises. Elementor uses your field labels, and adds form_id and form_name. Contact Form 7 uses its tag names.
| Field sent | Usually matched to |
|---|---|
| name, your-name (Contact Form 7), or Name (Elementor) | Full name |
| email, your-email, or Email | |
| phone, your-phone, or Phone | Phone (mobile or landline) |
| postcode | Postcode |
| service, or your-subject (Contact Form 7) | Enquiry type |
| message, your-message, or Message | Enquiry / Message |
| form_name (Elementor) | Lead source |
| form_id, Remote IP, User Agent, Page URL (Elementor) | Do not use, or a custom field for Page URL |
Common Problems
My test entry isn't showing in LeadCentre
Check listening is on, as it stops after 15 minutes, and that you have the right key's page open. Check the webhook is switched on for this form, and that no conditional logic is stopping it. Check the format is JSON or FORM too, as LeadCentre refuses multipart/form-data and nothing will show. If it still doesn't arrive, a security plugin or your host may be blocking outgoing requests, so ask them to allow hooks.leadcentre.com.
A lead shows "Waiting for field matching"
It was sent before anything was matched on that key, so it's being held. Match the fields and press "Save field matching". The banner tells you how many waiting leads were added.
LeadCentre answers with a 415
Your plugin or code is sending multipart/form-data, which LeadCentre doesn't read, so no lead was created. Change the format to JSON or FORM. In custom PHP, passing an array to CURLOPT_POSTFIELDS is the usual cause.
My Gravity Forms fields are just numbers
The feed is set to All Fields, which sends the raw entry. Change Request Body to Select Fields and give each one a name, then send another entry while listening and match the new names.
Visitors see an error when they submit my Elementor form
Elementor shows its error when the webhook gets anything other than a 200. The usual cause is an old URL answering 401 after it was replaced. Paste in the current one, or remove the Webhook action until you have it.
Test leads from my staging site are reaching LeadCentre
A copied site keeps the same webhook settings. Remove the webhook from the staging copy, or add &test=1 to the URL there, so its posts are always treated as test data.
I lost the webhook URL
It's shown once, and LeadCentre only keeps a scrambled copy, so it can't be looked up. Open the key and press "Replace this URL", or "Get a URL to copy" if it has never been used. Paste the new one into every form using that key. Your field matching stays.
I need to rotate the key
Make a list of the forms using that key, then press "Replace this URL". The old one stops at once, and enquiries sent to it are refused, so update each form straight away. Your plugin's own entries or notification emails are your record of anything sent in the gap.
Questions About This Connection
What's the cheapest way to do this?
Contact Form 7 and the CF7 to Webhook plugin are both free. If you already pay for a form plugin on a lower licence, compare the cost of upgrading with moving that form to Contact Form 7.
Will my form still email me?
Yes. The webhook is an extra action, so your notifications carry on. It's worth keeping one on as a backup record.
Can I do this without a paid licence, with some code?
Yes, if you have a developer. A short snippet can post the fields from a plugin's submission hook to your URL, using wp_remote_post with a JSON body. The website forms guide covers the format.
Should each form have its own key?
It depends on the fields. Forms using the same names can share a key and its matching. Give a form its own key when its fields differ, or when you want it shown as a separate lead source.
Related Features and Guides
Get Your Leads Flowing.
Set up your LeadCentre account, connect this source and see your next enquiry arrive on your phone.