{"id":320157,"date":"2026-06-16T19:36:50","date_gmt":"2026-06-16T19:36:50","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/notify-crm\/"},"modified":"2026-09-24T11:32:52","modified_gmt":"2026-09-24T11:32:52","slug":"notify-crm","status":"publish","type":"plugin","link":"https:\/\/pap-aw.wordpress.org\/plugins\/notify-crm\/","author":23505899,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"trunk","tested":"7.1.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Notify CRM","header_author":"Notify CRM","header_description":"WooCommerce order management with WhatsApp notifications \u2014 custom statuses, branded emails, courier tracking, floating button, bulk actions, and message queue.","assets_banners_color":"7ca8b7","last_updated":"2026-09-24 11:32:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.hustletoevolve.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":267,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"vestes","date":"2026-07-07 22:40:55","revision":3599640}},"upgrade_notice":{"1.1.0":"<p>Adds an optional paid tier (WhatsApp Cloud API automation, CRM dashboard, courier booking, COD confirmation) on top of the free core, plus many fixes. The free wa.me-based features you already use keep working exactly as before \u2014 nothing is removed or paywalled.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3574968,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3574968,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"Screenshot-1.png":{"filename":"Screenshot-1.png","revision":3575045,"resolution":"1","location":"assets","locale":"","width":1281,"height":583},"Screenshot-2.png":{"filename":"Screenshot-2.png","revision":3575045,"resolution":"2","location":"assets","locale":"","width":1289,"height":584},"Screenshot-3.png":{"filename":"Screenshot-3.png","revision":3575045,"resolution":"3","location":"assets","locale":"","width":1280,"height":577},"Screenshot-4.png":{"filename":"Screenshot-4.png","revision":3575045,"resolution":"4","location":"assets","locale":"","width":530,"height":241}},"screenshots":{"1":"Dashboard \u2014 Store settings and registration status.","2":"Message templates and notification settings.","3":"Courier management with tracking URL templates.","4":"Customer-facing WhatsApp message example."}},"plugin_section":[],"plugin_tags":[253511,127128,45369,141215,152211],"plugin_category":[45],"plugin_contributors":[267394],"plugin_business_model":[],"class_list":["post-320157","plugin","type-plugin","status-publish","hentry","plugin_tags-courier-tracking","plugin_tags-custom-order-status","plugin_tags-order-tracking","plugin_tags-whatsapp-button","plugin_tags-woocommerce-whatsapp","plugin_category-ecommerce","plugin_contributors-vestes","plugin_committers-vestes"],"banners":{"banner":"https:\/\/ps.w.org\/notify-crm\/assets\/banner-772x250.png?rev=3574968","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/notify-crm\/assets\/icon-256x256.png?rev=3574968","icon_2x":"https:\/\/ps.w.org\/notify-crm\/assets\/icon-256x256.png?rev=3574968","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/notify-crm\/assets\/Screenshot-1.png?rev=3575045","caption":"Dashboard \u2014 Store settings and registration status."},{"src":"https:\/\/ps.w.org\/notify-crm\/assets\/Screenshot-2.png?rev=3575045","caption":"Message templates and notification settings."},{"src":"https:\/\/ps.w.org\/notify-crm\/assets\/Screenshot-3.png?rev=3575045","caption":"Courier management with tracking URL templates."},{"src":"https:\/\/ps.w.org\/notify-crm\/assets\/Screenshot-4.png?rev=3575045","caption":"Customer-facing WhatsApp message example."}],"raw_content":"<!--section=description-->\n<p><strong>Notify CRM<\/strong> adds powerful order management features to WooCommerce with WhatsApp integration, custom order statuses, branded transactional emails, courier tracking, and a floating WhatsApp button for your storefront.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Custom Order Statuses<\/strong> \u2014 Add statuses like \"New Order\", \"Shipped\", \"Returned \/ RTO\" with custom colors and workflow.<\/li>\n<li><strong>WhatsApp Message Queue<\/strong> \u2014 Messages are queued when order status changes. Send them manually via wa.me with one click.<\/li>\n<li><strong>Bulk WhatsApp Actions<\/strong> \u2014 Select multiple orders and send WhatsApp updates in bulk from the orders list.<\/li>\n<li><strong>Branded Emails<\/strong> \u2014 Override WooCommerce transactional emails with custom subjects, headings, and branded HTML templates.<\/li>\n<li><strong>Courier Management<\/strong> \u2014 Add your own courier services with tracking URL templates. Auto-detect tracking numbers from order notes.<\/li>\n<li><strong>Floating WhatsApp Button<\/strong> \u2014 Add a WhatsApp contact button to your storefront with customizable position, color, and greeting message.<\/li>\n<li><strong>Phone Number Normalization<\/strong> \u2014 Automatically formats phone numbers to international format for reliable WhatsApp delivery.<\/li>\n<li><strong>Admin Bar Notifications<\/strong> \u2014 See pending message count in the WordPress admin bar at a glance.<\/li>\n<li><strong>Order Actions<\/strong> \u2014 Send WhatsApp messages directly from the order edit screen with pre-filled templates.<\/li>\n<li><strong>Message Log<\/strong> \u2014 Track all sent messages with status, date, and delivery method.<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>When an order status changes (e.g., Processing \u2192 Shipped), Notify CRM queues a WhatsApp message.<\/li>\n<li>You see pending messages in the admin bar and the Notify CRM dashboard.<\/li>\n<li>Click to send \u2014 Notify CRM opens wa.me with the pre-filled message. Just hit send.<\/li>\n<li>Branded emails are sent automatically for each status change.<\/li>\n<\/ol>\n\n<h4>Who Is This For?<\/h4>\n\n<p>WooCommerce store owners who want to:\n- Keep customers informed via WhatsApp\n- Use custom order statuses beyond WooCommerce defaults\n- Send branded, professional order emails\n- Track shipments with local courier services\n- Add a WhatsApp contact button to their store<\/p>\n\n<h4>Compatibility<\/h4>\n\n<ul>\n<li>WooCommerce 5.0+ (HPOS \/ High-Performance Order Storage and cart &amp; checkout blocks supported)<\/li>\n<li>WordPress 6.2+<\/li>\n<li>PHP 7.4+<\/li>\n<li>Works with all themes that follow WooCommerce template standards<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the Notify CRM server to provide store registration, plan verification, and account management functionality.<\/p>\n\n<p><strong>Service:<\/strong> Notify CRM\n<strong>URL:<\/strong> https:\/\/api.hustletoevolve.com\n<strong>Terms of Service:<\/strong> https:\/\/api.hustletoevolve.com\/terms\n<strong>Privacy Policy:<\/strong> https:\/\/api.hustletoevolve.com\/privacy<\/p>\n\n<p><strong>Endpoints used and when data is sent:<\/strong><\/p>\n\n<p><em>Account &amp; registration<\/em>\n1. <code>\/api\/plugin\/status<\/code>, <code>\/api\/plugin\/register<\/code> \u2014 Checks or creates your registration when you save the Store tab. Sends: store key, store URL, owner details, environment versions.\n2. <code>\/api\/customer\/register<\/code>, <code>\/api\/customer\/login<\/code>, <code>\/api\/customer\/find-store<\/code>, <code>\/api\/customer\/verify<\/code> \u2014 Account sign-up\/sign-in and periodic registration checks. Sends: store key\/URL, owner email.\n3. <code>\/api\/customer\/disconnect<\/code>, <code>\/api\/plugin\/delete<\/code>, <code>\/api\/customer\/delete-account<\/code> \u2014 When you disconnect or delete your account. Sends: store key, store URL.\n4. <code>\/api\/customer\/store-data<\/code>, <code>\/api\/customer\/log-manual<\/code> \u2014 Syncs store settings and logs manually-sent messages for your dashboard.<\/p>\n\n<p><em>Plan &amp; billing<\/em>\n5. <code>\/api\/plugin\/plan\/status<\/code>, <code>\/api\/store\/plan<\/code> \u2014 Verifies your current subscription plan. Sends: store key.\n6. <code>\/api\/store\/invoices<\/code> \u2014 Retrieves billing invoices for the Account tab. Sends: store key.<\/p>\n\n<p><em>WhatsApp connection (Meta Cloud API \/ Embedded Signup)<\/em>\n7. <code>\/api\/plugin\/connect-whatsapp<\/code>, <code>\/api\/plugin\/whatsapp\/connect<\/code>, <code>\/api\/plugin\/whatsapp\/disconnect<\/code>, <code>\/api\/plugin\/disconnect-whatsapp<\/code> \u2014 Connects or disconnects your WhatsApp Business Account. Sends: store key, Meta auth code \/ phone number ID.\n8. <code>\/api\/plugin\/whatsapp\/status<\/code>, <code>\/api\/plugin\/whatsapp-status<\/code> \u2014 Checks your WhatsApp connection status.\n9. <code>\/api\/plugin\/whatsapp\/templates\/submit<\/code>, <code>\/api\/plugin\/whatsapp\/templates\/status<\/code>, <code>\/api\/plugin\/whatsapp\/templates\/delete<\/code> \u2014 Manages Meta message templates. Sends: store key, template content.<\/p>\n\n<p><em>Sending messages<\/em>\n10. <code>\/api\/plugin\/whatsapp\/send-message<\/code>, <code>\/api\/send-message<\/code>, <code>\/api\/plugin\/whatsapp\/send-test<\/code>, <code>\/api\/plugin\/whatsapp\/broadcast<\/code> \u2014 Sends order-notification, review-request, abandoned-cart, and broadcast WhatsApp messages on your behalf. Sends: store key, recipient phone, message content.\n11. <code>\/api\/plugin\/chatbot\/rules<\/code> \u2014 Syncs keyword auto-reply rules (Business plan).<\/p>\n\n<p><em>Analytics<\/em>\n12. <code>\/api\/plugin\/analytics<\/code> \u2014 Retrieves delivery\/read\/conversion stats for the Analytics page. Sends: store key, date range.<\/p>\n\n<p><strong>Data sent on initial registration:<\/strong>\n- Store URL (your WordPress site URL)\n- Store name, owner name, owner email address, owner WhatsApp number\n- Plugin version, WordPress version, WooCommerce version, PHP version<\/p>\n\n<p><strong>Purpose:<\/strong> Store registration, plan verification, and WhatsApp\/email message delivery for plugin functionality. The data collected is used solely for plugin operation and to notify you about updates or new features.<\/p>\n\n<p>No payment data, order data, customer data, or any other WooCommerce information is ever transmitted to the Notify CRM server.<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>Notify CRM collects store registration data (store name, URL, owner name, email, WhatsApp number, and software version information) and sends it to the Notify CRM server (api.hustletoevolve.com) when you complete registration in the Store tab. This data is used for plugin functionality and to inform you about plugin updates and new features.<\/p>\n\n<p>No WooCommerce order data, customer data, or payment information is ever sent to any external server.<\/p>\n\n<p>To delete your data from the server, go to Notify CRM &gt; Account tab and click \"Delete Account\" in the Danger Zone.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>notify-crm<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to <strong>Notify CRM<\/strong> in the admin menu to configure your settings<\/li>\n<li>Go to the <strong>Store<\/strong> tab and complete your registration (store name, email, WhatsApp number)<\/li>\n<li>Customize order statuses in the Statuses tab<\/li>\n<li>Configure WhatsApp message templates in the Notifications tab<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20send%20whatsapp%20messages%20automatically%3F\"><h3>Does this plugin send WhatsApp messages automatically?<\/h3><\/dt>\n<dd><p>No. The plugin queues messages when order status changes. You send them manually by clicking the \"Send WhatsApp\" button, which opens wa.me with the pre-filled message. You just press send.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20whatsapp%20business%20api%20account%3F\"><h3>Do I need a WhatsApp Business API account?<\/h3><\/dt>\n<dd><p>No. This plugin uses wa.me links to open WhatsApp Web or the WhatsApp app. No API account or third-party service needed.<\/p><\/dd>\n<dt id=\"is%20notify%20crm%20free%3F\"><h3>Is Notify CRM free?<\/h3><\/dt>\n<dd><p>Yes \u2014 the core plugin is free forever: custom order statuses, branded emails, courier tracking, manual WhatsApp sending via wa.me, and the floating chat button all work with no account, no subscription, and no per-message fee. Optional paid plans add the Meta WhatsApp Cloud API (fully automated sending instead of manual wa.me clicks), a shared CRM-style order dashboard, and COD confirmation automation \u2014 everything else stays free.<\/p><\/dd>\n<dt id=\"does%20notify%20crm%20work%20with%20woocommerce%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Does Notify CRM work with WooCommerce HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. Notify CRM fully supports WooCommerce High-Performance Order Storage (HPOS) and cart\/checkout blocks. It declares compatibility with both <code>custom_order_tables<\/code> and <code>cart_checkout_blocks<\/code>.<\/p><\/dd>\n<dt id=\"will%20this%20work%20with%20my%20theme%3F\"><h3>Will this work with my theme?<\/h3><\/dt>\n<dd><p>Yes. Notify CRM works with any WooCommerce-compatible theme. It hooks into WooCommerce's order system and doesn't modify theme templates.<\/p><\/dd>\n<dt id=\"does%20it%20support%20rtl%20languages%3F\"><h3>Does it support RTL languages?<\/h3><\/dt>\n<dd><p>The admin interface is LTR. WhatsApp messages work in any language including RTL since they are rendered by WhatsApp itself.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20whatsapp%20message%20templates%3F\"><h3>Can I customize the WhatsApp message templates?<\/h3><\/dt>\n<dd><p>Yes. Go to Notify CRM &gt; Notifications tab to customize messages for each order status. You can use variables like {name}, {order_id}, {order_date}, {items}, {total}, {payment_method}, {address}, {courier}, and {tracking_number}.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20contact%20any%20external%20server%3F\"><h3>Does this plugin contact any external server?<\/h3><\/dt>\n<dd><p>Yes. When you complete your registration in the Store tab, Notify CRM sends your store details (store name, store URL, owner name, email address, and WhatsApp number) to the Notify CRM server (api.hustletoevolve.com) to register your store. The server is also contacted when you verify your plan status or delete your account. See the External Services section below for full details.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>No. Notify CRM only loads its admin scripts on its own settings pages and the WooCommerce order screens. Nothing loads on the storefront except the optional floating WhatsApp button.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New: Outbox \u2014 courier order registration (the call that tells the server which order\/tracking number to watch) is now queued locally and retried with backoff if the server is briefly unreachable, instead of being silently lost. See core\/outbox\/.<\/li>\n<li>Fix: this replaces an unreleased in-progress \"Outbox Queue\" build that shipped intercepting all server traffic and faking success responses for it \u2014 including calls like duplicate-order checks and license\/registration that need a real live response. That approach is removed; only the two calls that were already fire-and-forget are now queued.<\/li>\n<li>Fix: resolved all WordPress.org Plugin Check errors and warnings found in the latest scan \u2014 SQL queries now use %i-prepared table identifiers instead of string interpolation, <code>mt_rand()<\/code> replaced with <code>wp_rand()<\/code>, <code>date()<\/code> replaced with <code>gmdate()<\/code> for a UTC timestamp, debug <code>error_log()<\/code> calls now gated behind <code>WP_DEBUG<\/code>, file-upload input properly unslashed and validated, and non-prefixed variable\/hook names corrected.<\/li>\n<li>Fix: the WhatsApp Message Queue and Message Log (both free-plan features) had become unreachable in the admin \u2014 they were folded into the CRM Dashboard's \"Messages\" tab without carrying their free-tier access forward, so only Business-plan stores could actually open the page. Free, Starter, and Growth stores can now open it again like before.<\/li>\n<li>Fix: the store-registration consent notice (Settings \u2192 Store) has been rewritten to clearly disclose exactly what account data is sent, confirm that customer\/order data is never included, and explain what the registration enables \u2014 the previous wording was easy to misread as \"your store's data\" going to a third party.<\/li>\n<li>Fix: timing-safe <code>hash_equals()<\/code> now used consistently for the duplicate-order-guard server callback's shared-secret check.<\/li>\n<li>Fix: corrected a plan-badge label on the Duplicate Order Guard settings panel that displayed the wrong plan tier.<\/li>\n<li>Fix: the duplicate-order WhatsApp message now lists every matched existing order instead of referencing only the first when a customer has 2+ open orders.<\/li>\n<li>Housekeeping: plan-tier checks (which features unlock at which plan) were duplicated across ~18 files; consolidated into one shared function so there's a single source of truth going forward. No change in behavior.<\/li>\n<li><code>Tested up to<\/code> updated to the currently released WordPress version.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<p>First update since the initial 1.0.0 release. Adds an optional paid tier (Meta WhatsApp Cloud API automation, CRM-style order dashboard, courier booking, COD confirmation) on top of the free wa.me-based core, plus a long list of fixes:\n* New: CRM Dashboard \u2014 Orders, Returns, Shipments &amp; Carts, Messages, and Analytics views with shipment status timeline, courier booking, and returns workflow.\n* New: Optional WhatsApp Cloud API connection (Meta Embedded Signup) for stores that want fully automated sending instead of manual wa.me clicks.\n* New: Courier booking (3-tier: direct API templates, WooCommerce-hook detection, adapter fallback) with tracking, cancel, and city matching.\n* New: Optional COD order confirmation via WhatsApp\/SMS\/voice cascade, with a companion Android app for stores that want SMS\/calls sent from their own number.\n* Fix: dozens of WordPress.org Plugin Check warnings resolved (SQL placeholder counts, nonce documentation, input sanitization, translator comments) \u2014 0 errors, 0 warnings.\n* Fix: several timezone bugs where status\/order timestamps used the server's or admin's browser clock instead of the store's configured WordPress timezone.\n* Fix: reshipped orders (returned, then re-booked under a new tracking number) could show conflicting status.\n* Fix: hardcoded Pakistan-specific defaults removed so the plugin behaves correctly for stores worldwide.\n* Raised minimum requirements to WordPress 6.2 and PHP 7.4 (needed for the <code>%i<\/code> identifier placeholder used in database queries).<\/p>\n\n<p>Full line-by-line history is kept in <code>CHANGELOG.md<\/code> inside the plugin folder.<\/p>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release \u2014 free WooCommerce WhatsApp order notifications<\/li>\n<li>WhatsApp message queue with one-click wa.me sending for WooCommerce orders<\/li>\n<li>Custom WooCommerce order statuses (New Order, Pending Confirmation, Shipped, Out for Delivery, Delivered, Returned \/ RTO, Cancelled)<\/li>\n<li>Bulk WhatsApp send from WooCommerce orders list<\/li>\n<li>Branded HTML email templates for WooCommerce transactional emails<\/li>\n<li>Courier management with tracking URL templates and auto-detection from order notes<\/li>\n<li>Floating WhatsApp chat button for WooCommerce storefront<\/li>\n<li>Phone number normalization with international country code support<\/li>\n<li>WordPress admin bar notification badge for pending WhatsApp messages<\/li>\n<li>WooCommerce order edit screen WhatsApp actions with pre-filled templates<\/li>\n<li>Full WhatsApp message log with search and delivery history<\/li>\n<\/ul>","raw_excerpt":"Send WooCommerce order updates via WhatsApp with no per-message API fees \u2014 custom statuses, branded emails, courier tracking &amp; more.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/320157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=320157"}],"author":[{"embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vestes"}],"wp:attachment":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=320157"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=320157"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=320157"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=320157"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=320157"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=320157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}