{"id":378726,"date":"2026-10-07T06:26:17","date_gmt":"2026-10-07T06:26:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/doitforme-crm-forms\/"},"modified":"2026-10-08T06:20:37","modified_gmt":"2026-10-08T06:20:37","slug":"doitforme-crm-forms","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/doitforme-crm-forms\/","author":23568363,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.2","stable_tag":"1.1.2","tested":"7.1.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Doitforme CRM Forms","header_author":"Doitforme","header_description":"Sends successful submissions from supported form plugins to a CRM.","assets_banners_color":"","last_updated":"2026-10-08 06:20:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":210,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation"],"tags":{"1.1.1":{"tag":"1.1.1","author":"alexdfm","date":"2026-10-07 06:26:03","revision":3731951},"1.1.2":{"tag":"1.1.2","author":"alexdfm","date":"2026-10-08 06:20:37","revision":3733772}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.1","1.1.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[358,1150,601,11463],"plugin_category":[42,58],"plugin_contributors":[282658],"plugin_business_model":[],"class_list":["post-378726","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-form","plugin_tags-crm","plugin_tags-forms","plugin_tags-lead-capture","plugin_category-contact-forms","plugin_category-user-management","plugin_contributors-alexdfm","plugin_committers-alexdfm"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/doitforme-crm-forms.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Doitforme CRM Forms connects supported WordPress form plugins to Doitforme CRM. It detects active providers through the WordPress active-plugin registry,\n including network-activated plugins on multisite, and registers hooks only for providers that are active.<\/p>\n\n<p>Supported form providers:<\/p>\n\n<ul>\n<li>Contact Form 7<\/li>\n<li>WPForms<\/li>\n<li>Ninja Forms<\/li>\n<li>Formidable Forms<\/li>\n<li>Fluent Forms<\/li>\n<li>Forminator<\/li>\n<li>MetForm<\/li>\n<li>SureForms<\/li>\n<\/ul>\n\n<p>The plugin uses each provider's successful-submission hook. Provider data is normalized, sensitive and internal fields are filtered, and only fields explicitly\n configured under Settings &gt; Doitforme CRM Forms are included in the CRM payload. If a form has no saved mappings, none of its fields are sent.<\/p>\n\n<p>Standard CRM fields include firstName, lastName, city, country, email, phone, fullName, and message. Multiple fields may also be mapped as custom fields. Custom fields are sent under the fields key using their source field names.<\/p>\n\n<p>Each lead request contains the mapped standard fields, an optional fields object containing custom fields, and a submissionId used by the CRM to prevent duplicate delivery. Provider names, form titles, form IDs, entry IDs, and timestamps are not included in the lead payload.<\/p>\n\n<p>Passwords, payment-related fields, CAPTCHA values, nonces, anti-spam fields, tokens, and other sensitive or internal fields are filtered before mapping.<\/p>\n\n<p>The lead request is initiated as a non-blocking HTTP request from the provider's successful-submission hook, so the visitor does not wait for the CRM response. The current implementation does not maintain a local delivery queue, retry failed deliveries, or receive the final CRM response.<\/p>\n\n<p>Connecting the plugin requires a Doitforme username and password. They are sent to the login service only and are never stored by the plugin. The returned Keycloak access token and CRM integration token are encrypted before being saved in the WordPress options table. The integration ID and access-token expiration timestamp are also saved so the connection can be managed and revoked.<\/p>\n\n<p>Deleting the plugin through WordPress removes its saved settings, credentials and mappings. Deactivating the plugin does not delete this data.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin communicates with services operated by Doitforme. For connection to the CRM, it sends the username and password.\nOn successful login API credentials are generated via an external service we control and revoked when the user disconnects from the service.\nWhen creating a lead after a supported form reports a successful submission, it sends the explicitly mapped standard fields, and submissionId as well as the API key.\nSensitive fields like passwords are excluded from the list of mapped fields.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>The plugin sends only explicitly mapped form values and a submission identifier to the Doitforme CRM lead service.\nSite owners are responsible for configuring mappings, obtaining any consent required for their forms, and documenting this data transfer\nin their own privacy notice.<\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the GNU General Public License, version 2 or later.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Doitforme CRM Forms.<\/li>\n<li>Open Settings &gt; Doitforme CRM Forms.<\/li>\n<li>Sign in with your Doitforme account to create the CRM integration.<\/li>\n<li>Add mappings between fields from installed forms and the available CRM fields.<\/li>\n<li>Save the field mappings.<\/li>\n<\/ol>","raw_excerpt":"Send mapped fields from supported WordPress form plugins to Doitforme CRM.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/378726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=378726"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/alexdfm"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=378726"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=378726"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=378726"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=378726"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=378726"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=378726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}