=== Integration for Freshsales - Contact Form 7, WPForms, Elementor, Gravity Forms and More ===
Contributors: plugcrux, padmadev, integrazo
Tags: freshsales, freshworks, contact form 7, wpforms, elementor forms
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.15
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Connect Contact Form 7, WPForms, Elementor Forms, Gravity Forms, and more form submissions with Freshsales CRM.

== Description ==

This plugin sends form submissions from Contact Form 7, WPForms, Elementor Forms, Gravity Forms, and Formidable Forms to Freshsales CRM (by Freshworks).

When a user submits a form, the plugin can create or update records (such as Leads or Contacts) in your Freshsales CRM account. This helps reduce manual data entry and keeps your Freshsales CRM data in sync with your website forms.

Supported form plugins:

- [Contact Form 7](https://wordpress.org/plugins/contact-form-7/)
- [WPForms](https://wordpress.org/plugins/wpforms-lite/)
- [Elementor Forms](https://wordpress.org/plugins/elementor/)
- [Gravity Forms](https://www.gravityforms.com/)
- [Formidable Forms](https://wordpress.org/plugins/formidable/)

https://www.youtube.com/watch?v=y_aV8g73uW8

== Authentication ==

To connect your Freshsales CRM account:

1. Go to the Accounts page in the plugin.
2. Click Add Account.
3. Enter an identifiable account name (for example, “Main Freshsales CRM Account”).
4. Enter your Freshsales CRM instance URL (for example, `https://yourcompany.freshsales.io`).
5. Enter your Freshsales API key from your Freshsales account settings.
6. Click Save Account.
7. After saving, the account will be listed on the Accounts page.

== Add Integration ==

To create a new integration:

1. Go to the Setup page.
2. Click Add Integration.
3. Enter an integration name (for example, “Lead Capture Form”).
4. Select the form type (Contact Form 7, WPForms, Elementor, Gravity Forms, or Formidable).
5. Choose the connected Freshsales CRM account.
6. Select the Freshsales CRM module where records should be created (for example, Leads, Contacts, Deals).
7. Map form fields to Freshsales CRM fields in the field mapping section.
8. Optionally map additional fields such as phone, company, custom fields, or attachments (where supported).
9. Use the filter criteria section to apply conditions (for example, sync only if a checkbox is selected).
10. Click Save Mapping.

== Logs ==

The plugin provides a logs section to review how data is being sent to Freshsales CRM.

- Open the Logs page to see a list of submissions and their statuses.
- Typical statuses include:
  - SUCCESS – record created or updated successfully.
  - RECORD_FAILED – record not created due to an error (for example, missing required fields).

Additional options:

- Filter logs by integration, status, or date range.
- Open the log details view to see the full request, response, and error messages.
- Resync or delete individual records, or use bulk actions where available.

== Settings ==

Global settings can be managed from the Settings page:

- Delete data on uninstall – when enabled, plugin data will be removed when the plugin is deleted from WordPress.
- Error email notification – enable or disable email notifications when a record fails.
- Notification emails – specify one or more email addresses (comma-separated) to receive error notifications.
- Email subject – set the subject line for error notification emails.

== Privacy and Data Handling ==

- Form submission data is sent from your WordPress site to Freshsales CRM via their API.
- The plugin does not send data to any third-party service other than the configured Freshsales CRM instance.

== Free and Paid Features ==

The plugin is available in a free version with optional paid features.

Free version includes:

- Connect up to 2 Freshsales CRM accounts
- Connect up to 2 forms
- Support for standard fields and basic field mapping
- Custom value support
- System fields mapping (where supported)
- Error log view and basic management
- Email notifications for failed records
- No daily record limit enforced by the plugin

Paid version adds:

- Unlimited account connections (subject to Freshsales CRM limits)
- Unlimited form connections
- Premium field support
- Custom field mapping
- Extended resync options and log handling

Upgrade now: https://integrazo.com/products/freshworks-crm-integration-with-any-form

== Features Overview ==

- Connect Freshsales CRM to supported form plugins
- Configure multiple Freshsales CRM accounts and modules
- Map form fields to Freshsales CRM fields, including custom fields
- Real-time syncing of form submissions to Freshsales CRM
- Optional conditional logic to control when records are created or updated
- Activity logs with status and error details
- Resync options for failed records
- Optional email notifications for errors
- Settings to control data removal on uninstall

== Installation ==

Automatic installation  
1. Go to Plugins > Add New in your WordPress dashboard.  
2. In the search bar, type Integrazo and locate this plugin.  
3. Click Install and then Activate.  
4. Go to the plugin settings to connect your Freshsales CRM account and start syncing.

Manual installation  
1. Upload the plugin ZIP file via Plugins > Add New > Upload Plugin.  
2. Activate the plugin.  
3. Go to the plugin settings and complete the setup.

== Screenshots ==

1. Connect your Freshsales CRM account
2. Map form fields to Freshsales CRM fields
3. Detailed log view with request and response data
4. Plugin settings page  

== Frequently Asked Questions ==

= Which WordPress form plugins does this support? =

This plugin currently supports:

- Contact Form 7  
- WPForms  
- Elementor Forms  
- Gravity Forms  
- Formidable Forms  

= How do I integrate Contact Form 7 with Freshsales CRM? =

1. Open the plugin and go to the Setup tab.  
2. Choose Contact Form 7 as the form type.  
3. Select the Freshsales CRM module.  
4. Map the Contact Form 7 fields to Freshsales CRM fields.  
5. Save the integration.

= How do I integrate WPForms with Freshsales CRM? =

1. Go to the plugin’s Setup section.  
2. Select WPForms as the form type.  
3. Choose the Freshsales CRM module.  
4. Map WPForms fields to Freshsales CRM fields.  
5. Save the integration.

The same general steps apply for Elementor Forms, Gravity Forms, and Formidable Forms: choose the form type, select the Freshsales CRM module, map fields, and then save.

= Can I map custom fields in Freshsales CRM? =

Yes, you can map form fields to custom fields in Freshsales CRM where available. This helps organize and segment your data more effectively.

= What happens if a submission fails to sync with Freshsales CRM? =

Failed submissions are:

- Recorded in the Logs section  
- Shown with the error message returned by Freshsales CRM  
- Available for manual or bulk resync, where supported  

= Do I need a Freshsales CRM account to use this plugin? =

Yes, you need an active Freshsales CRM account to send data from your WordPress site to Freshsales CRM.

= Is data transfer secure between WordPress and Freshsales CRM? =

The plugin uses:

- Encrypted communication with Freshsales CRM (HTTPS recommended)  
- Practices designed to align with common data protection requirements  

You should ensure your site is configured to use HTTPS for best security.

== Changelog ==

= 1.0.15 =
* Security: Added ABSPATH check to prevent direct file access across missing files.
* Fixed: License expiry notice now displays correctly for all expired licenses,
  regardless of how long ago the license expired.

= 1.0.14 =
* Fixed: Settings link in Plugins page now uses admin_url() for improved compatibility.
* Improved: Code hardening with stricter output escaping in admin views.
* Checked: Tested and confirmed compatible with WordPress 6.9.1.

= 1.0.13 =
* Improved: Readme content clarity and wording for better understanding of supported forms and Freshsales CRM integrations.
* Updated: Short description to clearly mention support for other form submissions.
* Improved: Minor UI text refinements across admin pages.

= 1.0.12 =
* Changed: Replaced transient-based account authentication storage with WordPress options for improved reliability.
* Improved: Account authentication flow stability during Zoho OAuth redirects.
* Improved: Better handling of authentication errors and session recovery.
* Improved: Data sanitization and validation in the Accounts and Setup pages.
* Fixed: Edge cases where account data could be lost during browser refresh or delayed redirects.

= 1.0.11 =
* Checked: Plugin tested and confirmed compatible with WordPress 6.9
* Updated: "Tested up to" value updated to 6.9 in readme.txt

= 1.0.10 =
* Updated: Readme file revised to follow WordPress.org guidelines.
* Updated: Description, tags, and sections simplified for clarity and compliance.

= 1.0.9 =
* Changed: Elementor Forms integration flow updated for smoother setup
* Improved: Better results and reliability when mapping Elementor form fields

= 1.0.8 =  
* Added: New FAQ about disabling specific integrations  
* Fixed: All error notices shown by WP error log or debug mode  
* Checked: Plugin tested with latest WordPress 6.8 and works fine 

= 1.0.7 =  
**Fixed:** Elementor Forms field-loading issue

= 1.0.6 =  
**Added:** Improved validation and sanitization  
**Fixed:** Fixed issue causing a blank page when selecting a list

= 1.0.5 =
* Added: Compatibility with WordPress 6.8  
* Fixed: Removed unnecessary use of `$wpdb->prepare()` for static table names  
* Fixed: i18n violation by removing empty `__()` string in `get_columns()`

= 1.0.4 =
* Added: Copy-paste option for predefined field values (select, radio, multi-select fields)  
* Added: Review section  
* Added: Detailed documentation

= 1.0.3 =
* Improved: Security validation for plugin page URLs in the account section  
* Added: Additional Frequently Asked Questions (FAQs)  
* Updated: Refined and expanded documentation

= 1.0.2 =
* Improved: Code parameter handling  
* Removed: Error Log module

= 1.0.1 =
* Enhanced: Security measures to align with WordPress guidelines  
* Improved: Multisite compatibility for seamless integration

= 1.0.0 =
* Initial Release:  
  - Support for Contact Form 7, Gravity Forms, WPForms, Elementor Forms, and Formidable Forms  
  - Error logging and resync features  
  - Email notifications for integration failures

== Support ==

Need help or have a feature request?  

- https://integrazo.com/pages/contact?utm_source=readme&utm_medium=support_link&utm_campaign=freshworks_integration  
- https://integrazo.com/pages/request-feature?utm_source=readme&utm_medium=feature_link&utm_campaign=freshworks_integration  

Website: https://integrazo.com/  
Email: support@integrazo.com  

== Additional Notes ==

This plugin is compatible with WordPress multisite installations and has been tested with recent WordPress versions.
