Finding your next read
Practical craft for people building for the web.
Explore DevelopmentFinding your next read
THE FINDERPRESS TOOL DIRECTORY
Explore this tool and check the official listing for its latest features and requirements.
01 / SOURCE DETAILS
Joinotify — from join and notify — turns things that happen on your site into WhatsApp messages, without writing code. You draw the automation on a canvas: pick a trigger (an order is paid, a form is submitted, a user registers), add conditions, delays and loops, and attach the messages you want sent. The plugin is free and has no locked features. Building, saving, testing and exporting workflows all work out of the box. Sending messages requires a Joinotify account, because messages are delivered through the official WhatsApp Cloud API — see External services below. Visual workflow builder Drag-and-drop canvas with triggers, actions, conditions, delays and loops Branching logic with true/false paths Placeholders and custom variables to personalise every message Import and export workflows as JSON Ready-made workflow templates WhatsApp messaging Text, media, audio, documents and stickers Interactive messages: reply buttons, option lists and link buttons Location messages, contact cards and reactions Meta-approved message templates, listed inside the builder with preview, language and approval status Real delivery confirmation: sent, delivered, read and failed, with the reason reported by Meta Multiple numbers and multiple WhatsApp Business Accounts on the same account Integrations WooCommerce — order status, refunds, subscriptions, digital product delivery, abandoned carts WPForms, Elementor Forms and Flexify Checkout WordPress user events Telegram and Resend (e-mail) as additional delivery channels AI-generated message content through the WordPress AI Client, using the provider set up in Settings → Connectors (optional) Operations Message history with per-message status Processing queue for scheduled and retried messages Debug log with configurable retention Passwordless login (OTP) over WhatsApp A PHP extension API: register your own actions, triggers, integrations, conditions, placeholders, REST routes and channels with filters only External services This plugin connects to external services. Nothing is contacted until you supply the corresponding credential in the setup wizard or in the settings screen. The AI actions are the exception: they do not call any provider directly. They go through the WordPress AI Client, so the request is made by WordPress to whichever provider you configured in Settings → Connectors, under that provider’s own terms. Joinotify API — https://api.joinotify.com Delivers your WhatsApp messages through the official WhatsApp Cloud API, lists the numbers on your account, syncs Meta-approved message templates, serves the catalogue of ready-made workflow templates shown in the template picker, and receives delivery events. Used only once you paste the API key issued for your site. Each request sends your API key, the recipient phone number and the message content you configured. When you connect the site from the Joinotify panel, that one request also sends your site address, so the key can be named and revoked from there. Terms: https://joinotify.com/terms-and-conditions — Privacy: https://joinotify.com/policy-privacy Joinotify telemetry — https://api.joinotify.com/telemetry Optional and off by default . Contacted only after you switch on “Share anonymous usage data”, either in the setup wizard or in Settings → About. It receives a random identifier generated on your site, your Joinotify API key (the same one used to send messages), the plugin, WordPress and PHP versions, your locale and time zone, whether the site is multisite and whether WooCommerce, Elementor and HTTPS are in play, how many workflows exist, which integrations are switched on, and a list of named events: which feature ran, whether a message succeeded or failed, and normalized error codes. It never receives your site address, admin e-mail, phone numbers, contacts, message content or workflow content. Sent at most once every few hours, and once more when you switch the option off — that last request is what tells the service to stop counting this installation. To have the data already collected for your installation erased, use the removal request page below. Terms: https://joinotify.com/terms-and-conditions — Privacy: https://joinotify.com/policy-privacy — Data removal: https://joinotify.com/remove-data Joinotify Cloud sync — https://api.joinotify.com/site-events, /contacts/sync, /sites/me and /sites/me/erasures Optional and off by default . Contacted only after you switch on “Joinotify Cloud sync” in Settings → General or on the Sources tab of Joinotify → Audiences & Contacts; the sync’s settings window lists what is sent before you turn it on. It receives the name, e-mail and phone number of your customers and of users who register; for each order, its number, status, totals, payment and shipping method and the customer’s order count, total spent and first and last purchase dates; the order’s items and full addresses only if you allow them in the same window (city and state are always sent); the form submissions and abandoned carts you choose to sync; the user or order meta you map to custom fields on the Sources tab of Audiences & Contacts, the tags you set there, and, for a form whose rule names a consent field, that the person ticked it, with the text you set, the form and when; the phone, e-mail, name, tags, custom field values and consent that the “Save contact” and “Tag contact” actions of your workflows send; and, for the site itself, its address, name, the Joinotify version and which WooCommerce, form and checkout plugins are active, with a made-up sample of each event it sends. If you also ask customers for marketing consent, it receives whether they agreed, the checkbox text and when, and an opt-out made in My account; the site’s webhook endpoint is then also told when a customer opts in or out on Joinotify. When you run WordPress’s “Erase Personal Data” tool for a customer, the site asks Joinotify to erase the contacts it sent for that person, identified by their user id or a hash of their e-mail. Events are queued on your site and sent in batches from a scheduled task, never during a page load. Switching it off stops it at once; data already received is kept in your Joinotify account, where you can erase contacts. Terms: https://joinotify.com/terms-and-conditions — Privacy: https://joinotify.com/policy-privacy Joinotify contact base — https://api.joinotify.com/contacts, /audiences and /suppressions Contacted only when an administrator opens Joinotify → Audiences & Contacts on a site already connected to Joinotify. That screen lists and edits the contacts, custom fields, tags, audiences and suppression list of your Joinotify account, so each request sends your API key and what the administrator types or picks there: a search term or filter, the name, phone number, e-mail, custom field values, tags and consent evidence of a contact they add or edit, a phone number they add to the suppression list, and, when they import a CSV file, the columns they mapped of each row (the file is read in the browser and never stored on the site). Nothing is sent from the front end of the site. Opening the screen also asks Joinotify what the site’s key may do, which sends only the key. Terms: https://joinotify.com/terms-and-conditions — Privacy: https://joinotify.com/policy-privacy Webhook URLs you set in a workflow Optional. Contacted only when a workflow you built has a “Send webhook” action and reaches it, at the URL you typed in that action. It receives either the data of the trigger (the order with its customer history and links, the user, the cart or the form entry) or the JSON you wrote in the action, with any headers you added. Local and private network addresses are refused. The terms and privacy policy are those of the service you point it to. Joinotify panel — https://app.joinotify.com Opened in your browser when you click to create or manage an API key. No data is sent from your site by the plugin itself. Terms: https://joinotify.com/terms-and-conditions — Privacy: https://joinotify.com/policy-privacy Telegram Bot API — https://api.telegram.org Optional. Contacted only if you enable the Telegram integration and supply a bot token. It receives the chat id and message content of Telegram actions. Terms: https://telegram.org/tos — Privacy: https://telegram.org/privacy Resend — https://api.resend.com Optional. Contacted only if you enable the Resend integration and supply an API key. It receives the recipient address, subject, body and attachments of e-mail actions. Terms: https://resend.com/legal/terms-of-service — Privacy: https://resend.com/legal/privacy-policy Usage data Sharing anonymous usage data is off by default and entirely optional. If you turn it on, the setup wizard shows you the exact payload and sample events beforehand. It never includes your site address, admin e-mail, phone numbers, contacts, message content, workflow content or any credential. Your site is identified by a random value generated on the site itself — never derived from your address — together with the API key you already use to send messages. Reports are batched and sent at most once every few hours, from a scheduled task, never during a page load. The identifier is shown in Settings → About so you can quote it in a support ticket, since the service has no way to look your site up by domain. Switching the option off stops collection, deletes anything still waiting to be sent, and sends one last request asking the service to stop counting this installation. If you would rather it stayed completely silent, the Joinotify/Telemetry/Send_Opt_Out filter suppresses that final request. Switching it off stops future reports but does not erase what was already received. To request the erasure of the data tied to your installation, use https://joinotify.com/remove-data and quote the identifier shown in Settings → About. Source code and build Nothing here is obfuscated, and no compiled file ships without the source that produced it. The plugin’
02 / SOURCE DETAILS
Upload the plugin to /wp-content/plugins/joinotify , or install it from the Plugins screen. Activate it. The setup wizard opens automatically. Work through the wizard: default country, Joinotify API key, optional AI provider, documentation, usage-data choice. Build your first automation from Joinotify → Add new workflow. You can reopen the wizard at any time from wp-admin/admin.php?page=joinotify-onboarding .
03 / SOURCE DETAILS
Do I need a paid account to use the plugin? The plugin itself 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 WhatsApp messages go through Meta’s official Cloud API and that access is provisioned per account. Where do I get the API key? Create it for your site on the Joinotify panel at https://app.joinotify.com, then paste it in the setup wizard (step 2) or in Settings → General → WhatsApp Cloud API. Can I send a message to anyone at any time? No — that is a WhatsApp rule, not a plugin limitation. Outside a 24-hour window opened by the contact writing to you first, only Meta-approved message templates can be delivered. The builder lists your approved templates so you can pick one. Does it work without WooCommerce? Yes. WooCommerce is one integration among several; WPForms, Elementor, Flexify Checkout and core WordPress user events all work on their own. Where is the uncompiled JavaScript? It ships with the plugin, under app/src , together with the build configuration needed to reproduce app/dist . See Source code and build above, which also lists the source of every third-party library bundled into it. Is this plugin affiliated with WhatsApp or Meta? No. Joinotify is not affiliated with, endorsed by or sponsored by WhatsApp LLC or Meta Platforms, Inc. WhatsApp is a trademark of WhatsApp LLC.
KEEP EXPLORING