Free and open source · GPL v2+

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
Visual builder

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.

Order received confirmation
WooCommerceWooCommerceOrder received confirmation

This action fires when an order status changes.

Delay

Delay · 10 minutes

Condition

Order paid: Is equal to Yes

TrueFalse
WhatsApp: Text messageWhatsApp

Hi, {{ 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.

WhatsApp: Text messageWhatsApp

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

Triggers

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
  • WooCommerceWooCommerce8 triggers
    • New order received
    • Order status changed
    • Order refunded (fully or partially)
    • Download permission granted
  • WordPressWordPress5 triggers
    • New user registered
    • Password changed
    • Password reset requested
  • Flexify CheckoutFlexify Checkout6 triggers
    • Abandoned cart
    • Checkout started
    • Purchase funnel stages
  • WooCommerceWooCommerce Subscriptions6 triggers
    • Subscription created
    • Renewal processed
    • Subscription cancelled
  • WPFormsWPForms2 triggers
    • Form submitted
    • Entry processed
  • ElementorElementor Forms1 trigger
    • Elementor form submitted
Actions

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
Artificial intelligence

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
Template library

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

4
  • Confirmação de pedido recebido

    Esta ação é acionada quando o status de um pedido muda.

    woocommerce_order_status_changed

    2 downloadsRequires plugin 2.0.0+

  • Confirmação de reembolso total do pedido

    Esta ação é acionada quando um pedido é totalmente reembolsado.

    woocommerce_order_fully_refunded

    0 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_changed

    0 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_permissions

    0 downloadsRequires plugin 2.2.0+

WordPress

3
  • Boas-vindas ao cadastro

    Esse gatilho é acionado quando um novo registro de usuário é recebido.

    user_register

    3 downloadsRequires plugin 2.0.0+

  • Confirmação de senha alterada

    Este gatilho é acionado após um usuário redefinir sua senha no site.

    password_reset

    0 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_password

    0 downloadsRequires plugin 2.0.0+

Operations

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.

For developers

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
functions.php
<?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;
} );
Transparency

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
FAQ

Questions about the plugin.

The plugin is free and every feature is unlocked. Building, testing and exporting workflows works with no account at all. Delivering messages requires a Joinotify account, because messages go through Meta’s official Cloud API and that access is provisioned per account.
Create it for your site on the Joinotify panel and paste it in the setup wizard or in Settings → General → WhatsApp Cloud API. Connecting from the panel brings your numbers back imported, with nothing to copy and paste.
No — that is a WhatsApp rule, not a plugin limitation. Outside the 24-hour window opened by the contact writing to you, only Meta-approved templates are delivered. The builder lists your approved templates so you can pick one.
Yes. WooCommerce is one integration among several: WPForms, Elementor, Flexify Checkout and core WordPress user events all work on their own.
The admin screens are Vue 3 applications built with Vite. The complete, unminified source ships inside the plugin under `app/src`, together with `app/package.json` and `app/vite.config.js`.
It was. From version 2.3.0 it is free software under the GPL v2+, with every feature unlocked — the licensing system and its activation screen were removed, and updates are now delivered by WordPress.org.
Start now

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