Webhook
The Webhook app allows you to automatically send Contact Form 7 form submissions to an external service using an HTTP request. This makes it easy to connect your forms with CRMs, marketing platforms, automation tools, project management software, or any application that supports webhooks
Before using the Webhook app, make sure CF7 Apps is installed and activated on your WordPress website.
The Webhook app supports both Global Settings and Individual Form Settings.
- Global Settings apply default webhook configuration to all Contact Form 7 forms.
- Individual Form Settings allow you to customize the webhook configuration for a specific form.
Global Settings
To configure webhook settings globally:
- Navigate to Contact → CF7 Apps → Dashboard.
- Locate the Webhook app under Integrations.
- Click the Settings icon.

Available Settings
| Setting | Description |
| Enable Webhook App | Enable or disable the Webhook feature globally. |
| Global Settings | Apply the configured webhook settings to all Contact Form 7 forms by default. |
| Webhook URL | Enter the endpoint URL that will receive form submissions. |
| Method | Choose the HTTP request method (POST or GET). |
| Data Type | Select how the data should be sent (JSON or Form Data). |
| Request Headers | Add custom HTTP headers, such as API keys or authorization tokens. |
| Request Body | Customize the payload sent to the webhook endpoint using supported placeholders. |
| Save changes | To save the configured settings |

The Webhook URL must be a valid and publicly accessible endpoint that can receive HTTP requests.
Individual Form Settings
To configure a webhook for an individual Contact Form 7 form:
- Open an existing Contact Form 7 form or create a new one.
- Scroll down to the CF7 Apps settings panel.
- Open the Webhook section.
- Configure the webhook settings.
- Save the form.

When Global Settings are enabled, the webhook configuration is automatically applied to all Contact Form 7 forms and is reflected in the individual form settings. You can customize the settings for a specific form at any time, and those individual settings will override the global configuration for that form only.
Field Mapping & Placeholders
By default, the Webhook app sends all submitted Contact Form 7 fields.
You can use the following placeholders in the Request Body:
| Placeholder | Description |
| {{form_id}} | Inserts the Contact Form 7 form ID. |
| {{fields}} | Inserts all submitted form fields as a JSON object. |
Custom Field Mapping
You can rename individual fields before they are sent to your webhook endpoint by adding the webhook: option to your Contact Form 7 form tags.
Example:
[email* your_email webhook:email]
In this example, the field your_email is sent to the webhook as email.

When using a custom JSON payload, make sure the JSON syntax is valid. Invalid JSON may prevent your receiving service from processing the request correctly.
After the Webhook app is enabled:
- A visitor submits a Contact Form 7 form.
- Contact Form 7 validates the submission.
- If the submission is successful:
- The form data is prepared using the selected Data Type.
- Any configured headers are added to the request.
- The data is sent to the configured webhook endpoint using the selected HTTP method.
- The receiving application processes the submitted data.

Need Help?
Visit our documentation or open a support request if you have any questions. You can also suggest new features.