WP Manifestindependent plugin directory
manifest / social / wordpress-whatsapp-plugin

Zaptilo WhatsApp

Free WordPress / Woocommerce plugin to send WhatsApp Business messages via Zaptilo API.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/zaptilo/wordpress-whatsapp-plugin/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Zaptilo WhatsApp — WordPress Plugin

Send WhatsApp Business messages from WordPress and WooCommerce — form notifications, order updates, COD verification, abandoned cart recovery — via the Zaptilo WhatsApp API.

This is the source repository for the Zaptilo WhatsApp WordPress plugin. The plugin lives at wp-content/plugins/zaptilo-whatsapp/ after install.

Features (all free)

Category Feature
Connection API token + base URL + default country code
Forms Contact Form 7, Gravity Forms, Elementor Pro Forms, WPForms
WooCommerce Order placed → WhatsApp
WooCommerce Order shipped → WhatsApp
WooCommerce Order completed → WhatsApp
WooCommerce COD verification (reduces RTO 25-40%)
WooCommerce Abandoned cart recovery (1h, 6h, 24h sequence)
Diagnostics Message log with delivery status

Requirements

  • WordPress 5.6+
  • PHP 7.4+
  • A free Zaptilo account (for the API token)
  • WooCommerce 6+ (only if you want WooCommerce features)

Install

From the WordPress.org plugin repository (recommended once published)

Plugins → Add New → search "Zaptilo WhatsApp" → Install Now → Activate

Manual install

  1. Download a release zip from this repo or build from source:
    git clone https://github.com/zaptilo/wordpress-whatsapp-plugin.git zaptilo-whatsapp
    zip -r zaptilo-whatsapp.zip zaptilo-whatsapp
  2. WordPress Admin → Plugins → Add New → Upload Plugin → choose the zip
  3. Activate
  4. Open Settings → Zaptilo WhatsApp and configure your API token + per-event templates

Configuration

1. Get a Zaptilo API token

Sign up at web.zaptilo.ai → Developer Tools → Access Tokens → copy the token.

2. Submit message templates to Meta (via Zaptilo dashboard)

For each event you want to use, submit an approved template. Examples:

Event Template name Body
Form submission contact_thanks Hi {{1}}, thanks for reaching out. Our team will get back to you shortly.
Order placed order_confirmation Hi {{1}}, your order #{{2}} for {{3}} is confirmed.
Order shipped order_shipped Hi {{1}}, your order #{{2}} is shipped. Track at {{3}}.
Order delivered order_delivered Hi {{1}}, your order #{{2}} has been delivered. Hope you love it!
COD verification cod_verification Hi {{1}}, please confirm your COD order #{{2}} for {{3}}.
Abandoned cart 1h abandoned_cart_1h Hi {{1}}, you left items in your cart. Complete your order: {{2}}
Abandoned cart 6h abandoned_cart_6h Hi {{1}}, your cart of {{2}} is waiting. Checkout now: {{3}}
Abandoned cart 24h abandoned_cart_24h Hi {{1}}, last chance — complete your order: {{2}}

Meta typically approves Utility templates within an hour.

3. Configure each event in WordPress admin

Each setting takes the format:

template_name | language_code | field1, field2, field3

For example, for Order placed:

order_confirmation | en | customer_first_name, order_number, order_total

This sends template order_confirmation (English) with {{1}} = customer first name, {{2}} = order number, {{3}} = order total.

4. Available field tokens

WooCommerce events:

  • customer_first_name, customer_last_name, customer_full_name
  • order_number, order_total, order_status, order_url
  • tracking_number, tracking_url (from order meta _tracking_number / _tracking_url)
  • shop_name

Abandoned cart:

  • customer_first_name, cart_total, cart_items_count, cart_url, shop_name

Form integrations:

  • Use the actual field name from your form (e.g. your-name for Contact Form 7's [your-name]).

Architecture

zaptilo-whatsapp.php           ← main plugin file (entrypoint, hooks)
includes/
  class-zaptilo-client.php     ← REST API wrapper (wp_remote_post)
  class-zaptilo-settings.php   ← admin settings page
  class-zaptilo-logger.php     ← message log + custom DB table
integrations/
  cf7.php                      ← Contact Form 7
  gravity-forms.php            ← Gravity Forms
  elementor-forms.php          ← Elementor Pro Forms
  wpforms.php                  ← WPForms
  woocommerce.php              ← order placed / shipped / completed
  woocommerce-cod.php          ← COD verification (only on payment_method=cod)
  woocommerce-abandoned-cart.php ← cart capture + hourly cron
admin/views/
  settings.php                 ← /wp-admin settings page
  logs.php                     ← /wp-admin message log page
assets/css/admin.css           ← admin styling
uninstall.php                  ← clean up tables + options on uninstall
readme.txt                     ← WP.org plugin repository metadata

Database tables created

Table Purpose
wp_zaptilo_wa_log API call log (auto-prunes to last 5000 entries)
wp_zaptilo_wa_abandoned_cart Cart capture for the abandoned-cart cron

Both are dropped automatically on plugin uninstall.

Cron

The plugin schedules an hourly WP-cron event called zaptilo_wa_abandoned_cart_cron for the abandoned-cart sequence. WP-cron only fires when there's site traffic — for low-traffic sites, set up a real cron hitting wp-cron.php.

Support

License

GPLv2 or later — see LICENSE.