{"id":368226,"date":"2026-10-08T08:50:18","date_gmt":"2026-10-08T08:50:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/cf7-trackflow-crm-integration\/"},"modified":"2026-10-08T08:49:47","modified_gmt":"2026-10-08T08:49:47","slug":"submitrail-lead-sync-cf7-trackflow-crm","status":"publish","type":"plugin","link":"https:\/\/li.wordpress.org\/plugins\/submitrail-lead-sync-cf7-trackflow-crm\/","author":23281531,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.0","stable_tag":"1.3.0","tested":"7.1.3","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Submitrail Lead Sync for Contact Form 7 and TrackFlow CRM","header_author":"Dhrashti Patel","header_description":"Sends Contact Form 7 submissions to a TrackFlow CRM Website Integration webhook, with per-form field mapping and optional request\/response logging. Independent plugin, not affiliated with or endorsed by Contact Form 7 or TrackFlow CRM.","assets_banners_color":"","last_updated":"2026-10-08 08:49:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/dhrashtidev\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":73,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.0":{"tag":"1.3.0","author":"dhrashtidev","date":"2026-10-08 08:49:47","revision":3734047}},"upgrade_notice":{"1.3.0":"<p>Privacy and compliance update. Settings and field mappings are migrated automatically. Logs written by earlier versions stay in the old <code>trackflow-logs<\/code> uploads folder until the plugin is deleted.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[1152,1150,11463,335,15439],"plugin_category":[58],"plugin_contributors":[253114],"plugin_business_model":[],"class_list":["post-368226","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-form-7","plugin_tags-crm","plugin_tags-lead-capture","plugin_tags-leads","plugin_tags-webhook","plugin_category-user-management","plugin_contributors-dhrashtidev","plugin_committers-dhrashtidev"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/submitrail-lead-sync-cf7-trackflow-crm.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<p>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.<\/p>\n\n<p>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.<\/p>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li>Sends Contact Form 7 submissions to your TrackFlow CRM Website Integration webhook.<\/li>\n<li>Per-form field mapping, editable from the Submitrail \u2192 Field Mapping screen or from the \"Submitrail Lead Sync\" tab in each form's Contact Form 7 editor. Both edit the same stored mapping.<\/li>\n<li>Automatic fallback mapping for forms that have not been configured.<\/li>\n<li>Per-form on\/off switch, so you choose which forms feed the CRM.<\/li>\n<li>Global defaults for lead source name and lead type (Lead or Inquiry).<\/li>\n<li>An exclusion list for TrackFlow fields you never want mapped or sent.<\/li>\n<li>A \"Send test lead\" button that sends a test request and shows the HTTP status and response body.<\/li>\n<li>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.<\/li>\n<\/ul>\n\n<h4>How delivery works<\/h4>\n\n<p>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.<\/p>\n\n<h4>Mapped fields<\/h4>\n\n<p>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.<\/p>\n\n<h4>Disclaimer<\/h4>\n\n<p>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.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to one external service: the TrackFlow CRM Website Integration API.<\/p>\n\n<p><strong>What the service is:<\/strong> 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.<\/p>\n\n<p><strong>Why the plugin uses it:<\/strong> 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.<\/p>\n\n<p><strong>What you need to configure:<\/strong> a TrackFlow CRM account with the Website Integration feature enabled, and the API key from that account, entered under Submitrail \u2192 Settings. Nothing is ever sent until an API key has been saved.<\/p>\n\n<p><strong>Where the data is sent:<\/strong> by HTTPS POST to <code>https:\/\/api.trackflowcrm.com\/api\/v1\/webhook\/website<\/code> 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.<\/p>\n\n<p><strong>When data is sent:<\/strong><\/p>\n\n<ul>\n<li>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 \u2192 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.<\/li>\n<li>When an administrator clicks \"Send test lead\" on the Submitrail \u2192 Settings screen.<\/li>\n<\/ul>\n\n<p><strong>What data is sent:<\/strong><\/p>\n\n<ul>\n<li>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.<\/li>\n<li>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.<\/li>\n<li>With every request: your TrackFlow API key in the <code>x-api-key<\/code> request header, and the standard WordPress HTTP <code>User-Agent<\/code> header, which contains your WordPress version and your site's URL.<\/li>\n<li>The visitor's IP address, cookies and browser details are not sent.<\/li>\n<\/ul>\n\n<p><strong>Service provider terms:<\/strong> TrackFlow CRM <a href=\"https:\/\/trackflowcrm.com\/terms-services\">Terms of Service<\/a> and <a href=\"https:\/\/trackflowcrm.com\/privacy-policy\">Privacy Policy<\/a>.<\/p>\n\n<p>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 \u2192 Privacy policy guide.<\/p>\n\n<p>This plugin does not load any external scripts, fonts, images, analytics or tracking, and does not contact any other service.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Contact Form 7. This plugin requires it.<\/li>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/<\/code>, or install it through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>Go to Submitrail \u2192 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.<\/li>\n<li>Optionally use the \"Send test lead\" button to confirm the credentials work. This creates a real test lead in your TrackFlow account.<\/li>\n<li>Go to Submitrail \u2192 Field Mapping, choose which forms to send, and map their fields.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20contact%20form%207%3F\"><h3>Does this plugin require Contact Form 7?<\/h3><\/dt>\n<dd><p>Yes. Without Contact Form 7 active, the integration does nothing, and a notice on the Plugins screen explains why.<\/p><\/dd>\n<dt id=\"does%20it%20require%20a%20trackflow%20crm%20account%3F\"><h3>Does it require a TrackFlow CRM account?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"is%20this%20an%20official%20contact%20form%207%20or%20trackflow%20crm%20plugin%3F\"><h3>Is this an official Contact Form 7 or TrackFlow CRM plugin?<\/h3><\/dt>\n<dd><p>No. It is an independent plugin and is not affiliated with or endorsed by either project.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20submission%20fails%20to%20reach%20trackflow%3F\"><h3>What happens if a submission fails to reach TrackFlow?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"what%20is%20stored%20in%20the%20logs%3F\"><h3>What is stored in the logs?<\/h3><\/dt>\n<dd><p>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.<\/p>\n\n<p>Logs are written to a <code>submitrail-logs<\/code> 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 <code>.htaccess<\/code> deny rule and an empty <code>index.php<\/code>, and each log file name contains a site-specific random string so it cannot be guessed. On servers that do not honour <code>.htaccess<\/code>, such as nginx, you can additionally block that folder in your server configuration.<\/p><\/dd>\n<dt id=\"what%20is%20removed%20when%20i%20delete%20the%20plugin%3F\"><h3>What is removed when I delete the plugin?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20anything%20anywhere%20else%3F\"><h3>Does the plugin send anything anywhere else?<\/h3><\/dt>\n<dd><p>No. It sends data only to the TrackFlow CRM endpoint configured in the settings. See the External services section for details.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Text domain changed to match the plugin slug, <code>submitrail-lead-sync-cf7-trackflow-crm<\/code>.<\/li>\n<li>All internal identifiers (options, form meta, hooks, CSS classes, script handles, menu slugs) now use the plugin's own <code>submitrail<\/code> prefix instead of a third-party name. Existing settings and field mappings are migrated automatically.<\/li>\n<li>The Contact Form 7 editor tab is now named \"Submitrail Lead Sync\".<\/li>\n<li>The endpoint URL must be an https:\/\/ URL on trackflowcrm.com, is re-checked before every request, and redirects are no longer followed.<\/li>\n<li>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.<\/li>\n<li>Added suggested privacy policy text under Settings \u2192 Privacy.<\/li>\n<li>Expanded the External services documentation.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>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.<\/li>\n<li>Documented the TrackFlow CRM external service, including the data sent and links to its terms and privacy policy.<\/li>\n<li>The \"Contact Form 7 is required\" notice is now shown only on the Plugins screen.<\/li>\n<li>The per-form mapping is now a tab in the Contact Form 7 form editor.<\/li>\n<li>Fixed the lead type when the global default is \"Inquiry\", and Inquiry Date is now only sent for inquiries.<\/li>\n<li>Messages and addresses keep their line breaks.<\/li>\n<li>The endpoint URL must be a public https:\/\/ URL.<\/li>\n<li>Logging is now off by default on new installs, and log file names are no longer guessable.<\/li>\n<li>The test lead now uses a unique mobile number on each run.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Corrected the plugin description, which previously advertised asynchronous delivery and retries that the plugin does not implement.<\/li>\n<li>Plugin deletion removes the log directory through the WP_Filesystem API.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Send Contact Form 7 submissions to your TrackFlow CRM account as leads, with per-form field mapping and optional request logging.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/li.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/368226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/li.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/li.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/li.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=368226"}],"author":[{"embeddable":true,"href":"https:\/\/li.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dhrashtidev"}],"wp:attachment":[{"href":"https:\/\/li.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=368226"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/li.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=368226"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/li.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=368226"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/li.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=368226"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/li.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=368226"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/li.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=368226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}