=== Integration for Zoho Desk - Contact Form 7, WPForms, Elementor, Gravity Forms and More ===
Contributors: plugcrux, integrazo, padmadev
Tags: zoho desk, contact form 7, wpforms, elementor forms, gravity forms
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.0
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 Zoho Desk.

== Description ==

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

When a user submits a form, the plugin can create support tickets in your Zoho Desk account. This helps reduce manual ticket creation and keeps your support system synchronized 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=M15Mvdj2M2E

== Authentication ==

To connect your Zoho Desk account:

1. Go to the Accounts page in the plugin.
2. Click Add Account.
3. Enter an identifiable account name (for example, “Main Zoho Desk Account”).
4. Select the appropriate data center (for example, `zoho.com`, `zoho.eu`).
5. Click Authenticate to open the Zoho authorization page.
6. Log in to Zoho and approve the requested permissions.
7. 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, “Support Ticket Form”).
4. Select the form type (Contact Form 7, WPForms, Elementor, Gravity Forms, or Formidable).
5. Choose the connected Zoho Desk account.
6. Select the Zoho Desk department where tickets should be created.
7. Map form fields to Zoho Desk fields in the field mapping section.
8. Optionally map additional fields such as priority, category, custom fields, or attachments (where supported).
9. Use the filter criteria section to apply conditions (for example, create tickets only when specific conditions are met).
10. Click Save Mapping.

== Logs ==

The plugin provides a logs section to review how data is being sent to Zoho Desk.

- Open the Logs page to see a list of submissions and their statuses.
- Typical statuses include:
  - SUCCESS – ticket created successfully.
  - RECORD_FAILED – ticket not created due to an error.
  - AI_DETECTION – held due to AI rules (for example, domain or validation rules).

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.
- Review AI-detected records and resync them after manual review, if required.

== 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.

== Form Filters ==

Form filter options can be managed from the Form Filters section:

- Email validation – configure rules to handle email addresses from specific domains.
- Blocked domains – add or remove domains that should be treated according to your rules.
- Action for blocked emails:
  - Send to Zoho Desk (ignore AI detection), or
  - Store in logs for review and manual resync later.
- Tabs for Email Validation, Email Detection, and Spam Detection – configure rules separately for each type of check.

== Privacy and Data Handling ==

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

== Free and Paid Features ==

Free version includes:

- Connect up to 2 Zoho Desk accounts
- Connect up to 2 forms
- Support for standard fields and basic field mapping
- Custom value support
- System fields mapping (where available)
- Basic AI options
- Error log view and basic management

Paid version adds:

- Unlimited account connections (subject to Zoho limits)
- Unlimited form connections
- Premium field support
- Custom field mapping
- Extended AI controls and detection rules
- Advanced resync options and log handling
- Email notifications for failed records

Upgrade now: https://integrazo.com/products/integrate-with-zoho-desk

== Features Overview ==

- Connect Zoho Desk to supported form plugins
- Configure multiple Zoho Desk accounts and departments
- Map form fields to Zoho Desk fields, including custom fields
- Real-time ticket creation
- Optional conditional logic
- Activity logs with status and error details
- Resync options for failed or AI-held records
- AI-based email and spam handling
- Optional email notifications
- Settings to control data removal on uninstall

== Installation ==

Automatic installation  
1. Go to Plugins > Add New in your WordPress dashboard.  
2. Search for Integrazo and locate this plugin.  
3. Click Install and then Activate.  
4. Go to plugin settings to connect your Zoho Desk 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 Zoho Desk account
2. Map form fields to Zoho Desk fields
3. View integration logs and submission statuses
4. Detailed log view with request and response data
5. Plugin settings page
6. AI validation settings  

== 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 Zoho Desk? =

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

= How do I integrate WPForms with Zoho Desk? =

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

The same steps apply for Elementor Forms, Gravity Forms, and Formidable Forms.

= Can I map custom fields? =

Yes, you can map form fields to custom fields in Zoho Desk where supported.

= What happens if a ticket fails to create? =

Failed submissions are:

- Recorded in the Logs section  
- Shown with error messages returned by Zoho Desk  
- Available for manual or bulk resync  

= Is real-time ticket creation supported? =

Yes. Form entries are sent to Zoho Desk immediately after submission.

= Is a Zoho Desk account required? =

Yes. You need an active Zoho Desk account to send data from your WordPress site to Zoho Desk.

= Is data transfer secure? =

The plugin uses OAuth 2.0 for authentication and communicates over HTTPS.

= Is this plugin an alternative to Uncanny Automator or Bit Integrations for Zoho Desk? =

Yes. If you are looking for a dedicated Zoho Desk integration for WordPress forms — as an alternative to general automation plugins like Uncanny Automator, Bit Integrations, Zapier, Zoho Flow, WP Fusion, or Bit Flows — this plugin is built specifically for Zoho Desk. It connects Contact Form 7, WPForms, Elementor Forms, Gravity Forms, and Formidable Forms directly to Zoho Desk without needing a third-party automation service.

= Can I use this instead of Zapier or Zoho Flow to send WordPress form data to Zoho Desk? =

Yes. Instead of using Zapier, Zoho Flow, or Make (Integromat) to connect your WordPress forms to Zoho Desk, this plugin handles the integration directly on your WordPress site — no external automation service or monthly subscription needed.

== Changelog ==

= 1.0.14 =
* Fixed: Missing spacing between the add (+) and remove (−) buttons in the field mapping table.

= 1.0.13 =
* Security: Hardened admin AJAX endpoints with proper capability checks.
* Security: Improved data sanitization and output escaping across admin views.
* Fixed: Case label syntax bug in setup action handler.
* Fixed: base64_decode strict mode added for safer token handling.
* Added: Help dropdown in admin header for quick support access.
* Added: Deactivation feedback popup.
* Added: Form Filters sub-tab under Settings (moved from AI Settings tab).
* Improved: Minor UI and translation improvements.
* Checked: Tested and confirmed compatible with WordPress 7.0.

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

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

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

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

= 1.0.5 =
* Fixed: PHP 7.4 compatibility adjustments.
* Fixed: Parse error during plugin activation.
* Improved: Security checks and sanitization in OAuth flow.

= 1.0.4 =
* 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.3 =
* Fixed: “Invalid_Data” API response issue.
* Added: Description field mapping.

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

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

= 1.0.0 =
* Initial release with:
  - Support for Contact Form 7, WPForms, Elementor Forms, Gravity Forms, and Formidable Forms.
  - OAuth authentication.
  - AI validation options.
  - Error logging and resync.

== 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.
