Title: Techwave Form Sync for Zoho
Author: Abdul Kader
Published: <strong>16 ສິງຫາ 2026</strong>
Last modified: 16 ສິງຫາ 2026

---

ຄົ້ນຫາປລັກອິນ

![](https://ps.w.org/techwave-form-sync-for-zoho/assets/banner-772x250.png?rev=3649302)

![](https://ps.w.org/techwave-form-sync-for-zoho/assets/icon-256x256.png?rev=3649302)

# Techwave Form Sync for Zoho

 ໂດຍ [Abdul Kader](https://profiles.wordpress.org/kaderoishi/)

[ດາວໂຫຼດ](https://downloads.wordpress.org/plugin/techwave-form-sync-for-zoho.1.0.0.zip)

 * [ລາຍລອຽດ](https://lo.wordpress.org/plugins/techwave-form-sync-for-zoho/#description)
 * [ການຣີວິວ](https://lo.wordpress.org/plugins/techwave-form-sync-for-zoho/#reviews)
 *  [ການຕິດຕັ້ງ](https://lo.wordpress.org/plugins/techwave-form-sync-for-zoho/#installation)
 * [ການພັດທະນາ](https://lo.wordpress.org/plugins/techwave-form-sync-for-zoho/#developers)

 [ການຊ່ວຍເຫຼືອ](https://wordpress.org/support/plugin/techwave-form-sync-for-zoho/)

## ຄຳອະທິບາຍ

Techwave Form Sync for Zoho links the forms you already have to the Zoho apps you
already use. When a visitor submits a form, the values you mapped are sent to the
Zoho service configured for that form and a record is created in your Zoho account.

Each form is configured on its own, in one place. One form can create a lead in 
Zoho CRM, another a contact in Bigin, another a customer in Zoho Books, another 
a ticket in Zoho Desk, and another can subscribe someone to a Zoho Campaigns or 
Marketing Automation mailing list — with different forms pointing at different Zoho
accounts, organizations and data centers if that is what you need.

**What it covers**

 * **Ten form plugins, one mapping screen.** Elementor Pro Forms, Contact Form 7,
   WPForms, Gravity Forms, Ninja Forms, Fluent Forms, Formidable Forms, Forminator,
   Happy Forms and SureForms — all configured in the WordPress admin, not inside
   each form plugin’s own editor, so a site running two form plugins still has one
   place to look.
 * **Six Zoho apps, not just CRM.** Zoho CRM, Zoho Bigin, Zoho Books, Zoho Desk,
   Zoho Campaigns and Zoho Marketing Automation.
 * **Per-form feeds.** A “feed” is one form  one Zoho destination. A form can be
   pointed anywhere, cloned, disabled, or switched to another account without touching
   the form itself.
 * **More than one Zoho account.** Connect several accounts, each with its own data
   center and its own set of authorized apps, and pick per feed which one to use.
 * **Every Zoho data center.** US (.com), EU (.eu), India (.in), Australia (.com.
   au), Japan (.jp), Canada (.ca), Saudi Arabia (.sa) and China (.com.cn). Endpoints
   switch automatically for the data center each account was created in.
 * **Field mapping with static values.** Map each Zoho field to a form field or 
   to a fixed value, with a duplicate check (upsert) for Zoho CRM and Zoho Bigin
   so the same person does not become two records.
 * **Retries that do not lose submissions.** Delivery happens during the submission
   itself. A first attempt that fails for a transient reason is retried in the background
   instead of being dropped.
 * **Delivery logs and one-click resubmit.** Every delivery is recorded with its
   outcome, the exact fields sent, and a link straight to the record in Zoho. Tokens
   and secrets are redacted.
 * **Privacy tooling built in.** Log entries are covered by WordPress’s own personal-
   data exporter and eraser, storing submitted values is off by default, and everything
   the plugin created can be erased when it is deleted.

**Disclaimer**

Techwave Form Sync for Zoho is an independent third-party plugin developed by Techwave
Solutions and is not affiliated with, endorsed by, or sponsored by Zoho Corporation
Pvt. Ltd. “Zoho”, “Zoho CRM”, “Bigin”, “Zoho Books”, “Zoho Desk”, “Zoho Campaigns”
and “Zoho Marketing Automation” are trademarks of Zoho Corporation Pvt. Ltd. All
other product names referenced here — including Elementor, Contact Form 7, WPForms,
Gravity Forms, Ninja Forms, Fluent Forms, Formidable Forms, Forminator, Happy Forms
and SureForms — are trademarks of their respective owners and are used only to describe
which form plugins this plugin can read submissions from. Using Techwave Form Sync
for Zoho requires your own Zoho account, which is subject to Zoho’s terms and pricing.

**How mapping works**

All mapping is done in the WordPress admin under **Techwave Sync  Forms**, not inside
any form plugin’s own editor. You create a feed: pick the form plugin, pick the 
form by name, then choose the Zoho app, account, organization (where the app needs
one) and module, and map each Zoho field to a form field or a static value. To find
the exact Zoho API names, open **Techwave Sync  Connections** and use the **Modules&
fields** button for that account.

### External services

This plugin connects to Zoho, a third-party service operated by Zoho Corporation
Pvt. Ltd. That connection is required for the plugin to do its job: without it there
is nowhere to send a submission. Nothing is sent to Zoho until you connect an account
and enable a feed on a specific form.

**1. Zoho OAuth (accounts server)**

 * **What is sent:** the Client ID and Client Secret you entered from your own Zoho
   API console, the redirect URI of your site, and the permission scopes for the
   Zoho apps you ticked when creating the connection. Afterwards, the refresh token
   belonging to your connection is sent to obtain a short-lived access token.
 * **When:** when you create or re-authorize a connection, and whenever a cached
   access token has expired and needs refreshing.
 * **Why:** to obtain and renew authorization to write records into your own Zoho
   account. No password is ever sent or stored — the plugin never sees your Zoho
   login.
 * **Where:** the accounts host for that connection’s data center, e.g. `accounts.
   zoho.com`, or the matching `.eu`, `.in`, `.com.au`, `.jp`, `.ca`, `.sa`, `.com.
   cn` host.

**2. Zoho application APIs**

 * **What is sent:** the form field values you mapped for that feed (and only those—
   unmapped fields are not sent), plus the module or resource name, the selected
   account, and the organization/department where the Zoho app requires one. This
   can include personal data, because form submissions usually do: names, email 
   addresses, phone numbers and message text.
 * **When:** each time a visitor submits a form that has an enabled feed pointing
   at Zoho, and again on an automatic background retry if the first attempt failed
   for a temporary reason. Also when you press **Resubmit** on the Logs screen. 
   Metadata reads (listing modules, fields, mailing lists, tags, departments) happen
   only while you are configuring a feed in wp-admin.
 * **Why:** to create the record — lead, contact, customer, ticket or list subscription—
   that the feed is configured to create.
 * **Where:** the API host for the connection’s data center: `www.zohoapis.com` 
   for CRM, Bigin and Books; `desk.zoho.com` for Desk; `campaigns.zoho.com` for 
   Campaigns; `marketingautomation.zoho.com` for Marketing Automation — each with
   the regional variant matching the chosen data center.

Zoho’s own terms govern what happens to the data once it arrives:

 * Zoho Privacy Policy: https://www.zoho.com/privacy.html
 * Zoho Terms of Service: https://www.zoho.com/terms.html

**3. Deactivation feedback (optional, opt-in)**

When you deactivate Techwave Form Sync for Zoho from the Plugins screen, the plugin
asks why. Answering is entirely optional and can be skipped, and the plugin deactivates
either way.

 * **What is sent:** the reason you pick from the list, the note you type if you
   type one, and the plugin’s version number. Nothing else — no site address, no
   account or email address, no user details, no WordPress/PHP/server information,
   and no identifier of any kind. There is nothing in the request that says which
   site it came from.
 * **When:** only when you press **Send Feedback & Deactivate**. Pressing **Skip&
   Deactivate**, closing the dialog, or deactivating with JavaScript disabled sends
   no request at all. Nothing is sent at any other time.
 * **Why:** so the developer knows which problems make people stop using the plugin.
   It has no effect on how the plugin works.
 * **Where:** the developer’s own feedback collector at `https://feedback.techwavesolutions.
   net/index.php`, operated by Techwave Solutions. Service terms and privacy policy:
   https://techwavesolutions.net/
 * **Failures are ignored:** if the request fails or the service is unreachable,
   deactivation still completes and you are never asked to retry.

Site owners who would rather it never ran can switch it off with one line in `wp-
config.php`, which stops the request being made at all:

    ```
    define( 'FORM2ZOHO_FEEDBACK_ENDPOINT', '' );
    ```

The filter `form2zoho_feedback_endpoint` does the same from a plugin or mu-plugin.

**Nothing else leaves your site.** Apart from the three cases above, the plugin 
sends no analytics, telemetry, usage statistics, site address, admin email, WordPress/
PHP version or installation identifier anywhere. It loads no script, stylesheet,
font or image from a remote host, and it downloads no code.

**Data stored on your own site**

 * **Delivery logs** are written to a table in your own database (timestamp, outcome,
   Zoho app, module, record id, and the error text when something failed). Submitted
   values are included only if you switch **Store submitted values in the log** 
   on; it is off by default. Log entries are deleted automatically after the retention
   period on the Settings tab (30 days by default).
 * **Retry data.** If a delivery temporarily fails and a retry is scheduled, the
   submitted values required for the retry may be temporarily stored by WordPress—
   in a transient on your own site — until the retry is completed or the retry data
   expires (at most two hours). It is deleted as soon as the retry runs, whether
   that attempt succeeds or fails for good, and it is never sent anywhere other 
   than Zoho.
 * **Credentials.** Client secrets and refresh tokens are encrypted (AES-256-GCM)
   before being saved; access tokens are short-lived and cached in transients.

### Privacy

Form submissions usually contain personal data, and this plugin’s whole purpose 
is to transmit the mapped fields of a submission to Zoho, a third-party service,
as described under **External services** above. Review Zoho’s privacy policy and
make sure your own privacy notice covers this transfer.

On your own site, the plugin stores delivery log entries in a custom database table—
including the submitted field values when **Store submitted values in the log** 
is enabled, which it is not by default — for the configured retention period (30
days by default). A submission waiting on an automatic retry is held in a WordPress
transient until the retry runs or that copy expires, at most two hours.

The plugin registers a personal-data exporter and eraser, so log entries mentioning
a given email address are included in, and removed by, WordPress’s own **Tools  
Export/Erase Personal Data** flows. Suggested privacy-policy text is added to **
Settings  Privacy**.

Access tokens, refresh tokens, client secrets and authorization headers are never
written to the logs in readable form.

The optional deactivation feedback described under **External services** carries
no personal data and nothing that identifies your site — only the reason you pick,
the note you choose to type, and the plugin version — and it is sent only if you
press the send button.

## ພາບໜ້າຈໍ

[⌊The Feeds list under Techwave Sync → Forms. Every feed shows which form it listens
to, where it sends, and an on/off switch — with search, filtering by Zoho app, and
per-row Info, Timeline, Clone and Delete actions.⌉⌊The Feeds list under Techwave
Sync → Forms. Every feed shows which form it listens to, where it sends, and an 
on/off switch — with search, filtering by Zoho app, and per-row Info, Timeline, 
Clone and Delete actions.⌉[

The Feeds list under Techwave Sync  Forms. Every feed shows which form it listens
to, where it sends, and an on/off switch — with search, filtering by Zoho app, and
per-row Info, Timeline, Clone and Delete actions.

[⌊Choosing the form. Pick the form plugin from the tiles, then pick the form itself
from a dropdown read out of your saved forms — no form ID to look up, and no editing
inside the form plugin.⌉⌊Choosing the form. Pick the form plugin from the tiles,
then pick the form itself from a dropdown read out of your saved forms — no form
ID to look up, and no editing inside the form plugin.⌉[

Choosing the form. Pick the form plugin from the tiles, then pick the form itself
from a dropdown read out of your saved forms — no form ID to look up, and no editing
inside the form plugin.

[⌊Field mapping. Each Zoho field is matched to a form field or a fixed static value.
Both lists load automatically: the Zoho fields from the module you chose, the form
fields from the form you chose.⌉⌊Field mapping. Each Zoho field is matched to a 
form field or a fixed static value. Both lists load automatically: the Zoho fields
from the module you chose, the form fields from the form you chose.⌉[

Field mapping. Each Zoho field is matched to a form field or a fixed static value.
Both lists load automatically: the Zoho fields from the module you chose, the form
fields from the form you chose.

[⌊The Connections tab. Connect more than one Zoho account, each with its own data
centre, and see at a glance which Zoho apps each one is authorized for.⌉⌊The Connections
tab. Connect more than one Zoho account, each with its own data centre, and see 
at a glance which Zoho apps each one is authorized for.⌉[

The Connections tab. Connect more than one Zoho account, each with its own data 
centre, and see at a glance which Zoho apps each one is authorized for.

[⌊Creating a connection. Paste the Client ID and Secret from your Zoho API console,
tick only the apps you need, and approve on Zoho's own consent screen. Secrets are
encrypted before they are stored.⌉⌊Creating a connection. Paste the Client ID and
Secret from your Zoho API console, tick only the apps you need, and approve on Zoho's
own consent screen. Secrets are encrypted before they are stored.⌉[

Creating a connection. Paste the Client ID and Secret from your Zoho API console,
tick only the apps you need, and approve on Zoho’s own consent screen. Secrets are
encrypted before they are stored.

[⌊The Logs tab. Every delivery is recorded — success, failure, or suppressed — with
the exact data sent, a link straight to the record in Zoho, and one-click resubmit.
New entries appear live.⌉⌊The Logs tab. Every delivery is recorded — success, failure,
or suppressed — with the exact data sent, a link straight to the record in Zoho,
and one-click resubmit. New entries appear live.⌉[

The Logs tab. Every delivery is recorded — success, failure, or suppressed — with
the exact data sent, a link straight to the record in Zoho, and one-click resubmit.
New entries appear live.

[⌊The Settings tab. Logging, submitted-value storage, automatic log cleanup, failure
email alerts, and full data erasure on uninstall, grouped by what they affect.⌉⌊
The Settings tab. Logging, submitted-value storage, automatic log cleanup, failure
email alerts, and full data erasure on uninstall, grouped by what they affect.⌉[

The Settings tab. Logging, submitted-value storage, automatic log cleanup, failure
email alerts, and full data erasure on uninstall, grouped by what they affect.

## ການຕິດຕັ້ງ

 1. Upload the plugin folder to `/wp-content/plugins/`, or install the zip from **Plugins
    Add New  Upload Plugin**.
 2. Activate the plugin.
 3. In your Zoho API console (https://api-console.zoho.com), create a **Server-based
    Application**. Set the **Authorized Redirect URI** to the value shown on the plugin’s**
    Connections** tab.
 4. Copy the Client ID and Client Secret.
 5. In wp-admin go to **Techwave Sync  Connections  Create Connection**: pick your 
    data center, paste the Client ID and Secret, and tick the Zoho app(s) this account
    will actually send to. Then connect and approve access on Zoho’s own consent screen.
 6. For Elementor: edit your form and, under **Form settings  Additional Options**,
    set a unique **Form Name**, then save the page. For every other supported plugin
    the form’s own title is used, so no extra setup is needed. Either way, no submit
    action needs to be added — the plugin listens for submissions itself.
 7. Go to **Techwave Sync  Forms  Add New**. Choose the form plugin, pick the form,
    choose the Zoho app, account, organization and module, map your fields, and save
    the feed. New submissions are sent from then on.

## ຄຳຖາມທີ່ພົບເລື້ອຍ

### Which form plugins are supported?

Elementor Pro Forms, Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Fluent
Forms, Formidable Forms, Forminator, Happy Forms and SureForms. Pick one source 
per feed; you only need the form plugin you actually use.

### Which Zoho apps are supported?

Zoho CRM, Zoho Bigin, Zoho Books, Zoho Desk, Zoho Campaigns and Zoho Marketing Automation.

### Do I need Elementor Pro?

Only if you want to use Elementor forms as a feed’s source. Any of the other supported
plugins works without it.

### Which permissions does the plugin ask Zoho for?

Only the ones needed by the app(s) you tick when creating the connection — CRM permissions
if you picked CRM, Desk permissions if you picked Desk, and so on. Nothing is pre-
selected, and no app you did not pick is requested. You can widen a connection’s
access later with **Edit access** on the Connections tab, which re-runs Zoho’s consent
screen for the updated list.

### Which data centers are supported?

All of them: US, EU, India, Australia, Japan, Canada, Saudi Arabia and China. You
choose the data center per connected account and the correct endpoints are used 
automatically.

### Where are my tokens stored?

Refresh tokens and client secrets are encrypted (AES-256-GCM) before being saved
in your WordPress database, using a key derived from a per-site secret and your `
AUTH_KEY` salt. Access tokens are short-lived and cached as transients. The plugin
refuses to save credentials on a server without the OpenSSL extension rather than
storing them unencrypted.

### What happens if a request to Zoho fails?

A failure that looks temporary (a network problem, a rate limit, Zoho briefly unavailable)
is retried in the background a few times with an increasing delay. A failure that
will never succeed on a retry — a rejected value, a bad mapping, a missing required
field — is recorded immediately instead. Either way the outcome ends up on the Logs
screen, and a `form2zoho_submission_failed` action fires when a submission is given
up on.

### Is form data stored on my site?

Only if you ask for it. **Store submitted values in the log** is off by default:
log entries then record the submitted field _names_ but never their contents. Turning
it on stores the values too, which is what makes the Logs screen’s one-click **Resubmit**
possible — and means whatever your forms collect, including personal data, is kept
in the log table for the retention period. Separately, a submission awaiting an 
automatic retry is held briefly in a transient (see **External services** above).
Access tokens, refresh tokens and client secrets are always redacted from logs.

### My submission did not reach Zoho. What do I check?

Make sure the form has a name and that a feed points at that exact form (pick it
from the dropdown). Then open **Techwave Sync  Logs** and look for the entry — the
error text there is the reason Zoho gave.

### How do I remove everything the plugin created?

Turn on **Erase all plugin data when the plugin is deleted** under **Techwave Sync
Settings**, then delete the plugin from the Plugins screen. That drops the log table
and removes every option, connection, feed, cached token and scheduled event belonging
to this plugin — and nothing else. The setting is off by default so an accidental
deactivate-and-reinstall does not destroy your setup. Deactivating alone never deletes
anything; it only stops scheduled work.

## ການຣີວິວ

ບໍ່ມີການຣີວິວສຳລັບປລັກອິນນີ້.

## ຜູ້ຮ່ວມພັດທະນາ ແລະ ຜູ້ພັດທະນາ

“Techwave Form Sync for Zoho” ແມ່ນຊອຟແວໂອເພັນຊອດ (Open Source). ບຸກຄົນຕໍ່ໄປນີ້ໄດ້
ມີສ່ວນຮ່ວມໃນການພັດທະນາປລັກອິນນີ້.

ຜູ້ຮ່ວມພັດທະນາ

 *   [ Abdul Kader ](https://profiles.wordpress.org/kaderoishi/)

[ແປ “Techwave Form Sync for Zoho” ເປັນພາສາຂອງເຈົ້າ.](https://translate.wordpress.org/projects/wp-plugins/techwave-form-sync-for-zoho)

### ສົນໃຈຮ່ວມພັດທະນາບໍ່?

[ເບິ່ງລະຫັດ](https://plugins.trac.wordpress.org/browser/techwave-form-sync-for-zoho/),
ກວດເບິ່ງ [ຄັງເກັບ SVN](https://plugins.svn.wordpress.org/techwave-form-sync-for-zoho/),
ຫຼື ຕິດຕາມ [ບັນທຶກການພັດທະນາ](https://plugins.trac.wordpress.org/log/techwave-form-sync-for-zoho/)
ຜ່ານ [RSS](https://plugins.trac.wordpress.org/log/techwave-form-sync-for-zoho/?limit=100&mode=stop_on_copy&format=rss).

## ບັນທຶກການປ່ຽນແປງ

#### 1.0.0 – 3 August 2026

Initial release.

 * Send form submissions to Zoho CRM, Bigin, Books, Desk, Campaigns and Marketing
   Automation.
 * Works with Elementor Pro Forms, Contact Form 7, WPForms, Fluent Forms, Forminator,
   Ninja Forms, Gravity Forms, Formidable Forms, Happy Forms and SureForms.
 * Per-feed field mapping, duplicate-record protection, and organisation/department
   targeting where the connected Zoho app needs it.
 * OAuth 2.0 connection with encrypted token storage and automatic refresh, across
   every Zoho data center. Only the permissions for the app(s) you pick are requested.
 * Instant delivery on submit, with automatic background retries if a first attempt
   fails for a transient reason. An unreachable or overloaded Zoho gives up after
   10 seconds on the front end instead of holding the visitor’s page; the filters`
   form2zoho_api_timeout` and `form2zoho_oauth_timeout` change those values.
 * Live-updating Logs screen with per-entry details, bulk delete, “Select failed”,
   and one-click resubmit using each feed’s current configuration.
 * Storing submitted values in the log is off by default; delivery logging itself
   stays on.
 * Optional one-question feedback prompt when the plugin is deactivated. Skippable,
   sends only the reason, your note and the version number, never blocks deactivation,
   and can be turned off from `wp-config.php`.
 * Personal-data exporter and eraser, suggested privacy-policy text, and opt-in 
   full data erasure on uninstall.
 * Fully translatable, keyboard accessible, and usable from 320px up.

## ຂໍ້ມູນກຳກັບ (Meta)

 *  ເວີຊັນ **1.0.0**
 *  ອັບເດດຫຼ້າສຸດເມື່ອ **13 ຊົ່ວໂມງ ທີ່ຜ່ານມາ** ທີ່ຜ່ານມາ
 *  ການຕິດຕັ້ງທີ່ໃຊ້ງານຢູ່ **ໜ້ອຍກວ່າ 10**
 *  ເວີຊັນ WordPress ** 6.2 ຫຼື ສູງກວ່າ **
 *  ທົດສອບເຖິງເວີຊັນ **7.0.4**
 *  ເວີຊັນ PHP ** 7.4 ຫຼື ສູງກວ່າ **
 *  ພາສາ
 * [English (US)](https://wordpress.org/plugins/techwave-form-sync-for-zoho/)
 * ແທັກ
 * [crm](https://lo.wordpress.org/plugins/tags/crm/)[forms](https://lo.wordpress.org/plugins/tags/forms/)
   [integration](https://lo.wordpress.org/plugins/tags/integration/)[leads](https://lo.wordpress.org/plugins/tags/leads/)
   [Zoho](https://lo.wordpress.org/plugins/tags/zoho/)
 *  [ມຸມມອງຂັ້ນສູງ](https://lo.wordpress.org/plugins/techwave-form-sync-for-zoho/advanced/)

## ການໃຫ້ຄະແນນ

ຍັງບໍ່ມີການສົ່ງຄຳວິຈານເທື່ອ.

[ການທົບທວນຂອງທ່ານ](https://wordpress.org/support/plugin/techwave-form-sync-for-zoho/reviews/#new-post)

[ເບິ່ງທັງໝົດ ການຣີວິວ](https://wordpress.org/support/plugin/techwave-form-sync-for-zoho/reviews/)

## ຜູ້ຮ່ວມພັດທະນາ

 *   [ Abdul Kader ](https://profiles.wordpress.org/kaderoishi/)

## ການຊ່ວຍເຫຼືອ

ມີຄຳຖາມ ຫຼື ຕ້ອງການຄວາມຊ່ວຍເຫຼືອບໍ່?

 [ເບິ່ງຟໍຣັມການຊ່ວຍເຫຼືອ](https://wordpress.org/support/plugin/techwave-form-sync-for-zoho/)