=== Integration for HubSpot - Contact Form 7, WPForms, Elementor, Gravity Forms and More ===
Contributors: plugcrux, integrazo, padmadev
Tags: hubspot crm, contact form 7, wpforms, elementor forms, gravity forms
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.14
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 HubSpot CRM.

== Description ==

This plugin sends form submissions from Contact Form 7, WPForms, Elementor Forms, Gravity Forms, and Formidable Forms to HubSpot CRM.

When a user submits a form, the plugin can create or update records—such as contacts, companies, or deals—in your HubSpot CRM account. This helps reduce manual data entry and keeps your HubSpot 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=xHMIQjzV6z4

== Authentication ==

To connect your HubSpot CRM account:

1. Go to the Accounts page in the plugin.
2. Click Add Account.
3. Enter an identifiable account name (for example, “Main HubSpot CRM Account”).
4. Click Authenticate to open the HubSpot authorization page.
5. Log in to HubSpot and approve the requested permissions.
6. After approval, you will be redirected back to WordPress, and 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 HubSpot CRM account.
6. Select the HubSpot object where records should be created or updated (for example, Contacts, Companies, Deals).
7. Map form fields to HubSpot CRM fields in the field mapping section.
8. Optionally map additional fields such as phone, company, custom properties, or attachments (where supported).
9. Use the filter criteria section to apply conditions (for example, sync only if a specific checkbox is selected).
10. Click Save Mapping.

== Logs ==

The plugin provides a logs section to review how data is being sent to HubSpot 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, a required field is missing).

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 HubSpot CRM via their API.
- The plugin does not send data to any third-party service other than the configured HubSpot services.

== Free and Paid Features ==

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

Free version includes:

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

Paid version adds:

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

Upgrade now: https://integrazo.com/products/integrate-with-hubspot-crm

== Features Overview ==

- Connect HubSpot CRM to supported form plugins
- Configure multiple HubSpot accounts and objects
- Map form fields to HubSpot CRM fields, including custom properties
- Real-time syncing of form submissions
- 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 HubSpot 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 HubSpot CRM account
2. Map form fields to HubSpot 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 HubSpot CRM? =

1. Open the plugin and go to the Setup tab.  
2. Choose Contact Form 7 as the form type.  
3. Select the HubSpot CRM object (for example, Contacts).  
4. Map the Contact Form 7 fields to HubSpot CRM fields.  
5. Save the integration.

= How do I integrate WPForms with HubSpot CRM? =

1. Go to the plugin’s Setup section.  
2. Select WPForms as the form type.  
3. Choose the HubSpot CRM object.  
4. Map WPForms fields to HubSpot 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 HubSpot CRM object, map fields, and then save.

= Can I map custom fields in HubSpot CRM? =

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

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

Failed submissions are:

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

= Does this plugin support real-time sync? =

Yes. Form entries are sent to HubSpot CRM immediately after submission, subject to API availability and configuration.

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

Yes. You need an active HubSpot CRM account to send data from your WordPress site to HubSpot.

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

The plugin uses:

- OAuth 2.0 for authentication  
- Communication over HTTPS (provided your site and HubSpot endpoints use HTTPS)  

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

== Changelog ==  

= 1.0.14 =
* 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.13 =
* 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.12 =
* Improved: Readme content clarity and wording for better understanding of supported forms and HubSpot CRM integrations.
* Updated: Short description to clearly mention support for other form submissions.
* Improved: Minor UI text refinements across admin pages.

= 1.0.11 =
* 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.10 =
* Checked: Plugin tested and confirmed compatible with WordPress 6.9
* Updated: "Tested up to" value updated to 6.9 in readme.txt

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

= 1.0.8 =
* Changed: Elementor Forms integration flow updated for smoother setup.
* Improved: Reliability when mapping Elementor form fields.

= 1.0.7 =
* Added: FAQ entry about disabling specific integrations.
* Fixed: All known error notices reported by WordPress debug logs.
* Checked: Tested with WordPress 6.8.

= 1.0.6 =
* Fixed: Elementor Forms field-loading issue.

= 1.0.5 =
* Added: Improved validation and sanitization.
* Fixed: Issue causing a blank page when selecting a list.

= 1.0.4 =
* Added: WordPress 6.8 compatibility.
* Fixed: Removed unnecessary use of `$wpdb->prepare()` for static table names.
* Fixed: i18n issue by removing an empty `__()` string in `get_columns()`.

= 1.0.3 =
* Verified: Compatibility with WordPress 6.7.2.
* Updated: Applied recent HubSpot API changes.
* Refined: User interface adjustments.

= 1.0.2 =
* Added: Step-by-step screenshots in the documentation.

= 1.0.1 =
* Added: Review and feedback section.

= 1.0.0 =
* Initial release with:
  - Support for Contact Form 7, Gravity Forms, WPForms, Elementor Forms, and Formidable Forms.
  - Error logging and resync options for failed submissions.
  - Email notifications for integration failures.

== Support ==

If you need help or want to request a feature:

- https://integrazo.com/pages/contact  
- https://integrazo.com/pages/request-feature  

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

== Additional Notes ==

This plugin supports WordPress multisite installations and has been tested for compatibility with recent WordPress versions.
