The TalkJS Dashboard just became much more powerful! (and more)

One of the most common requests is for better moderation features built into the TalkJS dashboard. We're delighted to release the first of those new moderation tools!

Conversation Details

After selecting a conversation from the activity viewer in the dashboard, you can now edit properties like its subject, photo, and welcome messages. If you want to get rid of the conversation completely, deleting all messages and removing it from the inbox's conversation list, you can do that too.

A screenshot of the conversation details page, showing Alice and Sebastian having a conversation about 8 kittens

Contact Suppression

We've also given you much more control over what content is automatically suppressed in chats, and allowed you to specify the replacement text. So if you want to ban phone numbers but allow links, you can! If that's not enough, you can even specify your own patterns to be suppressed.

We're working on a lot more moderation tools, so here's a sneak preview of the features we're working on adding to the dashboard:

  • Create + delete users, and choose which conversations they are in
  • Edit user properties like name, email address, and phone number
  • Edit + delete everyone's messages, and send messages as specific users

Is there anything we're missing that would help you moderate conversations? Get in touch and let us know! Leave a comment below, get in touch via our live chat, or email

Other Improvements

It has been 3 months since our last changelog, so read on to learn about everything else we've been working on behind the scenes. First a few smaller features and changes you might have noticed:

  • All plans now let you have more guests in a conversation: up to 300 for the basic plan and 1250 on growth, using super group chats
  • When sending a message with the REST API, you can send it as a reply to another message using the referencedMessageId parameter
  • We added a quickstart guide for Svelte and updated the React guide to show both Functional and Class components
  • We updated to a fancy new set of icons, so your chats will look better than ever
  • We completely redesigned our website and it's gorgeous!

With your help, we tracked down and fixed a lot of little bugs, like:

  • Specifying the conversation photo as a relative path like photo.jpg will be relative to your website rather than
  • On mobile, the popup close button is normal size again
  • When uploading a very tall image, the preview dialog doesn't extend off the top of the screen any more

And my favourite customer-reported bug: A kind Spanish user explained that the word Save should be translated to Guardar and not SaveGuardarThe  😂

However, our main focus since last time has been on improving the performance and stability of our servers. It's all a bit too technical to discuss here, but keep an eye out on our blog for posts taking a technical deep-dive into the improvements.

The important part is that our servers run faster, return less errors, and experience less downtime. We're not done yet, but we're confident that your TalkJS experience will be better than ever.

We're excited to be working on more user-visible features again, and hope you're excited too! Please do get in touch and let us know what you want to see in TalkJS this year, because everything we do is driven by your feedback!

Link Previews, Custom Message Actions in the Flutter SDK, and More!

We just added Link Previews to TalkJS.

For most websites, the preview will show the title and a description of the page, but for media sites like YouTube, we'll embed the media right inside the message.

If you haven't made any changes to the UserMessage or SystemMessage component of the theme you use in TalkJS, they should start working automatically. If you did already change these templates, head over to our docs to learn how to add link previews to your theme.

Improvements to the Flutter SDK

The Flutter SDK also has some new goodies in store:

  • The Chatbox and ConversationList widget now accepts an onLoadingStateChanged parameter, which can notify you when the widget's content has fully loaded.
  • The Chatbox widget now takes an onCustomMessageAction handler, which you can use to respond when the user triggers custom message actions.
  • Fixed a scrolling issue when the Chatbox widget is placed in a bottom sheet.

Easily Set Up a Custom Domain for Emails 📧

For a long time now, TalkJS has let you use your own domain for sending emails, and handling email replies, but up until recently, this required contacting support. Now, you can easily do this yourself.

To add a custom email domain, click the account menu in the top right of the TalkJS dashboard, then click "Email domains". After adding the domain, click "details". You'll see some instructions on how to set up the necessary DNS records. Lastly, you'll want to go to the Settings page of your dashboard, and under Email Domain, select the domain you just added.

Bugfixes 🐞 

We've fixed several bugs since our last changelog entry, including:

  • Fixed an issue where flag emoji wouldn't show up on Windows in most browsers
  • Fixed an issue where in dark themes, the scroll bar wasn't visible.
  • Fixed an issue where we sometimes sent the same email notification multiple times

New Conversation List Item theme component, Push notification improvements, message.deleted add to webhooks, added idempotency keys


Conversation List Item component: Theme your inbox list items with the new component.

Idempotency keys: Ensure exactly-once delivery of messages - Read more.

Webhooks: message.deleted added to the webhooks list in the dashboard.

API: Fully delete participants when leaving a conversation - Read more.

Push notification tester: You can now test your push notifications via the dashboard UI.


Android Push Notifications: Priority changed to high, which helps apps that aren't running in the background.

Emojis 😲: Updated to include newer emojis.

Dashboard Settings: Improved layout to give saving settings more visible.

Improved UX for autoscrolling new messages.

Security and performance improvements.


System messages suppressed in emails: Fixed a bug where system messages containing contact information were incorrectly being suppressed.

Faster, better, more secure

Added: You can now run TalkJS on a custom subdomain (eg This way, no network requests go to at all. (Enterprise plan only - get in touch if you're interested).


  • The Chat UI got much faster 🚀. It's snappier and uses less battery than before.
  • Made it possible to run TalkJS with a stricter Content-Security-Policy (docs)
  • "Send message" REST API endpoint now returns message IDs in the response payload
  • Made dashboard "Role editor" navigation clearer and easier to use


  • Sending a large message would not always scroll the message list down to the bottom correctly.
  • Inbox Feed Filters would sometimes not show sufficient data in the conversation list, or the "load more" button would be unavailable
  • showChatHeader: false was ignored in some cases, making it impossible to hide the header.
  • In the enlarged shared image view, the close button would display as "⨯" and not as "X" (on sites/apps that did not use UTF-8 encoding)
  • Email attachment file sizes were sometimes incorrectly reported in the Chat UI
  • CSS syntax errors in the Theme Editor could break the Chat UI without an actionable error. Now, it shows a useful error in the devtools console.

View Current MAU & Various Bug Fixes

Added: the current amount of Monthly Active Users to the billing page.

Fixed: Issue with headers not expanding when the Panel style has higher padding than the default.

Fixed: Issue where the inbox would show no conversations when a feed filter was applied, even when there were conversations that match the filter.

Several other bug fixes.

Webhook improvements

Added: Webhook event filters

It is now possible to toggle which webhook events you want to subscribe to, allowing you to only listen for events that are useful to your use case.

Feature release - 11th November, 2020

  • Added: Analytics to the Standard plan and above

  • Added: Ability to delete conversations via the REST API
  • Improved: App-wide performance
  • Improved: REST API documentation
  • Improved: Inbound email deliverability
  • Improved: FeedFilters ability to filter for users with lots of conversations
  • Fixed: Video preview is now viewable full screen in Chrome and Safari
  • Fixed: The chat UI from not scrolling to the bottom when a message is received and the user has scrolled up beyond a certain point
  • Fixed: Search icon contrast for dark themes

Feature release - 7th July 2020

  • Added: ability to cancel subscription via TalkJS Dashboard.
  • Fixed: ability to show long welcome messages.
  • Improved video preview.
  • Performance and stability improvements of the Application.
  • Improved performance of the Activity Page in the TalkJS Dashboard.
  • Added: a tool tip with date, when you hover over a message timestamp.

Minor changes & Bug fixes - 14th Feb, 2020

  • Fixed: Sometimes email links were rendered incorrectly in the chat window
  • Fixed: Occasionally the the file drag-and-drop feature would trigger unexpectedly
  • Fixed: From time to time the chat's message field would have the incorrect height
  • Changed: Minor changes to the dashboard to make using it a little bit nicer

Search feature & Bug fixes - 10th Feb, 2020

  • Added: Users can now search for text within a conversation, available on the premium plan and above
  • Added: Improved the styling of the scroll bar for webkit specific browsers e.g. Chrome
  • Changed: Separated the role editor to a separate page to help reduce the bloat in the dashboard. Roles can now be edited by pressing the 'Roles' link found in the top left of the TalkJS Dashboard
  • Fixed: Improved the performance of listing the conversations a user is part of
  • Fixed: Under certain circumstances the scroll bar would't scroll to the bottom of the chat UI for the initial render