Skip to content
Via Webhook

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

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

  1. Step 1

    A visitor submits your form

    The plugin handles the submission as normal, including your emails and thank-you message.

  2. Step 2

    The plugin posts to LeadCentre

    Your web server sends the fields to your webhook URL, as JSON or a URL-encoded post.

  3. Step 3

    LeadCentre matches the fields

    Your saved matching puts each one in the right field, and a lead is created.

  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 sentUsually matched to
name, your-name (Contact Form 7), or Name (Elementor)Full name
email, your-email, or EmailEmail
phone, your-phone, or PhonePhone (mobile or landline)
postcodePostcode
service, or your-subject (Contact Form 7)Enquiry type
message, your-message, or MessageEnquiry / 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.

Get Your Leads Flowing.

Set up your LeadCentre account, connect this source and see your next enquiry arrive on your phone.

Get Started