v1.9.0

ChatbotXIO/ChatbotXv1.9.0Sep 22, 2026by realcodesiman

Upgrading?

AI Summary

This release focuses on enhancing automation capabilities for TikTok and WhatsApp, introducing in-app voice calling, and improving system performance through queue management and low-priority job handling.

Key Highlights

  • Added in-app voice calling feature for WhatsApp channels.
  • Implemented TikTok comment automation with private replies and delivery stats.
  • Gated Threads UI behind a preview allowlist and updated MCP server naming.
  • Added send limits for broadcast audience ranges and messages per minute.
  • Improved worker performance by moving media backfill jobs to a dedicated low-priority queue.

New Features

  • feat(ai-agent): mcp load bot field
  • feat(threads): gate the threads ui behind a preview allowlist
  • feat(whatsapp): add in-app voice calling
  • feat(tiktok): add comment automation and rename the comment-automation tables
  • feat(tiktok): comment-to-message private reply for comment automation
  • feat(worker): move coexist media backfill jobs to a dedicated low-priority queue
  • feat(builder): show the low queue in the developer Bull Board
  • feat(broadcast): add a send limit for audience range and messages per minute
  • feat(flows): add spintax, per-channel sendText limits, and minigame message variables
  • feat(flows): route deep-link buttons through an app-links interstitial
  • feat(contacts): add reset all custom fields to the contact inbox panel

Full Release Notes

<!-- Release notes generated using configuration in .github/release.yml at main -->

## What's Changed
### ✨ New Features
* feat(ai-agent): mcp load bot field by @nguyenvantruc92 in https://github.com/ChatbotXIO/ChatbotX/pull/1212
* feat(threads): gate the threads ui behind a preview allowlist instead of hiding it by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1214
* feat(whatsapp): add in-app voice calling by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1187
* feat(tiktok): add comment automation and rename the comment-automation tables by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1215
* feat(tiktok): comment-to-message private reply for comment automation by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1250
* feat(worker): move coexist media backfill jobs to a dedicated low-priority queue by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1253
* feat(builder): show the low queue in the developer Bull Board by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1254
* feat(broadcast): add a send limit for audience range and messages per minute by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1260
* feat(flows): add spintax, per-channel sendText limits, and minigame message variables by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1259
* feat(flows): route deep-link buttons through an app-links interstitial by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1262
* feat(contacts): add reset all custom fields to the contact inbox panel by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1274
### 🐛 Bug Fixes
* fix(threads): hide threads from the product ui until meta approves the api permissions by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1207
* fix(triggers): make tag and sequence condition filters searchable by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1209
* fix(messenger): send header variable for text and image templates by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1216
* fix(ai-agent): change import variable bot field in mcp server by @nguyenvantruc92 in https://github.com/ChatbotXIO/ChatbotX/pull/1219
* fix(broadcasts): show page templates and header images in broadcast details by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1217
* fix(whatsapp): show the reason Meta gives when a number cannot place calls by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1223
* fix(whatsapp): stop treating a granted conversions api permission as missing by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1224
* fix(tiktok): drop video.list and request the approved comment write scope by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1231
* fix(tiktok): subscribe the comment webhook, not just direct messages by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1232
* fix(tiktok): read a comment reply's video id from the comment itself by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1237
* fix(messenger): shrink the page list request when Facebook says the response is too large by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1251
* fix(inbox): load all connected pages in the broadcast page selector instead of only 50 by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1252
* fix(worker): count discrete outgoing bot messages by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1257
* fix(cli): add Node executable directive by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1261
* fix(tiktok): read parent_comment_id 0 as no parent, not as a comment reply by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1263
* fix(whatsapp): explain failed call answers and stop ringing in other tabs by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1264
* fix(whatsapp): let only one browser tab answer an incoming call by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1275
* fix(broadcasts): keep a renamed broadcast's name when its draft is edited by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1276
### ⚡ Improvements
* perf(integrations): ack-fast telegram/tiktok webhooks, add tiktok webhook tests by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1200
* refactor(worker): move job handler data access into business services by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1101
* refactor(public-api): audit and clean up public rest/mcp surface by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1210
### 🔧 Internal / Chore
* ci(cli): auto-publish chatbotx cli to npm on release tag by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1218
* ci(cli): switch cli npm publish back to oidc via direct npm publish by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1222
* chore(cli): publish CLI skill to skills.sh and ClawHub by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1229
* docs(readme): update cloud trial banner and add MCP/CLI tools promo by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1230
* chore(mcp): rename chatbotx-mcp-server package to chatbotx-mcp by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1256
* ci: notify chatbotx-agent's upstream-drift check on publish by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1273


**Full Changelog**: https://github.com/ChatbotXIO/ChatbotX/compare/v1.8.0...v1.9.0

Related Repositories