Integration of Contact Form 7 with Zendesk Support
Zendesk for Contact Form 7 connects your WordPress site with Zendesk Support: upon successful submission of the Contact Form 7 form to Zendesk, a new ticket is created with the subject, text, email, and applicant's name (requester), priority, and tags according to your rules.
Description
Zendesk for Contact Form 7
Integration of Contact Form 7 with Zendesk Support: automatic creation of tickets when submitting a form, setting up fields for each form separately, checking the connection to the API.
Description
Zendesk for Contact Form 7 connects your WordPress site with Zendesk Support: upon successful submission of the Contact Form 7 form to Zendesk, a new ticket is created with the subject, text, email, and applicant's name (requester), priority, and tags according to your rules.
Main features
– Zendesk global settings: subdomain, Zendesk login email, API token, default tags for all tickets.
– Configuration for each CF7 form separately: on/off, matching form fields to ticket fields, priority, additional tags, option to add the URL of the submission page to the body of the ticket.
– The message body can be taken from one field or send all fields of the form in one text (__all__ mode).
– The "Check connection" button on the settings page (an easy request to the Zendesk API).
– PluginHub licensing: a shared key in Settings → General, domain and product verification on the PluginHub side.
– Translatable interface (zendesk-cf7 text domain, languages catalog).
Technical details
– Zendesk REST API v2 is used (creating POST/api/v2/tickets.json tickets).
– WordPress event: wpcf7_before_send_mail (priority 20). The CF7 letter and the standard behavior of the form are not canceled; if a Zendesk error occurs, the ticket may not be created, but sending the form to the visitor is usually successful— Check the settings and logs if necessary.
– The ticket ID or error text with CF7 support can be added to the properties of the sending result (add_result_props), if your version of CF7 supports it.
Requirements
– WordPress 5.8 or later.
– PHP 7.4 or later.
– Active Contact Form 7 plugin.
– A Zendesk Support account with the ability to create an API token for the user under whom requests are made.
– The current PluginHub license for this product (the key is set once per site for all PluginHub plugins).
Installation and instructions
Installing the plugin
1. Upload the plugin folder to wp-content/plugins/ (or install the ZIP via "Plugins → Add new").
2. Activate the Zendesk for Contact Form 7 plugin in the WordPress admin panel.
3. Make sure that Contact Form 7 is installed and activated.
Step 1. PluginHub License
1. In the admin panel, open "Settings → General".
2. Find the Pluginhub License Key field (or similar if added by another PluginHub plugin).
3. Insert the license key issued for this product on https://pluginhub.pro , and save the settings.
4. The domain of the site for verification is taken from the site address (home URL); when you change the key or domain, the verification will be updated automatically within the API cache.
Without an active license: warnings are displayed in the console, ticket creation in Zendesk is disabled, and the Zendesk connection verification button returns an error. Form settings and global fields can be saved.
Step 2. Zendesk Data
1. In Zendesk: "Administration → Applications and Integrations → API → Zendesk API" — create an API token for the agent user.
2. Use the same email address with which this user logs into Zendesk (usually the agent's email).
3. In WordPress, open "Contacts → Zendesk" (Contact Form 7 submenu).
4. Fill in:
– Subdomain — only the name of the subdomain (for example, mycompany for https://mycompany .zendesk.com ), without https:// and without .zendesk.com (the plugin will trim off the excess).
– Zendesk login email — the email of the user for whom the token was created.
– API token — insert the token; it is stored in the site's database. A separate token for integration and periodic rotation is recommended.
– Default tags are separated by commas, for example wordpress, contact_form_7. They are added to each ticket.
5. Click "Save Changes".
6. Click "Verify Connection" — if successful, a message about a successful connection will be displayed.
Step 3. Setting up the CF7 Form
1. Open "Contacts → Contact forms" and edit the required form.
2. In the "Zendesk ticket" metabox:
– Enable "Create a ticket in Zendesk for this form".
– The subject field is the name of the CF7 field for the subject of the ticket (often your-subject or your own).
– Message / body — the name of one field with the text of the letter or the value __all__, so that all fields of the form with the list "key: value" are included in the ticket.
– The applicant's email field is usually your-email (it must be a valid email).
– The applicant's name field is usually your-name.
– Priority is low / normal / high / urgent.
– Additional tags are separated by commas; they are added to global tags.
– If necessary, enable "Add the URL of the submission page to the ticket body".
3. Save the form.
Step 4. Checking on the website
Send a test request from the frontend. A new ticket with the specified fields and tags should appear in Zendesk.
For developers
– Filter the ability to access settings and the metabox: zendesk_cf7_capability (by default, manage_options or the constant WPCF7_ADMIN_READ_WRITE_CAPABILITY, if set).
– Product ID in PluginHub: constant ZENDESK_CF7_PLUGINHUB_PLUGIN_ID in wp-config.php or the zendesk_cf7_pluginhub_plugin_id filter.
– License verification URL (if you need a proxy/booth): pluginhub_license_check_url filter in the shared module pluginhub-license.php .
Frequent questions
Do I need a separate Zendesk plugin?
No. The plugin itself executes HTTPS requests to the Zendesk API from your WordPress server.
Is the Contact Form 7 email still being sent?
Yes. The integration does not cancel the standard CF7 mail sending (if it is configured in the form). The ticket is created additionally.
Ticket is not being created, what should I check?
– Whether the PluginHub license is active for this product.
– Whether the subdomain, email, and token are filled in; whether the "Verify Connection" is working.
– Whether a check mark is enabled for a specific form and whether the names of the fields in the metabox match the names of the fields in the markup of the CF7 form.
– Whether the valid applicant's email field is specified (the ticket is not created without it).
Where is the API token stored?
In the zendesk_cf7_settings option in the WordPress options table. When the plugin is uninstalled, the option is deleted (see uninstall.php ).
Are the form settings deleted when the plugin is deleted?
Yes: when deleting a plugin through the admin panel, the following is performed uninstall.php — the global option and the _zendesk_cf7 meta are removed from all CF7 contact forms.
Screenshots
1. The "Contacts → Zendesk" page: credentials, default tags, connection verification.
2. The "Zendesk ticket" metabox in the CF7 form editor.
The change log
1.0.3
– Restriction on the creation of tickets and API testing with an inactive PluginHub license; warnings in the admin area and in the form's metabox.
– Explicit SSL verification for requests to Zendesk (sslverify).
1.0.2
– PluginHub licensing connection, general pluginhub-license.php , the Zendesk_CF7_License class.
1.0.1
– Fix: using add_result_props instead of the add_meta method, which does not exist in CF7, to send the result to submission.
1.0.0
– First public release: global settings, metabox on the form, ticket creation via API v2.
Update Recommendation
1.0.3 — recommended update: correct operation with the PluginHub license and secure HTTPS requests to Zendesk.
Services for this plugin
Installation, customization and care — add to cart and check out.
Plugin installation and basic setup
$ 45.00Install the plugin on your hosting, compatibility check, initial activation.
Plugin installation and full configuration
$ 100.00Deep configuration for your scenario: fields, integrations, roles.
Integration form setup (per form)
$ 12.00Per form: CRM, email, messengers within plugin API.
Product synchronization setup
$ 80.00Link catalog to external system: schedule, fields, filters.
Custom plugin modification
$ 220.00Targeted PHP/JS changes for your workflow (agreed scope).
Website development
from $ 130.00Landing or corporate site on CMS from PluginHub ecosystem.
E‑commerce development
from $ 200.00OpenCart / WooCommerce / PrestaShop: catalog, payments, shipping.
Website improvement
from $ 70.00Layout fixes, performance, small tasks on existing site.
Custom plugin development
from $ 200.00New module for CMS API: spec, code, review, handover.