Skip to content
Whats91

Changelog

Latest updates and improvements to the Whats91 platform

Jun 11, 20261.2.0
Improvement

Changed: Dashboard, Flow Builder, campaigns, reports, and developer workflows

Improved dashboard return paths, Flow Builder automation, campaign reliability, report filtering, and developer-facing configuration workflows.

Fix

Fixed: Dashboard return path after login

Preserved the originally requested dashboard page during unauthenticated redirects so users return to pages like API Tokens after login instead of always landing on the dashboard.

Fix

Fixed: AI Brain fallback marker display

AI Brain playground fallback answers now show the fallback badge without repeating the raw `[FALLBACK]` marker in the chat bubble.

Fix

Fixed: Flow Usage session report loading

Flow Usage session reports no longer fail with incorrect MySQL prepared-statement arguments when loading journey sessions.

Fix

Fixed: Campaign opt-out keyword handling

Campaign opt-out keyword handling now records `UNSUBSCRIBE` reliably, avoids the webhook-side `userId is not defined` crash, adds standalone opt-outs to the sender-scoped blacklist, and keeps opt-out/resubscribe handling ahead of flows, chatbots, and AI bots.

Fix

Fixed: Campaign unsubscribe confirmations

Campaign unsubscribe confirmation messages now send consistently after `UNSUBSCRIBE` by allowing the opt-out system reply to bypass only the newly-created sender blacklist row.

Fix

Fixed: Customer sidebar upcoming tag alignment

Customer sidebar upcoming tags now sit at the row edge without changing the original icon-to-label alignment for main menus.

Fix

Fixed: Campaign throttle requeue behavior

Campaign throttle setting changes now requeue campaigns waiting on `CAMPAIGN_THROTTLE_WINDOW_CLOSED` so they are rechecked against the updated sending window immediately.

Fix

Fixed: Campaign worker skipped-state reporting

Campaign workers now record retry-expired, subscription-blocked, and billing-blocked jobs as internal not-sent/skipped states when Meta was never called, preventing false `message_failed` rows and false campaign failure rates.

Fix

Fixed: All Messages origin classification

All Messages now classifies message-event origin and hides uncorrelated coexisting/mobile-app webhook activity, while retaining report rows for Whats91-sent messages and matching Meta status/reply updates.

Fix

Fixed: All Messages outbound filtering

All Messages outbound filtering now keeps report-visible Meta status rows even when older/imported sends do not have a same-table outbound event, restoring valid API and campaign messages while still hiding coexisting/unmatched rows through `report_visible`.

Fix

Fixed: Partner customer management actions

Partner Customer management now gives normal partners the same assigned-customer actions as Tech Partners, including edit, cache clear, impersonation, and customer creation.

Fix

Fixed: Contact import phonebook return state

Contact import now preserves the selected phonebook when returning from regular or grid imports, adds a completed grid-import back button, and keeps the Contacts menu responsive by syncing phonebook selection with the `groupUid` URL.

Fix

Fixed: Campaign retry-expiry throttle deferrals

Campaign throttle deferrals are now capped at the job retry-expiry boundary and throttle-setting changes also requeue old zero-attempt `RETRY_EXPIRED` rows that were created before Meta dispatch.

Fix

Fixed: Campaign log cleanup scheduler

Campaign log cleanup now runs through the backend Node-cron scheduler after migrations, using `CAMPAIGN_LOG_CLEANUP_CRON` and `CAMPAIGN_LOG_CLEANUP_TIMEZONE` instead of requiring a separate system cron entry.

Fix

Fixed: Campaign Builder draft confirmation actions

Campaign Builder draft confirmation actions now stay aligned in one row, with the discard action styled as a destructive red button.

Fix

Fixed: Report summary metrics under stat filters

All Messages and Campaign Reports keep their summary metric counts intact when a status stat filter is applied, so filtered rows change without zeroing the overall stat cards.

Fix

Fixed: Stale report API responses

Report data loaders now guard against stale API responses overwriting newer filter results.

Fix

Fixed: Message Billing stale filter responses

Message Billing now uses the branded report loader and ignores stale billing responses when filters change.

Fix

Fixed: Template copy media preservation

Template copy now preserves existing JPG, PDF, video, and document header media by preselecting reusable source media in the new template form and resolving source-template media on submit when the upload cache has expired.

Fix

Fixed: WhatsApp Cloud API Fresh Register flow

WhatsApp Cloud API setup now offers Fresh Register instead of Replace, deleting and recreating the selected setup row from Meta while keeping the same setup reference for sender-scoped configuration.

Feature

Added: Customer AI Profiles

Customer AI Profiles under the AI menu for encrypted provider credentials, model defaults, full-page editing, and saved-profile testing.

Feature

Added: Customer AI Brains

Customer AI Brains under the AI menu with linked AI Profiles, text contracts, copied markdown instructions, playground testing, fallback detection, and basic analytics.

Feature

Added: Flow journey tracking

Flow journey tracking now records flow sessions, stages, transitions, messages, user inputs, timeouts, abandonment, and completion status in the flow database, with a new customer Flow Usage report under Automation.

Feature

Added: Flow Usage cleanup cron

Main backend Flow Usage cleanup cron now removes flow journey report data older than 15 days from the flow database.

Feature

Added: Internal template dispatch and Talk to Agent node

Reusable internal template dispatch API for Whats91 systems and a new Flow Builder Talk to Agent node can notify agents through approved WhatsApp templates.

Feature

Added: Branded GlobalLoader

Reusable branded `GlobalLoader` component using the Whats91 logo, first applied to All Messages and Campaign Reports while report data is loading.

Feature

Added: Campaign Builder template-aware opt-out defaults

Campaign Builder templates with `Unsubscribe`, `Opt-Out`, `Stop`, or `Not Interested` quick replies now auto-enable opt-out, select the initial message button, and fill the report label while still allowing edits.

Feature

Added: Campaign Builder save-draft support

Campaign Builder save-draft support adds a header Save Draft action and a leave prompt that can save, discard, or continue editing.

Feature

Added: Public API v1 sendtemplate PDF image conversion

Public API v1 `sendtemplate` now supports optional `sendAsImage` / `send_as_image` PDF invoice conversion for approved image-header templates.

Feature

Added: Administrator Customer report filters and export columns

Administrator Customer report now supports Billing managed by and Chat access filters, conditional Yes/No coloring, and Excel export with Meta registered phone, `phone_number_id`, and `waba_id`.

Feature

Added: Customer template footer field

Customer template creation now exposes Meta's optional footer text field for non-authentication templates and submits it through the existing footer component payload.

Feature

Added: Template category badges and campaign retry defaults

Campaign Builder now shows colored Marketing, Utility, and Authentication badges in template selection dropdowns, final review summaries, and directly above the launch button, and new campaigns default retry expiry to two days after creation.

Feature

Added: Meta template webhook status sync

Meta template approval, rejection, and category webhooks now sync local template status/category data and can notify customers through configured WhatsApp templates.

Feature

Added: Template webhook customer notifications

Template webhook customer notifications now use the generic company notification sender configured by `NOTIFICATION_SENDER_ID`, avoiding customer-specific sender fallbacks.

Feature

Added: Internal template notification context

Internal template dispatch now supports `notification_context` so template notifications use the company notification sender while Flow Builder notifications keep the customer sender.

Feature

Added: Template webhook lookup indexes

Template webhook lookup indexes now use MySQL-safe prefix lengths so startup migrations do not fail on long template name columns.

Feature

Added: Customer account profile updates

Customer dashboard headers now let signed-in customers open an account profile form from their name/email and update only their email ID, password, or WhatsApp mobile number; password changes require confirmation and mobile changes require country-code selection plus WhatsApp OTP verification.

Improvement

Changed: Flow Builder inbound trigger defaults

New Flow Builder inbound-message trigger nodes now default to Exact match instead of Any keyword.

Improvement

Changed: Flow Builder media previews

Flow Builder message nodes now show attached image media as inline thumbnails and PDF, Excel, Word, or fallback document media as clear file-type chips.

Improvement

Changed: Flow Builder node header spacing

Flow Builder node headers are now slimmer with balanced vertical padding and no default title/subtitle paragraph spacing.

Improvement

Changed: Flow Builder mixed-media message nodes

Flow Builder message nodes now support up to 10 mixed media attachments with per-item captions and media-first webhook delivery.

Improvement

Changed: Flow Builder timeout and action paths

Flow Builder timeout and action paths can now route to Talk to Agent, with mandatory template-based agent alerts and optional customer text notifications.

Improvement

Changed: AI Brain markdown instruction copy actions

AI Brain Markdown instructions now provide separate website and document copy buttons with source-specific Brain Contract extraction prompts and no embedded Brain-specific values.

Improvement

Changed: Campaign Builder throttle defaults

Campaign Builder throttle defaults now use a wider `05:00` to `23:00` sending window for new/default settings.

Improvement

Changed: Campaign opt-out defaults

Campaign opt-out defaults now include `NOT INTERESTED` for opt-out and `INTERESTED` for re-subscribe keyword handling.

Improvement

Changed: Developer REST API dashboard documentation

Developer REST API dashboard documentation now shows a moved-docs notice and opens the maintained external developer site in a new tab.

Improvement

Changed: Flow Usage, Chat Shortcuts, and Customer Add-ons page density

Flow Usage, Chat Shortcuts, and Customer Add-ons pages were tightened by removing redundant hero/header panels, moving key actions into the dashboard header, reducing excess padding, and making pagination/action visibility more contextual.

Improvement

Changed: All Messages stat card quick filters

All Messages report stat cards are now clickable quick filters for statuses such as total, read, pending, duplicate, and failed; the filter resets naturally on a page reload.

Improvement

Changed: Campaign Reports stat quick filters

Campaign Reports now match the All Messages quick-filter behavior on campaign list and campaign detail stats, with report-area loading overlays while filters refresh.

Improvement

Changed: Campaign Reports mobile filters

Campaign Reports now use the compact All Messages-style two-column mobile layout for list and detail filters while preserving desktop report layouts.

Improvement

Changed: Message Billing runtime indexes

Message Billing runtime indexes now cover common customer billing report filters on the separate billing database.

Improvement

Changed: Message Billing aggregate sender view

Message Billing now defaults to an explicit all-linked-numbers aggregate view, with a sender filter for viewing billing rows and summaries for one registered Meta number while shared wallet balances remain account-wide.

Improvement

Changed: Administrator Wallet Management customer search

Administrator Wallet Management now uses the same customer search styling and debounced customer lookup as the Subscription form when adding wallet transactions.

Improvement

Changed: Administrator Customer WABA search

Administrator Customer search now matches Cloud API WABA IDs through `cloud_api_setup.whatsapp_business_account_id`, backed by a new runtime index for faster WABA lookup.

Improvement

Changed: Customer sidebar upcoming section

Customer sidebar now moves AI, Orders, Catalog Management, and WA Group into the bottom upcoming section with visible `Upcoming` tags.

Improvement

Changed: Talk to Agent phone and parameter handling

Talk to Agent node setup now accepts country-code phone numbers without requiring a leading plus sign and uses clear parameter dropdown labels such as incoming phone number, last incoming message text, flow name, and session references.

Jun 6, 20261.0.2
Fix

Fixed: Webhook chat-access cache safety

Improved webhook chat-access cache safety so enabled chats do not miss inbound messages.

Fix

Fixed: Cloud API setup recheck for stale chat cache

Rechecked the Cloud API setup from the database when webhook cache reports `access_chats` disabled, preventing stale cache from skipping inbound conversation inserts.

Fix

Fixed: Chat-access cache invalidation on admin toggle

Invalidated WhatsApp-number setup cache immediately when administrators toggle chat access for a customer.

Feature

Added: Partner and Tech Partner account subtypes

Added Partner and Tech Partner subtypes for partner accounts while keeping the shared partner login flow.

Feature

Added: Partner role controls and pricing overrides

Added administrator controls to upgrade or downgrade partners, role badges in partner/admin UI, and role-specific subscription/add-on pricing overrides.

Feature

Added: Partner subscription plan visibility toggle

Added an administrator-controlled subscription plan visibility toggle so plans stay hidden from partner screens unless explicitly enabled.

Feature

Added: Whats91 Coins allocation ledger

Added phase-one Whats91 Coins allocation with administrator ledger entries, GST/tax audit values, and partner read-only balance/history views.

Feature

Added: Partner read-only Plans menu

Added a partner read-only Plans menu that lists subscription plans marked visible to partners with Partner/Tech Partner pricing applied.

Feature

Added: Partner subscription activation with Whats91 Coins

Added partner subscription activation using Whats91 Coins for assigned customers, including balance validation, idempotent activation requests, and negative spend ledger rows.

Feature

Added: Partner project registration links

Added unique partner project registration links so customers registering from a partner link are automatically assigned to that partner.

Feature

Added: Public API v2 webhook management endpoints

Added public API v2 webhook management endpoints for listing event keys, creating Webhooks v2 destinations, listing/retrieving webhooks, and updating existing webhook UIDs.

Feature

Added: Public API v2 message reporting endpoints

Added public API v2 message reporting endpoints for paginated message reports, message status lookup, mobile-number history, campaign reports, campaign responses, and delivery analytics.

Feature

Added: Public API v2 billing endpoints

Added public API v2 billing endpoints for user-wide and sender-scoped message billing history, template-category billing, delivered/payable/free records, billing summaries, and wallet history.

Feature

Added: Public API v2 chatbot creation endpoints

Added public API v2 chatbot creation endpoints for text, public media URL, button, CTA, and list-response chatbots, plus list/get APIs for existing chatbots.

Feature

Added: Public API v2 contact book endpoints

Added public API v2 contact book management endpoints for listing books, reading contacts, creating/updating books, and JSON bulk contact uploads.

Feature

Added: Public API v2 blacklist endpoints

Added public API v2 message blacklist management endpoints for listing, retrieving, adding, updating, and soft-removing sender-scoped blocked recipients.

Feature

Added: Public API v2 conversation report endpoints

Added public API v2 conversation report endpoints for listing conversations, summary counts, by-mobile threads, conversation detail, and paginated conversation messages.

Feature

Added: Dedicated message-sending documentation split

Added a dedicated public API v2 message-sending documentation file that separates Whats91-specific send/chat APIs from Meta-compatible message APIs.

Improvement

Changed: Normal Partner and Tech Partner access boundaries

Normal Partner accounts now keep read-only customer access, while Tech Partner accounts retain customer edit, cache flush, and impersonation actions.

Improvement

Changed: Partner subscription plan visibility

Partner subscription views now show only plans marked visible to partners, keeping internal administrator-only plans hidden.

Improvement

Changed: Partner Coins ledger display

Partner Coins now displays a unified coin ledger with both incoming administrator allocations and outgoing subscription activation spends.

Jun 5, 20261.0.1
Feature

Added: Contact book duplicate maintenance baseline

Improved contact book maintenance with duplicate phone cleanup and safer selection behavior.

Feature

Added: Partner password login support

Added partner password login support with a required business profile form before partner dashboard access.

Feature

Added: Partner registration page

Added a direct partner registration page at `/partner/register` with account-owner and business-profile sections.

Feature

Added: Partner state and city capture

Added state and city capture to partner registration and partner business-profile completion, with mandatory India state selection and mandatory city validation.

Feature

Added: Administrator partner assignment for customers

Added administrator-controlled partner assignment for customers using a dedicated partner-customer relationship table and searchable partner selector in the customer edit form.

Feature

Added: Administrator partner management

Added administrator partner management with a Partners menu, partner list, edit form for personal and business details, and partner impersonation support.

Feature

Added: Partner-scoped customer management

Added partner-scoped customer management so partners can view assigned customers, log in as assigned customers, flush cache, and update only name, email, mobile number, and password.

Feature

Added: Read-only partner Subscription and Customer Add-ons menus

Added read-only partner Subscription and Customer Add-ons menus so partners can review assigned customers' subscriptions and add-ons without creating, upgrading, assigning, or editing them.

Feature

Added: Read-only partner Message Billing menu

Added a read-only partner Message Billing menu so partners can review message billing history only for customers assigned to them.

Feature

Added: Campaign v2 log cleanup worker

Added a nightly Campaign v2 log cleanup worker with dry-run support, retention controls, batch limits, MySQL locking, and run-audit records for operational campaign logs.

Feature

Added: Contact book duplicate phone cleanup workflow

Added a contact book duplicate phone cleanup workflow that lets customers select multiple contact books, preview duplicate phone numbers, and remove duplicate book memberships while keeping the oldest active occurrence.

Feature

Added: Contacts Excel export

Added Excel export for Contacts, including all-contact export from the contact book list and contact-book scoped export from inside a selected book.

Feature

Added: Sender-scoped message blacklist management

Added sender-scoped message blacklist management under Contacts, including single number add, bulk paste, search, deactivate, restore, Redis-backed checks, and send-path blocking before Meta delivery.

Feature

Added: Flow Builder add-on assignment

Added Flow Builder add-on `103`, seeded as `Flow Builder`, so administrators can assign Flow Builder access per WhatsApp sender number.

Feature

Added: Orders > Payment Gateways Dynamic UPI onboarding

Added Orders > Payment Gateways for sender-scoped Dynamic UPI intent gateway onboarding with encrypted credentials, default gateway selection, and validation for VPA, HTTPS intent URL, MCC, and active duplicate names.

Improvement

Changed: Contact book duplicate-selection behavior

Updated the contact book page so row selection is only enabled after activating Check Duplicate mode; normal row clicks continue opening contact books by default.

Improvement

Changed: Contacts sidebar grouping

Converted the Contacts sidebar item into a group with Contact Books and Blacklist entries.

Improvement

Changed: Blacklist page entry flow

Reworked the Blacklist page to match the contact book header/action pattern, moved single-number entry into a modal, and moved bulk copy-paste entry into a dedicated sub-page.

Improvement

Changed: Flow Builder access warning

Flow Builder now remains visible in the menu, but customers without add-on `103` for the selected WhatsApp number see an access warning instead of the flow list/editor.

Improvement

Changed: Partner Dashboard sidebar position and summary counts

Moved the Partner Dashboard menu item to the first sidebar position and added responsive dashboard summary counts for assigned customers, active add-ons, and inactive add-ons.

Improvement

Changed: Legacy Standard WhatsApp user fields

Removed legacy `users` table field usage for the discontinued Standard WhatsApp integration from modern Whats91 customer, partner, registration, and template-library flows.

Fix

Fixed: Blacklist table source badge overflow

Fixed Blacklist table source badges overflowing into the updated-date column by constraining long source labels and widening responsive table columns.

Fix

Fixed: Partner Customer Add-ons collation lookup

Fixed partner Customer Add-ons scope lookup failing when add-on scope UID columns and Cloud API setup UID columns use different MySQL collations.

Fix

Fixed: WhatsApp reconnect and replace loop

Fixed WhatsApp reconnect/replace looping when Meta assigns a new phone-number ID/WABA to the same E.164 number; Replace now archives the old setup and activates the new Meta identity.

Fix

Fixed: Template cleanup after WhatsApp number replacement

Fixed template cleanup after WhatsApp number replacement by detaching old-number templates from the active sender context and skipping invalid Meta delete calls for stale WABA/HSM IDs.

Breaking

Removed: Administrator Cloud API setup comparison page

Removed the administrator Cloud API setup comparison page and backend report endpoints because the legacy database comparison workflow is no longer needed.

Breaking

Removed: Legacy users table fields

Added a database cleanup migration to drop legacy `users` columns: `session_count`, `sms_min_count`, `whatsapp_type`, `demo_period`, and `sms_count`.

Jun 3, 20261.0.0
Feature

Initial stable release: Whats91 platform baseline

The first Whats91 changelog baseline, covering the current customer workspace, WhatsApp Cloud API workflows, automation, reporting, billing, and developer tooling.

Feature

WhatsApp Cloud phone-number management

Connect and manage WhatsApp Cloud API phone numbers from the customer workspace.

Feature

Template and Meta library management

Maintain templates, carousel templates, Meta library imports, and reusable template parameter presets.

Feature

WhatsApp setup diagnostics

Review phone-number webhook state, business profile information, session health, and setup diagnostics.

Feature

Campaign source selection

Create campaigns from contact books, CSV/Excel imports, manual numbers, and conversations.

Feature

Campaign mapping, testing, scheduling, and throttling

Use template mapping, source-specific inputs, test sends, scheduling, retries, opt-out controls, and throttle settings.

Feature

Campaign delivery and response reports

View campaign reports, response reports, unsubscribe reports, and customer-friendly delivery summaries.

Feature

Outbound, inbound, raw-event, and analytics reports

Track outbound messages, received messages, raw events, and WhatsApp analytics in separate report views.

Feature

Report filters, counters, history, and exports

Use status counters, filtering, message history, exports, and campaign delivery breakdowns.

Feature

Message state audit coverage

Audit accepted, sent, delivered, read, failed, pending, and reached message states.

Feature

Contact books and audience fields

Manage contact books, contacts, custom fields, grid imports, CSV/Excel uploads, and date field compatibility.

Feature

Contact import mapping and validation

Map columns, validate phone numbers, preview import data, and maintain custom contact attributes.

Feature

Chatbot, AI MetaBot, labels, teams, and departments

Build chatbots, chat shortcuts, AI MetaBot workflows, labels, teams, departments, and chat redirect access.

Feature

Flow Builder library, validation, drafts, and testing

Use the Flow Builder with flow library imports, validation, draft editing, media assets, and WhatsApp-style testing.

Feature

Flow Builder node automation

Design node-based automation flows with triggers, messages, waits, actions, conditions, and validation.

Feature

Flow Builder sample imports and draft tests

Create flows from administrator-managed library samples and test draft flows without sending live WhatsApp messages.

Feature

Media, Busy templates, and file-template mapping

Manage reusable media, Busy template documentation, Busy software API setup, and file-template mapping.

Feature

Busy PDF and text workflow support

Support PDF and text Busy formats, screenshot previews, and file-based campaign/template workflows.

Feature

Message billing, wallet, subscription, and add-on review

Review message billing, wallet history, subscription access, add-ons, and plan-gated capabilities.

Feature

Administrator billing and WhatsApp cost tools

Use administrator billing tools for pricing, wallet management, message billing gaps, and WhatsApp cost reporting.

Feature

Developer public API tokens and REST documentation

Manage public API tokens, REST API documentation, live logger streams, and public sendtemplate integrations.

Feature

Miracle and Busy-compatible integrations

Use custom integrations such as Miracle and Busy-compatible APIs for external software workflows.

Feature

Webhook, department, team, label, and workspace settings

Configure webhooks, departments, team members, chat labels, Google Workspace, Google Sheets, and Google Drive.

Feature

Maintenance, cache, phone-number context, and health views

Use maintenance mode, cache controls, phone-number context, and operational health views.

Feature

WA groups, catalogs, products, orders, and diagnostics

Operate WA groups, catalog management, products, feeds, sync jobs, orders, diagnostics, and analytics where enabled.

Feature

Administrator users, subscriptions, templates, flows, and Meta tools

Use administrator tools for users, subscriptions, template library, flow library, Meta system users, and setup comparison.