Title: Submitrail Lead Sync for Contact Form 7 and TrackFlow CRM
Author: dhrashtidev
Published: <strong>October 8, 2026</strong>
Last modified: October 8, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/submitrail-lead-sync-cf7-trackflow-crm.
svg)

# Submitrail Lead Sync for Contact Form 7 and TrackFlow CRM

 By [dhrashtidev](https://profiles.wordpress.org/dhrashtidev/)

[Download](https://downloads.wordpress.org/plugin/submitrail-lead-sync-cf7-trackflow-crm.1.3.0.zip)

 * [Details](https://wordpress.org/plugins/submitrail-lead-sync-cf7-trackflow-crm/#description)
 * [Reviews](https://wordpress.org/plugins/submitrail-lead-sync-cf7-trackflow-crm/#reviews)
 *  [Installation](https://wordpress.org/plugins/submitrail-lead-sync-cf7-trackflow-crm/#installation)
 * [Development](https://wordpress.org/plugins/submitrail-lead-sync-cf7-trackflow-crm/#developers)

 [Support](https://wordpress.org/support/plugin/submitrail-lead-sync-cf7-trackflow-crm/)

## Description

Submitrail Lead Sync is an independent plugin that connects your Contact Form 7 
forms to your TrackFlow CRM account. When a visitor submits a form and the submission
passes Contact Form 7’s validation and spam checks, the plugin posts it to your 
TrackFlow CRM Website Integration webhook so the lead appears in your CRM without
manual re-entry.

You decide, for each form individually, which Contact Form 7 field feeds which TrackFlow
field. Forms that have not been configured yet fall back to an automatic best-guess
mapping based on field names, so a newly connected form still sends usable data 
before anyone opens the settings.

This plugin requires a TrackFlow CRM account and API key, and sends form data to
TrackFlow CRM. See the External services section below for exactly what is sent 
and when.

#### Key features

 * Sends Contact Form 7 submissions to your TrackFlow CRM Website Integration webhook.
 * Per-form field mapping, editable from the Submitrail  Field Mapping screen or
   from the “Submitrail Lead Sync” tab in each form’s Contact Form 7 editor. Both
   edit the same stored mapping.
 * Automatic fallback mapping for forms that have not been configured.
 * Per-form on/off switch, so you choose which forms feed the CRM.
 * Global defaults for lead source name and lead type (Lead or Inquiry).
 * An exclusion list for TrackFlow fields you never want mapped or sent.
 * A “Send test lead” button that sends a test request and shows the HTTP status
   and response body.
 * Optional debug logging of each attempt, with personal data masked, a log viewer
   in the admin, automatic deletion after 30 days and a “Delete all logs” button.
   Logging is off by default.

#### How delivery works

The request to TrackFlow is sent synchronously, inline with the form submission 
that triggered it, using a fixed 10 second timeout. There is no background queue
and no automatic retry: if TrackFlow is unreachable or rejects the request, Contact
Form 7 still completes the submission normally, and the attempt is recorded in the
log when logging is enabled. The 10 second timeout caps how long a visitor can ever
wait on a slow or unavailable endpoint.

#### Mapped fields

The mappable field list mirrors TrackFlow’s Website Integration field reference,
including Mobile Number, Full Name, Company Name, Email, WhatsApp Number, Lead Type
and Inquiry Date. Mobile Number is required by TrackFlow, and either Full Name or
Company Name must resolve to a value. TrackFlow rejects submissions that duplicate
an existing lead.

#### Disclaimer

This is an independent plugin. It is not affiliated with, endorsed by, or sponsored
by Contact Form 7 or its author, or by TrackFlow CRM. “Contact Form 7” and “TrackFlow”
are named only to describe what this plugin works with, and belong to their respective
owners.

### External services

This plugin connects to one external service: the TrackFlow CRM Website Integration
API.

**What the service is:** TrackFlow CRM (https://trackflowcrm.com/) is a third-party,
hosted customer relationship management (CRM) service. Its Website Integration API
lets a website create leads in a TrackFlow CRM account.

**Why the plugin uses it:** creating leads in your own TrackFlow CRM account from
Contact Form 7 submissions is the plugin’s only purpose. Without the service the
plugin does nothing.

**What you need to configure:** a TrackFlow CRM account with the Website Integration
feature enabled, and the API key from that account, entered under Submitrail  Settings.
Nothing is ever sent until an API key has been saved.

**Where the data is sent:** by HTTPS POST to `https://api.trackflowcrm.com/api/v1/
webhook/website` by default. An administrator can change this URL if TrackFlow issued
a different one for their account, but the plugin only accepts https:// URLs on 
trackflowcrm.com or its subdomains, and does not follow redirects.

**When data is sent:**

 * Each time a visitor submits a Contact Form 7 form, but only if the submission
   passed Contact Form 7’s validation and spam checks, the form is enabled for sending(
   forms are enabled by default and can be switched off per form under Submitrail
   Field Mapping), an API key is saved, and a Mobile Number can be resolved from
   the form’s mapping. Identical repeat submissions of the same form within 30 seconds
   are sent only once.
 * When an administrator clicks “Send test lead” on the Submitrail  Settings screen.

**What data is sent:**

 * For form submissions: only the values of form fields that are mapped to TrackFlow
   fields. Depending on your mapping this can include the visitor’s mobile number,
   full name, company name, email address, WhatsApp number, message, GST number,
   address, billing address, shipping address, PIN code, country, state, city, area
   and tag names. Form fields that are not mapped, or whose TrackFlow field is excluded
   under Settings, are never sent. The plugin also always sends the lead type (Lead
   or Inquiry) and the source name (your configured default, or “Website”), and,
   for inquiries only, the submission date and time.
 * For the test lead: a generated mobile number, the name “Plugin Test Lead”, the
   source name “Website” and a short note containing your site’s name.
 * With every request: your TrackFlow API key in the `x-api-key` request header,
   and the standard WordPress HTTP `User-Agent` header, which contains your WordPress
   version and your site’s URL.
 * The visitor’s IP address, cookies and browser details are not sent.

**Service provider terms:** TrackFlow CRM [Terms of Service](https://trackflowcrm.com/terms-services)
and [Privacy Policy](https://trackflowcrm.com/privacy-policy).

As the site owner, you are responsible for telling your visitors, for example in
your site’s privacy policy, that the data they submit through your forms is shared
with TrackFlow CRM. The plugin adds suggested wording to the Settings  Privacy policy
guide.

This plugin does not load any external scripts, fonts, images, analytics or tracking,
and does not contact any other service.

## Installation

 1. Install and activate Contact Form 7. This plugin requires it.
 2. Upload the plugin to `/wp-content/plugins/`, or install it through the WordPress
    Plugins screen.
 3. Activate the plugin through the Plugins screen.
 4. Go to Submitrail  Settings and enter your TrackFlow API key. The endpoint URL is
    pre-filled and can be changed if TrackFlow issued a different URL for your account.
 5. Optionally use the “Send test lead” button to confirm the credentials work. This
    creates a real test lead in your TrackFlow account.
 6. Go to Submitrail  Field Mapping, choose which forms to send, and map their fields.

## FAQ

### Does this plugin require Contact Form 7?

Yes. Without Contact Form 7 active, the integration does nothing, and a notice on
the Plugins screen explains why.

### Does it require a TrackFlow CRM account?

Yes. You need a TrackFlow CRM account with the Website Integration feature and an
API key from that account. This plugin does not create or manage TrackFlow accounts.

### Is this an official Contact Form 7 or TrackFlow CRM plugin?

No. It is an independent plugin and is not affiliated with or endorsed by either
project.

### What happens if a submission fails to reach TrackFlow?

Contact Form 7 still processes the submission as normal. If logging is enabled, 
the failure is written to the plugin log together with TrackFlow’s response. There
is no automatic retry, so failed leads must be re-entered or re-sent manually.

### What is stored in the logs?

Logging is off by default. When enabled, each entry records the endpoint and form,
the payload sent to TrackFlow and TrackFlow’s response. Before anything is written,
the API key is removed and personal data is masked: phone numbers keep only their
last three digits, email addresses keep only their domain, and names, company names,
addresses, GST numbers, PIN codes and messages are replaced by their length. Visitor
IP addresses and unmapped form fields are never logged.

Logs are written to a `submitrail-logs` folder inside the uploads directory and 
deleted automatically after 30 days. You can delete them at any time with the “Delete
all logs” button. The folder is protected with an `.htaccess` deny rule and an empty`
index.php`, and each log file name contains a site-specific random string so it 
cannot be guessed. On servers that do not honour `.htaccess`, such as nginx, you
can additionally block that folder in your server configuration.

### What is removed when I delete the plugin?

Deleting the plugin from the Plugins screen removes its settings and the log folder.
Each form’s saved field mapping is kept, in case the plugin is installed again.

### Does the plugin send anything anywhere else?

No. It sends data only to the TrackFlow CRM endpoint configured in the settings.
See the External services section for details.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Submitrail Lead Sync for Contact Form 7 and TrackFlow CRM” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ dhrashtidev ](https://profiles.wordpress.org/dhrashtidev/)

[Translate “Submitrail Lead Sync for Contact Form 7 and TrackFlow CRM” into your language.](https://translate.wordpress.org/projects/wp-plugins/submitrail-lead-sync-cf7-trackflow-crm)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/submitrail-lead-sync-cf7-trackflow-crm/),
check out the [SVN repository](https://plugins.svn.wordpress.org/submitrail-lead-sync-cf7-trackflow-crm/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/submitrail-lead-sync-cf7-trackflow-crm/)
by [RSS](https://plugins.trac.wordpress.org/log/submitrail-lead-sync-cf7-trackflow-crm/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.0

 * Text domain changed to match the plugin slug, `submitrail-lead-sync-cf7-trackflow-
   crm`.
 * All internal identifiers (options, form meta, hooks, CSS classes, script handles,
   menu slugs) now use the plugin’s own `submitrail` prefix instead of a third-party
   name. Existing settings and field mappings are migrated automatically.
 * The Contact Form 7 editor tab is now named “Submitrail Lead Sync”.
 * The endpoint URL must be an https:// URL on trackflowcrm.com, is re-checked before
   every request, and redirects are no longer followed.
 * Logging privacy: visitor IP addresses and the raw form submission are no longer
   recorded, personal data in log entries is masked, logs are deleted after 30 days,
   and a “Delete all logs” button was added.
 * Added suggested privacy policy text under Settings  Privacy.
 * Expanded the External services documentation.

#### 1.2.0

 * Renamed the plugin to “Submitrail Lead Sync for Contact Form 7 and TrackFlow 
   CRM” to make clear it is not an official Contact Form 7 or TrackFlow CRM plugin.
 * Documented the TrackFlow CRM external service, including the data sent and links
   to its terms and privacy policy.
 * The “Contact Form 7 is required” notice is now shown only on the Plugins screen.
 * The per-form mapping is now a tab in the Contact Form 7 form editor.
 * Fixed the lead type when the global default is “Inquiry”, and Inquiry Date is
   now only sent for inquiries.
 * Messages and addresses keep their line breaks.
 * The endpoint URL must be a public https:// URL.
 * Logging is now off by default on new installs, and log file names are no longer
   guessable.
 * The test lead now uses a unique mobile number on each run.

#### 1.1.0

 * Corrected the plugin description, which previously advertised asynchronous delivery
   and retries that the plugin does not implement.
 * Plugin deletion removes the log directory through the WP_Filesystem API.

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.3.0**
 *  Last updated **4 weeks ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [contact form 7](https://wordpress.org/plugins/tags/contact-form-7/)[crm](https://wordpress.org/plugins/tags/crm/)
   [lead capture](https://wordpress.org/plugins/tags/lead-capture/)[leads](https://wordpress.org/plugins/tags/leads/)
   [webhook](https://wordpress.org/plugins/tags/webhook/)
 *  [Advanced View](https://wordpress.org/plugins/submitrail-lead-sync-cf7-trackflow-crm/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/submitrail-lead-sync-cf7-trackflow-crm/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/submitrail-lead-sync-cf7-trackflow-crm/reviews/)

## Contributors

 *   [ dhrashtidev ](https://profiles.wordpress.org/dhrashtidev/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/submitrail-lead-sync-cf7-trackflow-crm/)