CF7 to Webhook


Contact Form 7 (CF7) is a awesome plugin used by 1+ million WordPress websites.

Webhooks are endpoint (urls) you can send data!

Now you can join both: the best contact form plugin to WordPress and any webhook which receive JSON!

And Zapier?

Zapier (Zapier) is a awesome service to connect your apps and automate workflows!

Just activate and configure Zapier to receive data!

Disclaimer: this plugin was created without any encouragement from Zapier or CF7 developers and any webhook/API service.

How to Use

Easily and quickly! Just activate “Contact Form 7” and “CF7 to Webhook” and configure a URL to send data (or go to Zapier to create your Zap).


This is a example to integrate with Zapier:

  1. Create a Zap.
  2. Choose your trigger as “Webhooks” app (Screenshot 2).
  3. Choose “Catch Hook” option (Screenshot 3).
  4. Done! Now insert the URL given (Screenshot 4) into your Contact Form configuration and activate integration.

Creating your workflow

After configuration you can send one form to create a example data into Zapier dashboard. Then you can continue creating your workflow with filters and other apps.


You can translate CF7 to Webhook to your language.


We would be grateful for a review here.


  • Contact Form 7 – 5.9.X


  • CF7 to Webhook configuration
  • Zapier Step 1 – Choosing you app trigger
  • Zapier Step 2 – Choosing Catch Hook option
  • Zapier Step 3 – Webhook URL (waiting for first data)


Install Contact Form 7 and activate it.

  • Install “CF7 to Webhook” by plugins dashboard.


  • Upload the entire cf7-to-zapier folder to the /wp-content/plugins/ directory.


  • Activate the plugin through the ‘Plugins’ menu in WordPress.

You will find ‘Zapier’ tab into form configuration.


Did you renamed the plugin?

Yes. Due to this.

Does it works with Gutenberg?

Yes. We support WordPress 5+ and CF7 too.

Does it works for forms sent out of CF7?

Nope. The intention here is to integrate CF7 to Zapier (and another webhooks).

Can I use it without Zapier?

Yep. We are creating a integration to Zapier webhook, but you can insert any URL to receive a JSON formated data.

My sent data is empty

Please, go to support forum to get help.

How can I submit one form to multiple webhooks?

Just add one webhook per line in “Webhook URL” settings.

Please, read this topic for more information.

How can I show webhook errors on form submit?

We already show WordPress request errors. If you want to add theatment to webhook errors, please check this post.

How can I upload files and send link to webhook?

If you send a form with file, we will copy this to a directory before CF7 remove it and send the link to Zapier.

How can I rename a field to webhook?

You can add a “webhook” option to your field on form edit tab.

It’s like the “class” option: [text your-field class:form-control id:field-id webhook:webhook-key].

This will create a text field with name “your-field”, class “form-control”, id “field-id” and will be sent to webhook with key “webhook-key”.

How I can get the free text value?

We will replace the value for last option (which is the free_text input) with the value.

This way your webhook will receive the free text value and other options if you allow it (like in checkbox).

Who is the developer?

Mário Valney

Brazilian developer who is part of WordPress community.

Can I help you?

Yes! Visit GitHub repository or make a donation.


July 15, 2024 1 reply
It does a perfect job of sending any of the submitted form data to Zapier. The problem comes when you try and format that data to into the apps you want to send it too. Not this plugins fault.
Read all 36 reviews

Contributors & Developers

“CF7 to Webhook” is open source software. The following people have contributed to this plugin.


“CF7 to Webhook” has been translated into 3 locales. Thank you to the translators for their contributions.

Translate “CF7 to Webhook” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Avoid empty webhook URLs.


  • Just some docs and donate link.
  • Added ‘ctz_remove_donation_alert’ filter to remove donate link.


  • New feature: placeholders in webhook URL read more.
  • Added ‘ctz_hook_url_placeholder’ filter.
  • Tested against new CF7 and WP versions.


  • Added support to “raw” values (label value in PIPES).
  • Added support to multiple webhook URLs.
  • Added ‘ctz_trigger_webhook_errors’ action to allow trigger submission error after ignoring them.
  • Tested against new CF7 and WP versions.


  • Added Custom Header option.
  • Added ‘ctz_ignore_default_webhook’ to allow ignore core submit.
  • Added more parameters to ‘ctz_trigger_webhook’ action.
  • Added more parameters to ‘ctz_post_request_args’ action.


  • Some minor adjustments.
  • Tested against new CF7 and WP versions.


  • Support to CF7 new way to load properties.


  • Support to CF7 multiple files upload.
  • Support to files with same name.


  • Support to CF7 5.2.1 changing ‘wpcf7_special_mail_tags’ filter.


  • Support to CF7 5.2 changing ‘free_text’ input name.

Props to @brunojlt


  • Support to free_text option on radio and checkboxes.


  • Added ‘ctz_hook_url’ filter to change webhook URL

Props to @shoreline-chrism


  • Fix checkboxes.


  • Fix slashes on POST data.


  • Support to rename fields.


  • Plugin renamed.


  • Support to submit files.


  • Show form error when WordPress request fails and added support to throw or own exceptions.
  • Added ‘ctz_post_request_result’ action after submit.
  • Added ‘ctz_trigger_webhook_error_message’ filter to change form message error.


  • Remove PHP 7+ dependency.
  • It’s sad… I know.


  • Added support to [Special Mail Tags] ( on CF7.
  • Tested against WP 5.0.2 and CF7 version 5.1.


  • Tested against Contact Form 7 version 5.0.


  • Added support to PIPE on CF7.
  • Tested against WP 4.9.2.


  • Fixed problem with a function inside empty() prior PHP 5.5.


  • Added the ‘application/json’ header by default to POST request.
  • Added ‘ctz_post_request_args’ filter to POST request args.
  • Tested against WP 4.9.


  • It’s alive!
  • Form configuration.
  • Integration to Zapier webhook.
  • Ignore or not CF7 mail sent.