Zindua
WordPress plugin · v1.2.0

Zindua Connect

OTP login, WooCommerce notifications, and wp_mail routing for WordPress. Connect Gmail, Outlook, SMTP, or WhatsApp on zindua.run, then paste your API key in wp-admin.

API key onboarding

Paste key in wp-admin. No wp-config.php required.

WhatsApp + Email

OTP and alerts on both channels from one project.

Contact forms

wp_mail for CF7/WPForms, or built-in builder with dual templates.

WooCommerce

Registration OTP and order lifecycle events.

Secure by design

Sessions stay on Zindua. WP sends variables only.

Setup

Step-by-step setup

Configure Zindua first, then connect WordPress. One API key binds one site to one project.

Step 01

Create a Zindua project

Sign up at zindua.run, create one project, and copy its API key (znd_live_… or znd_test_…). One WordPress site = one project key.

Step 02

Connect channels in Zindua

In your project dashboard: Service → connect Gmail, Outlook, or SMTP for email. WhatsApp → scan the QR code if you need WhatsApp OTP or order alerts.

Step 03

Create templates

Design message templates in Zindua (slug + variables). The plugin syncs slugs automatically into dropdown pickers. WordPress only sends dynamic variables, never raw HTML from WP.

Step 04

Install Zindua Connect

Download the plugin ZIP below, upload via WordPress → Plugins → Add New → Upload, then activate.

Step 05

Paste API key in WordPress

Open the Zindua menu in wp-admin, paste your project key, and click Connect & verify. When status shows Connected, templates and quotas are synced.

Step 06

Configure & go live

Pick templates from synced lists, map events, attach notify + confirmation templates to contact forms, send a test, and check the send log. No SMTP plugin required.

Install

Install the plugin

The ZIP contains the zindua-connect folder, ready for upload.

Upload

  1. 1Plugins → Add New → Upload
  2. 2Select zindua-connect.zip
  3. 3Activate Zindua Connect

FTP / SFTP

  1. 1Unzip locally
  2. 2Copy to wp-content/plugins/
  3. 3Activate in admin

WP-CLI

  1. 1Unzip to plugins folder
  2. 2wp plugin activate zindua-connect
  3. 3Open Zindua menu

Requirements

  • WordPress 6.0+
  • PHP 8.1+
  • WooCommerce optional
  • Gutenberg blocks: OTP login + Contact form
  • Contact form builder included
Download
Channels

WhatsApp vs Email

WordPress never stores Gmail or SMTP credentials. Pick the channel per feature; Zindua delivers through your dashboard setup.

WhatsApp

  • Scan QR in Zindua → project → WhatsApp
  • WordPress shows Ready + phone after sync
  • OTP login, WooCommerce alerts, or both

Email

  • Connect Gmail, Outlook, or SMTP in Zindua → Service
  • WordPress shows Ready + from address after sync
  • Route wp_mail(), OTP, and order emails
Forms

Contact forms without SMTP

Use Contact Form 7, Gravity Forms or WPForms with Zindua routing, or design your own form in wp-admin.

Option A

Keep Contact Form 7, Gravity Forms or WPForms

Your WordPress site

Contact Form 7Gravity FormsWPForms
Route wp_mail through Zindua

Zindua menu → wp_mail → enable routing

Z

Zindua email

Gmail, Outlook or SMTP connected on zindua.run

1

Install your contact plugin as usual (no SMTP settings).

2

In Zindua → wp_mail, turn on Route wp_mail through Zindua.

3

Submit a test form. The email is delivered via your Zindua project.

No WP Mail SMTP. No host SMTP panel. Email leaves through your Zindua project.

Option B

Use the Zindua form builder

1 · Design in wp-admin

Contact form

Notification template

contact-form (en, fr)

Confirmation template

contact-received (en)

Form fields

+ Add field
F1NamenameText×
F2EmailemailEmail×
F3PhonephonePhone×
F4MessagemsgLong text×

Form style

Button · accent · labels

2 · Add to a page

Edit Page · Contact

Page title

Contact

Block editor

Shortcode block

[zindua_contact_form]
Publish → form appears on /contact
1

Open Zindua → Contact form. Pick notification + confirmation templates from your synced project.

2

Save settings, then create a page and paste [zindua_contact_form] or override templates per page.

3 · What visitors see

3

Publish. Visitors submit; you receive the notify email and they get an optional confirmation.

yoursite.com/contact

Contact us

Name
Alex
Email
alex@co.com
Message
Quick question about pricing…
[zindua_contact_form]paste on any page
notifycontact-formconfirmcontact-received(optional)
Admin

Modern wp-admin dashboard

Setup wizard first, then Contact form, OTP, and existing plugins. Built for daily use, not a long settings page.

What do you want to do?

Connected
Z

Contact form

Receive visitor messages

Set up →
Z

OTP login

Passwordless sign-in

Set up →
Z

Store notifications

Orders via templates

Set up →
Z

Existing forms

CF7 / Gravity / WPForms

Set up →

The Zindua panel opens full width under the WordPress admin bar: white sidebar, orange accents, and Yoast-style action buttons that explain what each feature is for.

  • Setup wizard with Contact, OTP, store alerts, and existing forms
  • Synced template pickers (OTP, contact notify + confirmation, events)
  • Multiple field sets (default, sales, support…) with tabbed builder
  • Gutenberg blocks: Zindua OTP Login and Zindua Contact Form
  • Send log with refresh, template column, and Open in Zindua links
  • Per-page shortcode overrides: fields, template, confirm, notify, success
  • Save loading state and success toast after every settings save
OTP

Integrate OTP login

Shortcode or Gutenberg block. Visitors get a code on WhatsApp or email. Verification stays in WordPress; delivery goes through Zindua.

[zindua_otp_login]
[zindua_otp_login channel="choice" redirect="/my-account" lang="fr"]
[zindua_contact_form]
[zindua_contact_form title="Contact us" button="Send message"]
[zindua_contact_form fields="sales" template="sales-inquiry" confirm="contact-received"]

Default channel

Zindua menu → Defaults: WhatsApp, Email, or user choice (tabs on the form).

Gutenberg

Search "Zindua OTP Login" or "Zindua Contact Form" in the block inserter. Pick field sets and templates in the sidebar.

Templates

Templates in Zindua

Create these slugs in your project dashboard. After connect, they appear in the WordPress picker.

otp-verification

{{code}}, {{appName}}

OTP login & registration

contact-form

{{name}}, {{email}}, {{phone}}, {{message}}, {{messageSummary}}, {{siteName}}, {{pageUrl}}

Built-in contact form (notify admin)

contact-received

{{name}}, {{email}}, {{message}}, {{siteName}}, {{appName}}

Contact form confirmation to visitor (optional)

welcome

{{customerName}}, {{appName}}

New customer welcome

order-processing

{{customerName}}, {{orderId}}, {{orderTotal}}, {{productList}}, {{shopName}}

WooCommerce processing

order-completed

{{customerName}}, {{orderId}}, {{orderTotal}}, {{productList}}, {{shopName}}

WooCommerce completed

order-cancelled

{{customerName}}, {{orderId}}, {{orderTotal}}, {{shopName}}

WooCommerce cancelled

order-refunded

{{customerName}}, {{orderId}}, {{orderTotal}}, {{shopName}}

WooCommerce refunded

payment-received

{{customerName}}, {{orderId}}, {{orderTotal}}, {{paymentMethod}}, {{shopName}}

Payment confirmed

wordpress-email

{{subject}}, {{body}}, {{appName}}

wp_mail() override (CF7, WPForms…)

Trust

Built for trust

What stays on your WordPress site, and what stays on Zindua. No secrets or provider credentials are stored in the plugin.

WordPress

API key, plugin settings, OTP verification, shortcodes, and event mapping.

Zindua

Email and WhatsApp connections, templates, quotas, delivery, and provider sessions.

Credentials stay on Zindua

Gmail, Outlook, SMTP, and WhatsApp are connected in your Zindua dashboard. WordPress never stores provider passwords or session tokens.

One key per site

Each WordPress install uses one project API key. Quotas and plan limits are enforced through that key automatically.

Templates in your dashboard

Message design lives on zindua.run. WordPress picks synced template slugs and passes variables like names, order IDs, and OTP codes at send time.

Need the HTTP API? Developer documentation

Ready to connect WordPress?

Create your project, connect your channels, download the plugin, and paste your API key. Quotas apply through your project key automatically.

Next.js starter →