WhatsApp automation on WordPress, without writing a line.
You draw the automation on a canvas: pick a trigger (a paid order, a submitted form, a registered user), add conditions, delays and loops, and attach the messages you want sent. Every feature is unlocked; there is no paid tier of the plugin.
- LicenseGPL v2 or later
- RequiresWordPress 6.0+
- PHP8.1 or higher
- Stable tag2.3.0
One canvas, the whole flow in sight.
Drag triggers, actions, conditions, delays and loops. The logic branches into true and false paths, and every message can be personalised with placeholders and variables of your own.
This action fires when an order status changes.
Delay · 10 minutes
Order paid: Is equal to Yes
TrueFalseHi, {{ wc_billing_first_name }}! We got your order #{{ wc_order_number }}. 😊 Items: {{ wc_purchased_items }} Total: {{ wc_currency_symbol }} {{ wc_order_total }} We are already packing it.
Hi, {{ wc_billing_first_name }}, we got your order #{{ wc_order_number }} but it is still awaiting payment. To finish it, go to: {{ wc_payment_url }}
Drag-and-drop canvas
Branching with true/false paths
Placeholders and custom variables
Import and export workflows as JSON
Ready-made workflow templates
Test the flow before publishing
Where the events come from.
Each integration registers its own triggers in the builder. Nothing has to be installed beyond what you already use : WooCommerce is one integration among several, and WordPress user events work on their own.
28 triggers- WooCommerce
WooCommerce8 triggers
- New order received
- Order status changed
- Order refunded (fully or partially)
- Download permission granted
- WordPress
WordPress5 triggers
- New user registered
- Password changed
- Password reset requested
- Flexify Checkout
Flexify Checkout6 triggers
- Abandoned cart
- Checkout started
- Purchase funnel stages
- WooCommerce
WooCommerce Subscriptions6 triggers
- Subscription created
- Renewal processed
- Subscription cancelled
- WPForms
WPForms2 triggers- Form submitted
- Entry processed
- Elementor
Elementor Forms1 trigger
- Elementor form submitted
What the flow can do.
Thirteen kinds of block: nine of them send something, four decide the path. They all live on the same canvas and can be chained in any order.
WhatsApp messages
Everything the Cloud API delivers, available as a block.
- Text message
- Media message (image, video, audio, document)
- Meta-approved template
- AI-generated message
- Stickers and reactions
- Location and contact cards
Interactive messages
Buttons and lists the customer taps without leaving the chat.
- Quick reply buttons
- Option lists
- Link buttons
- Call-to-action button
Logic and control
What decides whether, when and how many times the message goes out.
- Condition with true/false paths
- Delay by period or date
- Loop
- Stop funnel
Other channels and actions
The flow does not end at WhatsApp.
- Telegram message
- E-mail through Resend
- Create a discount coupon
- AI smart variable
Messages written on the spot, with your own key.
The AI integrations are optional and use your own key: nothing is sent to a provider before you enable the integration and supply the credential.
Optional, off by default and billed directly by the provider.
- OpenAI and Anthropic as providers
- A “WhatsApp: AI message” action that writes the text being sent
- Smart variable: a placeholder whose value the AI resolves at run time
- The provider receives only the prompt text you wrote
Ready-made flows, published by us.
Inside the builder, the template picker reads this very catalog. You import it, adjust the message and publish.
WooCommerce
4Confirmação de pedido recebido
Esta ação é acionada quando o status de um pedido muda.
woocommerce_order_status_changed2 downloadsRequires plugin 2.0.0+
Confirmação de reembolso total do pedido
Esta ação é acionada quando um pedido é totalmente reembolsado.
woocommerce_order_fully_refunded0 downloadsRequires plugin 2.0.0+
Solicitar avaliação após 2 dias de pedido concluído
Esta ação é acionada quando o status de um pedido muda.
woocommerce_order_status_changed0 downloadsRequires plugin 2.0.0+
Entrega de arquivos digitais
Esta ação é acionada quando o WooCommerce concede o acesso para download de um produto digital ao cliente. Este é o gatilho recomendado para entregar produtos digitais, pois os links de download só existem a partir deste momento.
woocommerce_grant_product_download_permissions0 downloadsRequires plugin 2.2.0+
WordPress
3Boas-vindas ao cadastro
Esse gatilho é acionado quando um novo registro de usuário é recebido.
user_register3 downloadsRequires plugin 2.0.0+
Confirmação de senha alterada
Este gatilho é acionado após um usuário redefinir sua senha no site.
password_reset0 downloadsRequires plugin 2.0.0+
Link de redefinição de senha
Esse gatilho é acionado quando um usuário solicita um link para redefinir a senha, permitindo que você envie o link de redefinição.
retrieve_password0 downloadsRequires plugin 2.0.0+
After the message goes out.
The part that rarely shows up in a demo, and the one that decides whether you trust the system.
History with real status
Sent, delivered, read or failed — with the reason Meta returned, not a generic error. Filters by number, workflow and period.
Processing queue
Scheduled and retried messages go through a queue of their own, with controlled re-sending.
Debug log
A log with configurable retention, for when the behaviour does not match what you expected.
WhatsApp OTP login
Passwordless sign-in to WordPress: the code arrives on the user’s own WhatsApp.
Multiple numbers and accounts
More than one number and more than one WhatsApp Business Account on the same install.
Setup wizard
Six steps after activation: default country, API key, optional AI provider, docs and the first flow.
A PHP extension API, filters only.
Register your own actions, triggers, integrations, conditions, placeholders, REST routes and delivery channels without touching the plugin core. The admin screens are Vue 3 applications and the complete, unminified source ships inside the plugin under `app/src`.
- Joinotify/Builder/Get_All_Triggers
- Joinotify/Builder/Get_All_Actions
- Joinotify/Settings/Tabs/Integrations
- Joinotify/Admin/Set_Default_Options
- Joinotify/Settings/Saved
- Joinotify/Debug_Log/Recorded
<?php
// Register your own trigger, with no plugin fork and no core patch.
add_filter( 'Joinotify/Builder/Get_All_Triggers', function( $triggers ) {
$triggers['my_plugin'][] = array(
'data_trigger' => 'my_plugin_subscription_renewed',
'title' => __( 'Subscription renewed', 'my-plugin' ),
'description' => __( 'Fires when a subscription renews.', 'my-plugin' ),
);
return $triggers;
} );What leaves your site, and when.
No external service is contacted before you supply the matching credential. Usage reporting is optional and ships switched off.
- The Joinotify API receives your key, the recipient number and the content you configured
- Telemetry is optional, off by default, and the payload is shown before you agree
- Your site address, admin e-mail, contacts and message content are never sent
- OpenAI, Anthropic, Telegram and Resend are contacted only if you enable them and supply a key
- Joinotify is not affiliated with, endorsed by or sponsored by WhatsApp LLC or Meta Platforms
Questions about the plugin.
Install it, connect it and automate today.
The plugin is free. What you subscribe to is the plan that delivers the messages, with a 7-day trial.
- No credit card
- Meta’s official Cloud API
- Support over WhatsApp