
Zaplane is a no-code automation and workflow builder for WordPress. Pick a trigger (an order, a form submission, a user action, a webhook, a scheduled time) and chain it to one or more actions (email, CRM update, chat message, HTTP call) with delays, conditions, filters, loops and AI steps in between. Workflows are built visually on a drag-and-drop canvas and run in the background on Action Scheduler, the same queue WooCommerce uses. Everything — workflows, run history, credentials — stays in your own WordPress database.
Website and documentation: zaplane.app. Report a bug or request an integration: github.com/imrantushar/zaplane.
Features
- Visual workflow builder. Drag-and-drop canvas with trigger, action, condition, filter, router, iterator, delay and AI nodes. Variable passing between steps, test runs, logs and re-tries.
- 100+ built-in integrations. WooCommerce, FluentCRM, Mailchimp, Brevo, Slack, Discord, Telegram, WhatsApp, Gmail, Google Sheets, LearnDash, Tutor LMS, Fluent Forms, Gravity Forms, WPForms, Shopify and more. See the full list below.
- Flow control and utility steps. Delay, Condition, Filter, Router, Iterator, Set Variable, HTTP Request, Send/Catch Webhook, Human Approval, Schedule, Formatter, Date/Time, CSV, XML, JSON Parser, Image Helper, Conversation Memory, Business Knowledge, MCP Client, Sticky Note.
- AI automation. A tool-calling AI Agent, generated replies and images, and search over your own knowledge base. Uses the WordPress AI Client when core provides it, or your own OpenAI, Anthropic or Gemini key.
- Inbox and live chat. A website chat widget, Facebook Messenger and WhatsApp channels, selling in chat with product cards, saved replies and quick-answers, automatic answers from Business Knowledge, agent presence and business hours. Workflows can read, reply to and route conversations.
- WordPress Abilities API access. Zaplane registers its workflow capabilities as abilities. Install an MCP adapter and an AI client you approve can discover, build and run workflows. Every ability requires an administrator; Zaplane runs no server of its own.
- Extensible. Custom Apps turn any REST API or WordPress hook into a trigger or action without writing a plugin. Companion plugins can register their own triggers and actions through
zaplane_register_integration()on thezaplane_register_integrationsaction. - Ready-made recipes for common jobs: abandoned-cart recovery, order confirmations, review requests, drip campaigns, birthday emails, lead nurturing, membership provisioning, support auto-replies and more.
- GPL-3.0, free. Every integration, trigger, action and recipe is in this plugin. No premium tier, no per-task fee.
Typical use cases
Recover abandoned WooCommerce carts, follow up on orders, request reviews, remind customers about subscription renewals, and warn when a product goes out of stock. Add form submissions to a CRM, apply or remove tags, enrol contacts in sequences, run drip campaigns and autoresponders, and sync between CRMs. Route Fluent Forms, Gravity Forms, WPForms, Contact Form 7, Formidable, Ninja, Fillout, Typeform or Jotform submissions anywhere. Enrol learners on LearnDash, Tutor LMS, LifterLMS, MasterStudy or Academy courses, grant membership on purchase, and email instructors on completion. Provision access on MemberPress, Paid Memberships Pro, SureMembers, BuddyBoss or Ultimate Member when a payment succeeds. Run hourly, daily, weekly or cron-based scheduled tasks, including birthdays, anniversaries and delayed follow-ups.
Full integrations list
aBlocks, ActiveCampaign, ACF, AI Agent, AI Chat Model, Anthropic, AR Form, Avada Form, Beaver Builder, Bit Form, Booking Calendar Contact Form, Brevo, BuddyBoss, Business Knowledge, Catch Webhook, Contact Form 7, CoBlocks, Custom Apps, Discord, Divi Builder, Dokan, Easy Content Manager, Easy Digital Downloads, Elementor, Essential Blocks, Everest Forms, Facebook Messenger, Fillout, FluentCart, FluentCRM, FluentSMTP, Fluent Forms, Formidable Forms, Forminator, FunnelKit, GameEngine, GamiPress, GemBoards, GemBooking, GemCRM, Gmail, Google Docs, Google Gemini, Google Meet, Google Sheets, Gravity Forms, Groundhogg, Gutena Forms, HappyForms, HTTP Request, Inbox (live chat), JetEngine, JetFormBuilder, Jotform, Kadence Blocks, LearnDash, LifterLMS, Mailchimp, MasterStudy LMS, MemberPress, Meta Box, Metform, MCP Client, Ninja Forms, OpenAI, OpenAI-compatible endpoints, Paid Memberships Pro, Paymattic, Profile Builder, QuizPress, Send Webhook, Shopify, Slack, Spectra, StoreEngine, SureCart, SureForms, SureMail, SureMembers, Tally Form, Telegram, The Events Calendar, Trello, TruePlayer, Tutor LMS, Typeform, Ultimate Member, weForms, WhatsApp, WooCommerce, WooCommerce Bookings, WordPress core, WordPress AI Client, WP Map Block, WPFunnels, WPForms, WP User Frontend, ZenAppBuilder, ZenCommunity, Zoom.
Each service needs your own account with that provider. See External services below for what Zaplane sends to each one.
External services
Zaplane contacts no third-party on install, activate or browse, and sends nothing to its authors. It calls a service only after you add a connection for it, and then only when you test the connection, when the editor loads options from it, or when a step that uses it runs. Each service needs your own account; review its terms and privacy before connecting. Requests carry your site’s address in the User-Agent header. AI entries apply only when a connection uses that provider.
- ActiveCampaign — contact emails, names, phone numbers and list / tag / automation IDs, with your key, to your account API URL. Terms: https://www.activecampaign.com/legal/terms-of-service · Privacy: https://www.activecampaign.com/legal/privacy-policy
- Anthropic — prompts, messages, history, knowledge context, tool definitions and results, image URLs, with your key, to
api.anthropic.com. Terms: https://www.anthropic.com/legal/commercial-terms · Privacy: https://www.anthropic.com/legal/privacy - Brevo — contact emails, names, attributes and list IDs, with your key, to
api.brevo.com. Terms: https://www.brevo.com/legal/termsofuse/ · Privacy: https://www.brevo.com/legal/privacypolicy/ - Discord — server, channel and user IDs and the message content, with your bot token, to Discord’s API. Terms: https://discord.com/terms · Privacy: https://discord.com/privacy
- Fillout — form IDs, with your key, to
api.fillout.com. Terms: https://www.fillout.com/terms · Privacy: https://www.fillout.com/privacy - Google Gemini — prompts, history, knowledge context, images, and (with semantic search) knowledge text and queries, with your key, to
generativelanguage.googleapis.com. Terms: https://ai.google.dev/gemini-api/terms · Privacy: https://policies.google.com/privacy - Google (Gmail, Calendar, Meet) — recipients, subjects, bodies, event titles, times, attendees, OAuth codes and tokens, through the OAuth client you configure, to
gmail.googleapis.com,www.googleapis.com,meet.googleapis.com,accounts.google.com,oauth2.googleapis.com. Terms: https://policies.google.com/terms · Privacy: https://policies.google.com/privacy - Jotform — form IDs and the form definitions you create, with your key, to
api.jotform.com. Terms: https://www.jotform.com/terms/ · Privacy: https://www.jotform.com/privacy/ - Mailchimp — subscriber emails, merge fields, tags and audience IDs, with your key, to the
api.mailchimp.comdata centre named in your key. Terms: https://mailchimp.com/legal/terms/ · Privacy: https://www.intuit.com/privacy/statement/ - Meta (Messenger, WhatsApp) — recipient ID or phone number, message text, templates, media URLs and locations, with your page or WhatsApp Business token, to the Meta Graph API (
graph.facebook.com). Terms: https://developers.facebook.com/terms/ · Privacy: https://www.facebook.com/privacy/policy/ - OpenAI — prompts, messages, history, knowledge context, tool definitions and results, image prompts and URLs, audio files, and (with semantic search) knowledge text and queries, with your key, to
api.openai.com. Terms: https://openai.com/policies/services-agreement/ · Privacy: https://openai.com/policies/privacy-policy/ - OpenAI-compatible providers — the same data as OpenAI, to the base URL you enter (e.g. OpenRouter, Azure OpenAI, Ollama). Terms and privacy are those of the provider you choose.
- Slack — channels, users, message text and names, your OAuth code or bot token, and for Human Approval the message and approve / reject links to the webhook URL you enter, to Slack’s API. Terms: https://slack.com/terms-of-service/api · Privacy: https://slack.com/trust/privacy/privacy-policy
- Telegram — chat ID, message text and media URLs, with your bot token, to
api.telegram.org. Terms: https://telegram.org/tos/bot-developers · Privacy: https://telegram.org/privacy - Trello — the card, list, board, member and label details you configure, with your key and token, to
api.trello.com. Terms: https://www.atlassian.com/legal/atlassian-customer-agreement · Privacy: https://www.atlassian.com/legal/privacy-policy - Typeform — form titles, fields, workspace and your site’s webhook URL, with your access token, to
api.typeform.com. Terms: https://www.typeform.com/legal/service-terms-and-conditions · Privacy: https://www.typeform.com/legal/privacy-policy - WordPress AI Client — prompt, history, knowledge context, tool definitions and results, and images, to WordPress core’s AI Client, which forwards to the provider the site owner configured. Zaplane stores no key and contacts no AI service itself. Terms and privacy are the configured provider’s.
- YouTube thumbnails (email editor) — the video ID, as part of the image URL, to
img.youtube.com, only when you add a YouTube link to a Video block. Terms: https://www.youtube.com/t/terms · Privacy: https://policies.google.com/privacy - Zoom — meeting topics, times, settings, registrant names and emails, OAuth codes and tokens, through your Zoom app, to
api.zoom.us(sign-in atzoom.us). Terms: https://www.zoom.com/en/trust/terms/ · Privacy: https://www.zoom.com/en/trust/privacy/privacy-statement/ - Addresses you configure — HTTP Request, Send Webhook, Custom Apps, MCP Client, the AI Agent’s HTTP tool, and the steps that read a file from a URL (CSV, Image Helper, Upload Media From URL, AI image and audio) send to, or fetch from, the address you enter. The MCP Client also sends your site’s address. Requests go only where you point them; private-network addresses are refused unless a developer allows them.
Source Code and Build Process
Only one part of Zaplane is compiled: the admin interface, which is a React app. Everything else, including all of the plugin’s PHP in includes/ and integrations/, runs exactly as it ships. The complete, uncompiled source of the admin interface is included in this plugin, together with everything needed to build it.
Where the development files are
dev_zaplane/— the React source:app.jsis the entry point,app.scssits base stylesheet, withcomponents/(shared UI),containers/BackendDashboard/(the admin screens and workflow canvas),redux/(store and slices),hooks/,utils/andwebpack/(a loader that points the email editor’s placeholder images atassets/images/).assets/scss/— the Sass for the admin interface;backend.scssis its entry.package.json,webpack.config.js,tailwind.config.js,postcss.config.jsandjsconfig.json— the dependencies, build scripts and configuration. The build runs on@wordpress/scripts, with Tailwind CSS and Autoprefixer through PostCSS.
Generated files
assets/build/app.js— built fromdev_zaplane/app.jsand every module it imports.assets/build/app.cssandassets/build/app-rtl.css— built from the Sass above; the right-to-left file comes from the same source.assets/build/app.asset.php— written by the build: the script’s WordPress dependencies and its version.
Every generated .js and .css file starts with a comment naming its source and the commands that rebuild it.
Building the admin interface
You need Node.js 18.12 or newer and npm 8.19 or newer. In the plugin’s folder, wp-content/plugins/zaplane:
- Install the dependencies:
npm install --legacy-peer-deps - Build the production files:
npm run build
The build writes minified files to assets/build/. While working on the source, npm run start rebuilds on every save, unminified and with source maps; run npm run build again before using the plugin on a live site. --legacy-peer-deps is needed because one dependency, react-json-view, declares support only for older React versions, although it works with the version Zaplane uses.
The PHP library in vendor/ (Action Scheduler) is managed with Composer; composer install --no-dev reinstalls it.
For developers
- Build your own integration from another plugin. Call
zaplane_register_integration()on thezaplane_register_integrationsaction, and your triggers and actions appear in the editor live. Walkthrough and example plugin:docs/integrations/third-party/. - Scaffold a sample integration with WP-CLI.
wp zaplane make:addon <slug>— create a ready-to-edit companion plugin atwp-content/plugins/<slug>/.wp zaplane make:addon <slug> --name="My Integration" --author="Acme"— pre-fill the plugin header.wp zaplane make:addon <slug> --plugin=<folder>— add a sample integration file to an existing plugin instead of creating a new one.
- AI Agent slots.
zaplane_agent_slotsfilters which Chat Model, Memory and Tool nodes an agent accepts. - No-code integrations. Custom Apps turn any REST API or WordPress hook into a trigger or action without writing a plugin.
- In-depth docs (not shipped in the dist zip):
docs/backend/,docs/frontend/,docs/integrations/,docs/mcp/,docs/recipes/.