Changelog

Releases

Stay up to date with new features, improvements, and bug fixes shipped to ChatMaxima Changelog.

19 releases
Aug 5, 2026
Channels
ChatMaxima Support ChatMaxima Support

Know which ad brought each contact inLatest

When someone taps a Meta ad and lands in a conversation, ChatMaxima now records which ad it was, on WhatsApp, Messenger and Instagram alike.

📣 One shape for all three channels

Click to WhatsApp was already captured. Click to Messenger and Click to Instagram now are too, and all three are stored the same way, so a flow written once works across every channel.

  • Was this an ad? {sys_contact_metadata.ad_referral.is_ad} returns Y or N
  • Which ad {sys_contact_metadata.ad_referral.ad_id} and {sys_contact_metadata.ad_referral.ad_title}
  • Where from {sys_contact_metadata.ad_referral.source} and {sys_contact_metadata.ad_referral.channel}

🤖 Use it in a flow

The most useful thing you can do is treat ad enquiries differently from everyone else. Add an If/Else block on {sys_contact_metadata.ad_referral.is_ad} and route ad traffic to a qualifying flow, tag it for your sales team, or greet the customer with the offer they clicked.

🔁 Existing setups keep working

WhatsApp contacts still carry the original Click to WhatsApp fields at {sys_contact_metadata.ctwa_referral.ctwa_clid}, {sys_contact_metadata.ctwa_referral.source_id}, {sys_contact_metadata.ctwa_referral.source_type} and {sys_contact_metadata.ctwa_referral.source_url}, so any flow you have already built is unaffected.

Aug 3, 2026
API
ChatMaxima Support ChatMaxima Support

Rate limits now apply to the ChatMaxima API

The ChatMaxima API now enforces rate limits. If you have an integration running today, this changes what your code can receive, so it is worth a quick look.

⏱️ The limits

Limits are counted per API key, per minute, and apply to api/v2.

  • Sending WhatsApp template messages: 300 requests per minute
  • Writing contacts and tickets: 120 requests per minute
  • Reading lists and records: 300 requests per minute

The send limit sits well above what Meta itself accepts, so a legitimate bulk send is not the thing that will hit it.

📊 Every response tells you where you stand

Three headers come back on every API response, so you never have to guess:

  • X-RateLimit-Limit your ceiling for this window
  • X-RateLimit-Remaining how many requests you have left
  • X-RateLimit-Reset when the window resets, as a Unix timestamp

🚦 What happens when you go over

You get a 429 with a Retry-After header and a JSON body:

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Too many requests. Please retry after 24 seconds.",
    "details": { "limit": 120, "window": "60 seconds", "retry_after": 24 }
  }
}

Wait for Retry-After seconds and retry. The window resets on a fixed clock, so a client that backs off correctly recovers on its own.

✅ What to check in your integration

  1. Handle 429 as a retry, not as a failure.
  2. Respect Retry-After rather than retrying immediately.
  3. If you poll for lists, read X-RateLimit-Remaining and slow down as it approaches zero.
Aug 2, 2026
Channels
ChatMaxima Support ChatMaxima Support

ChatMaxima Product Updates - 2 August 2026

A round-up of everything else that landed over the past week, across languages, the API, and the Inbox.

🌍 Your dashboard now speaks 11 languages

Russian joins as the eleventh language. The language switcher now lists every language in its own native name, and if yours is missing you can request it.

  • Request another language from the switcher, searchable across 61 more languages, which files the request with our team directly
  • Newly translated screens including WhatsApp Commerce, the live chat widget settings and customizer, the WhatsApp Flow editor, broadcast and template reports, marketplace, and onboarding
  • Your bots follow your language too, so built-in bot copy is shown in the workspace owner's language

🔌 API and integrations

  • Contacts endpoints are now the canonical way to work with people in your workspace. Leads endpoints still work as a deprecated alias, so nothing breaks
  • WhatsApp endpoints for listing templates, checking message status, and sending a template message
  • Outbound webhooks with subscriptions and signed delivery, covering message status and reply events, with automatic retries
  • A rebuilt API reference with a pinned sidebar and readable request and response examples
  • New MCP tools so an AI agent can list your connected channel accounts and integrations, and build with the Google Sheet block

💬 Inbox

  • Mute the notification sound per browser from the top bar, and agents now get exactly one sound per message
  • Paste documents straight into the reply box
  • A steadier conversation list that only reorders on real new activity and stops re-rendering while the tab is in the background

✨ Smaller improvements

  • Variable autosuggest browses nested API responses level by level and accepts JSONPath brackets
  • The API block supports a raw JSON request body, with a clear message when the content type is wrong
  • The WhatsApp Messaging block explains itself when an account is inactive or a routing id is invalid
  • Bulk messaging shows a sending spinner, shortens long filenames, and prefills the caption from your first image
  • A new Unassigned filter on Tickets
  • Searchable From address on the email composer, and editor links that open in a new window
  • Google Sheet rows now land under the correct headers
  • Contacts created in MaxCRM appear in a predictable order in Smart Lists
  • A video walkthrough for the If / Else block
Jul 30, 2026
Chatbots
ChatMaxima Support ChatMaxima Support

Raise helpdesk tickets straight from a bot flow

Your bot can now raise a helpdesk ticket in the middle of a conversation, so a question that needs a human never gets lost when the chat ends.

🎫 The Create Ticket block

Drag Create Ticket anywhere into your flow. It files a real ticket using details the bot already collected.

  • Ticket account chosen explicitly, so a workspace with more than one helpdesk account files to the right place
  • Title and description that accept variables, including {sys_current_conversation} to attach the whole chat history
  • Agent, department, status and labels picked from your workspace, or left blank to inherit your ticket settings defaults
  • Contact details taken from the conversation, or set to custom values
  • Confirmation message sent back to the customer

Variables you can use later in the flow

Every ticket writes three variables any later block can reference:

  • {ticket_number} the customer-facing ticket id
  • {ticket_url} the tracking link you can send to the customer
  • {ticket_alias} the internal reference

Tickets raised this way appear in your Tickets list immediately and are searchable like any other ticket.

How to use it

  1. Open your bot in ChatMaxima Studio.
  2. Drag Create Ticket onto the canvas from the block palette.
  3. Pick the helpdesk account, write the title and description, and set routing if you want it.
  4. Add a message after it using {ticket_number} so the customer leaves with a reference.
Jul 29, 2026
Getting Started
ChatMaxima Support ChatMaxima Support

Bulk import canned responses from a spreadsheet

Setting up canned responses no longer means adding them one at a time. Upload a worksheet and create the whole set in one go.

📥 Bulk import

Open Settings, go to Canned Responses and click Bulk Import. Upload an XLS or XLSX file and the first sheet is imported.

  • Short code is required, up to 50 characters, without the leading slash
  • Content is required, up to 1000 characters. Bulk import creates text responses
  • Status is optional, Active or Inactive, and defaults to Active when left blank

Up to 500 rows per upload. Short codes you already use are skipped rather than overwritten, so re-running an import is safe.

How to use it

  1. Go to Settings and open Canned Responses.
  2. Click Bulk Import, then Download Sample Worksheet.
  3. Fill in your short codes and content, keeping the sample headers.
  4. Upload the file. Anything skipped is reported back to you.