Skip to content

Change log

Version 3.13.0

Released on 13-05-2024

New features

  • Channels: Wait control on telephony channel BOT-746
  • Inbox: Create LiveView phone editor field BOT-1115
  • Inbox: Show all bots with license in inbox BOT-1358
  • REST API: Add operator to $workflow_assign event & external_id to operator data BOT-1381


  • Calendar: bot.office_hours calendar doesn't add events for disabled days BOT-1387
  • Studio IDE: Unable to load bots with invalid prompts.yml file BOT-1397

Maintenance tasks

  • Studio IDE: Remove inbox functionality from studio BOT-1339

3.13.1 Bugfixes

  • Inbox: Phone selector should immediately revalidate once country is changed BOT-1407
  • Platform: Add gpt-4o to supported OpenAI models BOT-1405
  • Platform: Order of main vs triggers incorrect in tests BOT-1388

Version 3.12.0

Released on 29-04-2024

New features

  • Administration: Create licenses table BOT-1303
  • Calendar: Calendar picker filter by has slots BOT-1335
  • Inbox: Add two-way operator to bot interactions with Inbox UI BOT-1326
  • Inbox: Create links to manuals in the inbox BOT-1354
  • Inbox: Emoji picker in input bar BOT-1355
  • Platform: Make Extra options in settings available for role: producer BOT-1347
  • Studio IDE: Create organisation "customer" type BOT-1304
  • Studio IDE: Non-superuser scoped support roles BOT-1144


  • BubbleScript: url_param() fails with map argument BOT-1360
  • Calendar: Delete todo from calendar doesn't work BOT-1350
  • Calendar: available_slots function returning wrong slot.from and slot.until BOT-1348
  • Flow editor: Changing description of a Variable in Flows is broken BOT-1328
  • Flow editor: Trigger variables dropdown more eagerly BOT-1313
  • Inbox: SDK "Closed" inbox facet does not work for agents BOT-1362
  • Platform: Kill all timed events too when bot session is stopped in preview BOT-1356
  • Platform: Studio "stop" button does not always work BOT-1353
  • Runtime: Tests using GPT [[transcript]] don't work BOT-1318
  • Studio IDE: sso_token too long with Microsoft SSO BOT-1327

Maintenance tasks

  • Runtime: Switch to latest Azure OpenAI endpoint version BOT-1265

3.12.1 Bugfixes

  • Administration: "Edit in studio" link from operator does not work BOT-1363
  • Administration: Usage data missing for old standalone orders BOT-1368
  • Platform: Crash when selecting role for non-existing organisation BOT-1365
  • Runtime: Calendar InMemoryAdapter crashes on inspect BOT-1371
  • Studio IDE: Accept confirmation email crash BOT-1364
  • Studio IDE: Back navigation broken when switching from studio to administration BOT-1372
  • Studio IDE: Organisation switcher search is not case sensitive BOT-1367

3.12.2 Bugfixes

  • Administration: Customer Aggregates are not always correct BOT-1370
  • Channels: Allow web_api channel in bots even when other_frontends toggle is disabled in license. BOT-1374
  • Runtime: Ignore user events when determining charge events for outbound or inbound BOT-1375
  • Runtime: transcribe() should not crash on nil input BOT-1377
  • Studio IDE: Activity log crash on empty object name BOT-1378

Version 3.11.0

Released on 15-04-2024

New features

  • Calendar: Customizable calendar event content BOT-1298
  • Inbox: Add environment-level inbox BOT-1292
  • Platform: Add Inbox SDK documentation BOT-1307
  • Platform: Move non-license fields to organisation BOT-1300
  • Platform: Remove app-store feature flag and template bots logic BOT-1306
  • Platform: Remove provisioning stuff from BNS entries BOT-1301
  • Platform: Remove superfluous fields + UI from account BOT-1302

3.11.1 Bugfixes

  • Channels: Wrong whatsapp onboarding parameter BOT-1331

3.11.2 Bugfixes

  • Inbox: Crash in inbox fulltext search BOT-1333

3.11.3 Bugfixes

  • Channels: Frequent functionclause error in visitors channel BOT-1332
  • Channels: Whatsapp channel-specific await delivery time for template messages BOT-1338
  • Platform: MFA accidentally required for all non-SSO logins BOT-1336

3.11.4 Bugfixes

  • Studio IDE: Studio inbox jumping focus issue BOT-1330

3.11.5 Bugfixes

  • Inbox: Crash in liveview inbox conversation list BOT-1344

3.11.6 Bugfixes

  • Platform: Adding training phrases is broken BOT-1349
  • Platform: Dialogflow utterances editing issues reported by Masvoz BOT-1341
  • Runtime: Add Whisper transcribe retry + sweden region BOT-1345

Version 3.10.0

Released on 02-04-2024

New features

  • Administration: Create standalone order: Prefill store tier and make required BOT-1311
  • App store: App store supported channels / inboxes BOT-1291
  • App store: Fall back to browser locale when creating an app for a cloud order BOT-1309
  • App store: Store listings unique per package/tier/organisation instead of just per package/organisation BOT-1286
  • BubbleScript: Scope eval_quoted refactor BOT-1293
  • Calendar: Add planning from events to calendaring BOT-1269
  • Flow editor: Allow assigning to 'writeable' variables BOT-1308
  • Platform: Enable Market place for everybody BOT-1305


  • Administration: Crash in advanced environment settings BOT-1289
  • App store: Unable to add new languages to bot app in development BOT-1290
  • Flow editor: Align Placeholder CSS colors BOT-1294
  • Flow editor: Description font color should be the same for all fields BOT-1295
  • Flow editor: Description is displayed inconsistently between lists and non-lists BOT-1296

3.10.1 Bugfixes

  • App store: Non-null error in legacy skill store listing (non-appstore) BOT-1322
  • Channels: Region not passed along in grid transcribe request BOT-1320

3.10.2 Bugfixes

  • BubbleScript: transcribe: Expose no_speech_prob_cutoff parameter BOT-1325
  • Channels: Reverse voicemail - support "say as:" BOT-1324

Version 3.9.0

Released on 18-03-2024

New features

  • CRM: Make notes more like todos BOT-1268
  • Inbox: More explicit deprecation warning for studio inbox BOT-1267
  • Platform: App store work milestone 1 BOT-1221
  • Platform: Support git branch with # in repository URL BOT-1274
  • Studio IDE: Support Git pull workflow BOT-1110


  • Studio IDE: Languages don't scroll in create bot BOT-1273

3.9.1 Bugfixes

  • Inbox: Fix Badmap error BOT-1279
  • Platform: Add nudges and voice_config to always_app_editable_list BOT-1276
  • Platform: Speed up install app BOT-1281
  • Runtime: Deprecation annotations pollute log files BOT-1280
  • Studio IDE: Not all legacy template bots visible BOT-1277

3.9.2 Bugfixes

  • App store: Filter optional_dependencies in app on listings from store tier BOT-1284
  • BubbleScript: Show deprecated functions as warnings in issues BOT-1285
  • CMS: As a skill developer I want to limit the amount of items that can be created in a folder managed from a cms definition BOT-1283

3.9.3 Bugfixes

  • Channels: Whatsapp provisioning: Accept channels= parameter without square brackets BOT-1310

Version 3.8.0

Released on 04-03-2024

New features

  • Administration: Add parent (agency) information to orders overview BOT-1254
  • Administration: Allow changing account for standalone orders BOT-1249
  • Administration: Make organisations export suitable for analysis and reporting BOT-1257
  • Calendar: Calendaring list UI BOT-1261
  • Calendar: iCal / slot picker interface for Bubblescript BOT-1006
  • Inbox: Display detected language in auto translation modal BOT-1241
  • Platform: Add Latvian as a language to the DialoX studio BOT-1212
  • Runtime: Add languages BOT-1001
  • Runtime: Reset once with function instead of touching dialog.once BOT-1252
  • Studio IDE: Calendaring improvements BOT-1239
  • Widget: Allow to display whatsapp number in contact widget BOT-1093
  • Widget: Change number format in contact widget / allow formatting BOT-1094


  • Administration: Access requests line click navigates to wrong page (sometimes) BOT-1246
  • Channels: Audio attachments don't work anymore in Whatsapp channel BOT-1256
  • Channels: Bot server crash when whatsapp opted out BOT-1248
  • Channels: Don't overwrite user first_name and last_name for Whatsapp BOT-1245
  • Channels: Whatsapp receive error results in error dialog to be sent BOT-1250
  • Widget: When chat is disabled NUDGES shouldn't lead to chat but just opening the widget BOT-966

Maintenance tasks

  • Platform: Upgrade Elixir to 1.16 BOT-1232

3.8.1 Bugfixes

  • Runtime: BML queries do not work for non-latin languages BOT-1266

Version 3.7.0

Released on 05-02-2024

New features

  • Administration: Billing / usage reporting improvements BOT-1122
  • BubbleScript: Expose platform whatsapp template names in bubblescript BOT-1204
  • BubbleScript: Support _has in MatchEngine to search objects which have one-or-more objects BOT-1192
  • BubbleScript: Warn about Bubblescript writing in platform variables: bot, conversation, dialog BOT-1195
  • Channels: Experimental support for Google Business Messages BOT-1213
  • Channels: Support ask w/ expecting location on Whatsapp BOT-1190
  • Flow editor: Flow variable optimizations BOT-1216
  • Inbox: Align inbox with Design System BOT-1178
  • Inbox: Remove language from default studio fields BOT-1218
  • Runtime: Expose user.last_seen_at en user.first_contact_at in bubblescript BOT-1219
  • Studio IDE: Allow studio conversation list to be filtered on date BOT-1206


  • Administration: Add Agency fails for distributor user with Environment manager role BOT-1210
  • Administration: Impersonation doesn't seem to work in Administration BOT-1211
  • Platform: Don't allow members in same environment to be invited twice BOT-1209
  • Platform: Local intents don't work in prompt BOT-1214
  • Runtime: Debugging a conversation updates the time BOT-1157
  • Runtime: Initial message in master conversation instead of user conversation BOT-1052
  • Runtime: mail() builtin does not send attachments BOT-1222
  • Runtime: main dialog invoked mid conversation BOT-1193
  • Studio IDE: Bot parsing fails with LanguageServer timeout BOT-1225
  • Studio IDE: Entities screen error BOT-1149

3.7.1 Bugfixes

  • BubbleScript: Intent resolution is not always triggered outside "ask" BOT-1226

3.7.2 Bugfixes

  • Flow editor: Interpolated widget does not work with auto translate BOT-1227

3.7.3 Bugfixes

  • Administration: Order usage page does not load on some pages BOT-1228
  • BubbleScript: Add ask state upgrade function for resolve_context BOT-1231
  • BubbleScript: BadMapError raised when meta command is processed in event queue BOT-1229
  • Channels: Voices de-DE-Studio-B and M and de-DE-Studio-C don't seem to work BOT-1217
  • PWA: PWA shows empty page BOT-1098
  • Platform: Prevent ErlangError when pressing 'stop' in studio preview BOT-1230

3.7.4 Bugfixes

  • Inbox: Ensure liveview Inbox DOM IDs are safe for querying BOT-1234
  • Platform: CDR worker needs to be more persistent in retrying BOT-1235
  • Runtime: i18n fallback to same language BOT-1233

3.7.5 Bugfixes

  • Flow editor: Interpolated widget still does not work with auto translate BOT-1237
  • Platform: Conversation auto-close job takes too long BOT-1238

Version 3.6.0

Released on 22-01-2024

New features

  • Inbox: Conversation search should also consider runtime user's name BOT-1152
  • Platform: Add local intents classifier to default pipeline and prompt BOT-1176
  • Platform: Allow different Support teams (per GTM) having specific support roles over all relevant environments BOT-1146
  • REST API: Add conversation.uuid and frontend to /analytics conversations endpoint BOT-1118
  • REST API: Add to inbox SDK BOT-1175
  • REST API: Add logged in user information to the Inbox SDK BOT-1179


  • Channels: "Add to slack" button links to wrong page for inbox BOT-1181
  • Flow editor: Flow menu in sidebar expanded when clicking a "go to flow" node BOT-1184
  • REST API: Transcription worker needs backoff / max_attempts BOT-1185

Maintenance tasks

  • Inbox: Hide operator occupancy on bots without inbox enabled BOT-1177
  • Platform: Enforce script file type for 'platform' filenames BOT-1174

3.6.1 Bugfixes

  • Channels: German numbers have duplicated +49 on phone channel BOT-1202
  • Inbox: Finetune mobile inbox re-engagement behavior BOT-1189
  • Studio IDE: superUser check broken in studio BOT-1201

3.6.2 Bugfixes

  • Administration: Payment detail screen not error BOT-1182
  • Inbox: Conversation tabs in overflow area are duplicated BOT-1205
  • Studio IDE: Missing translation missing and auto translate button BOT-1207

3.6.3 Bugfixes

  • Studio IDE: Environment switcher is broken BOT-1215

Version 3.5.0

Released on 08-01-2024

New features

  • Administration: Count column in chargeable event BOT-1143
  • Administration: Order button on Account view should by "Orders", scoped on entire account BOT-1121
  • Broadcasting: Allow sending multiple templates to the same user in a single broadcast BOT-1082
  • CRM: Export Notes BOT-1010
  • Channels: Whatsapp: Allow changing API key BOT-1164
  • Flow editor: Support for flow variables BOT-883
  • Inbox: Add contact list to the Inbox BOT-1102
  • Platform: Support Google Service accounts as integration credential BOT-1154
  • Runtime: GPT as local intent classifier BOT-1087
  • Studio IDE: Show studio support chat bubble only for agency users BOT-1147


  • Administration: Check and correct "default order" at every (de)provisioning BOT-1117
  • Channels: Only show Speech recognition settings to super users BOT-1171
  • Channels: When no reengagement templates available, option to create is missing BOT-1162
  • Flow editor: Fix alignment of subgroups in node sidepanel BOT-1167
  • Platform: Reaper doesn't clean up afterall BOT-1103
  • REST API: Inbox SDK login should not overwrite roles on existing user BOT-1172
  • Skills: Update all skills button doesn't work consistently BOT-1114

Maintenance tasks

  • Administration: MV3 -> EC (Enreach Contact) rename BOT-1165
  • Administration: Make exception for existing German partners BOT-1169
  • Channels: Grid state machine must handle user hangups before call is answered BOT-1141
  • Platform: Batch upload/create agencies for DE BOT-1161
  • Platform: Remove legacy "phone:" Phoenix channel BOT-1156
  • Studio IDE: No release popup for patch releases BOT-1158

Version 3.4.0

Released on 04-12-2023

New features

  • BubbleScript: Allow pause to be used in tasks BOT-1088
  • BubbleScript: add closed task to handle asynchronous tasks after conversation close BOT-1002
  • Channels: Ability to disconnect a whatsapp registration from an order BOT-1089
  • Channels: Waba Cloud API Webhooks BOT-1106
  • Platform: Grid state machine for handling MV3 phone calls BOT-1092
  • Studio IDE: Close conversation button for bots without an inbox BOT-1104
  • Studio IDE: Let Markdown GPT button put content in front matter side panel BOT-1071


  • Channels: Cloud WABA integration: replies with template buttons are not recieved in inbox BOT-1107
  • Inbox: Notes view on Safari has layout issues BOT-1073
  • Inbox: Token icon in user sidebar out of proportion BOT-1013
  • Studio IDE: Allow developers to remove conversations BOT-1105
  • Studio IDE: Misalignment icon protected bots BOT-1108
  • Studio IDE: Training phrases are wrongly cached BOT-1079

Maintenance tasks

  • Platform: Improve the normalization of channel-specific user IDs BOT-1091

3.4.1 Bugfixes

  • Broadcasting: Regression with Whatsapp broadcasts BOT-1116

3.4.2 Bugfixes

  • Channels: Whatsapp cloud request webhook must always return HTTP 200 BOT-1120

3.4.3 Bugfixes

  • Administration: Crash in provisioning order status page BOT-1128
  • Channels: issue with normalization of DE phone numbers on Whatsapp BOT-1133

3.4.4 Bugfixes

  • Flow editor: Unable to delete a note in Flow designer BOT-1125
  • Inbox: Notes are not rendered in stream when created during closed task BOT-1124
  • REST API: Expose 'prompt' parameter of Whisper API call BOT-1127
  • Studio IDE: Backslash N doesn't work in every say BOT-1123
  • Studio IDE: New closed task not mentioned in LanguageServer BOT-1138

3.4.5 Bugfixes

  • Administration: Cannot find Whatsapp number in Channels while it does exist BOT-1132
  • Channels: Whatsapp Onboarding should select basic price plan BOT-1153
  • Channels: Whatsapp refetch 360 details gives error when switching to cloud BOT-1142
  • Platform: Operator close event that tags "workflow::closed" and "close" statement doesn't close the conversation BOT-1155
  • Runtime: Support for Azure Sweden region BOT-1135

Version 3.3.0

Released on 13-11-2023

New features

  • Broadcasting: Broadcast analytics section in studio with export BOT-1043
  • Broadcasting: Improve broadcasting API with more feedback BOT-957
  • Channels: Whatsapp: Wait on webhook feedback after sending a message BOT-1058
  • Inbox: Allow to reassign a chat to an INBOX TAG rather than an individual user BOT-1020
  • REST API: Whisper: Support multiple speakers in call transcript (stereo wav) BOT-1051
  • Runtime: Expose markdown collection as global constant in bubblescript BOT-1037
  • Runtime: Improve node shutdown sequence BOT-983
  • Runtime: Support Masvoz SMS API as integration to replace Twilio BOT-1066
  • Studio IDE: Add conversation and user delete entries to audit log BOT-943
  • Studio IDE: Bot process affinity BOT-1057
  • Studio IDE: Give option to hide the hint to move to BOT-1024
  • Studio IDE: Persist the 'high contrast' setting in the code editor BOT-1061
  • Studio IDE: Remove Hotjar, replace with self-hosted Plausible analytics BOT-1047


  • CRM: Import fails with 404 when UUID is given but user not found BOT-1049
  • Channels: Web widget design customize labels broken BOT-1048
  • Inbox: Escalate tryout in studio is broken for Teams inbox BOT-1063
  • Inbox: Language Setting from Inbox overwritten on login BOT-1059
  • REST API: Fix false positives in Whisper API BOT-1050
  • Runtime: Ignore collector timeout error after $hangup event BOT-325
  • Runtime: sms() builtin should create a charge event BOT-1070
  • Studio IDE: Clicking on the notification doesn't lead to conversation in inbox BOT-1062

Maintenance tasks

  • Platform: Migrate quantum cron jobs to Oban BOT-1065

3.3.1 Bugfixes

  • BubbleScript: Bubble parser crashes on ask without arguments BOT-1076
  • Platform: Fix language server crash BOT-1077
  • React Native Inbox app: Android app gets stuck on network error BOT-1075
  • Studio IDE: Studio analytics are no longer reported BOT-1074

3.3.2 Bugfixes

  • Broadcasting: Ensure unique user_id's in the broadcast API endpoint BOT-1083
  • Broadcasting: Whatsap number should be normalized in controller BOT-1081
  • React Native Inbox app: Google domain validation BOT-1078
  • Studio IDE: Issue when saving token / secrets in CMS BOT-1080

3.3.3 Bugfixes

  • REST API: Filter out transcriptions with high no_speech_prob BOT-1090

Version 3.2.0

Released on 30-10-2023

New features

  • Inbox: Inbox SDK improvements for Contact Center integration BOT-1038
  • Inbox: Spanish translations BOT-1040
  • Inbox: Teamchat memberlist stays visible BOT-1000
  • REST API: Fall back to OpenAI whisper when Microsoft whisper reaches request limit BOT-1018
  • REST API: Transcribe API: Set audio_url on transcribe event BOT-1036
  • Studio IDE: Add operator occupancy view in the bot opening hours page BOT-1042


  • Inbox: Close button missing for disabled chat conversations BOT-1017
  • Inbox: List of assignable operators is missing for superusers BOT-1039
  • Inbox: New Conversations not pushed into "new" tab of any client BOT-1030
  • Inbox: New inbox also shows non inbox bots in dropdown BOT-1009
  • Inbox: Reassign conversation: allow to filter agent names BOT-1019
  • Inbox: Unread counter in INBOX conversation list doesn't disappear after read BOT-1031
  • Inbox: WA template message rendered in wrong locale in studio inbox BOT-1021
  • Studio IDE: Environment selector should show correct agency BOT-1014
  • Studio IDE: Fix integration tests BOT-1026

Version 3.1.0

Released on 17-10-2023

New Features

  • Speech: Implement Speech-To-Text V2 API BOT-885
  • Speech: Implement Whisper API as transcribe backend via Microsoft BOT-992
  • Speech: Allow adjusting the speed of the text-to-speech per voice BOT-980
  • Inbox: Allow to start a new conversation (on whatsapp / email) BOT-995
  • Bubblescript: runtime performance improvements (around date parsing / expression evaluation)
  • Flows: Allow creating custom link variants BOT-988
  • Studio: "Turbo" button skips tracing in tasks BOT-1004


  • Inbox: Paste image in input bar results in data string message BOT-1008
  • Phone: Better feedback in call when a server error occurs BOT-1003
  • Phone: $no_input lead to missing input BOT-979
  • Studio: Import most bot metadata instead of none BOT-1007
  • Studio: Google Translate functions in the studio were broken BOT-1022
  • Docs: Inbox REST API swagger broken BOT-1025

3.1.1 Bugfixes

  • Flows: Play button in Flows CMS doesn't work anymore BOT-1028
  • Teams: Fix CSP issue with Inbox tab BOT-1033
  • Web chat: Date picker does not accept default value BOT-1034
  • Inbox: app switcher only works from the inbox section BOT-1035

3.1.2 Bugfixes

  • Platform: InfluxDB write errors should not result in a crashing system BOT-1041

Version 3.0.0

Released on 19-09-2023

Version 3.0 marks quite a major release for the platform. Most notably we renamed the domain from to, to be more in line with the name of the platform.

Read the full announcement on

Besides the big changes, the following is a list of the compiled Jira tickets that were part of this 3.0 release.

New Features

  • AI: Support Microsoft CLU as intent classifier BOT-918
  • Administration: Add column for total amount conversations last 30 days on Bots page in Admin section BOT-891
  • Administration: Agency administrators should be able to export their bot list BOT-940
  • CRM: Select users by locale in CRM BOT-877
  • Inbox: Add AppSignal JS error reporting BOT-968
  • Inbox: Add German as a supported language BOT-948
  • Inbox: Email messaging & rendering in live view chat BOT-807
  • Inbox: Implement system notifications BOT-740
  • Inbox: Non-administrators cannot mention in team chat BOT-938
  • Inbox: Notification view in LiveView BOT-933
  • Inbox: Profile editing BOT-952
  • Inbox: Sidebar (ala WhatsApp) with user details in LiveView BOT-934
  • Inbox: Standalone notes live view page BOT-919
  • Inbox: Teams embedding BOT-970
  • Inbox: unread messages, new messages line in chat stream BOT-959
  • Login: Liveview the studio 'entry' pages BOT-837
  • REST API: Note delete endpoint BOT-927
  • Runtime: Notes should not be closed when conversation is closed BOT-931
  • Teams: Liveview inbox from MS Teams to BOT-871
  • Whatsapp: Support 360dialog cloud API BOT-972
  • Whatsapp: Support phone numbers in WA template sending BOT-895

Additional bugfixes

  • Flows: Multiple next links in Ask node shouldn't be possible BOT-890
  • Flows: Limit flow editing for content editors BOT-962
  • Studio: Importing a bot should NOT change the bot name BOT-903
  • Bubblescript: number_format() crash on nl.FORMAL locale BOT-922
  • Management: Filtering environment members breaks the role selector BOT-949
  • Studio: Reverse the NPS score feature toggle BOT-965
  • Elixir 1.15 upgrade BOT-937

3.0.1 Bugfixes

  • Fix crash due to missing default CLDR backend
  • Fix hanging studio login due to SSO tokens check
  • Teams AAD SSO: Fix Microsoft JWT validation

3.0.2 Bugfixes

  • CSP: Add data: to default-src
  • CSP: Add studio URL to frame-ancestors
  • Disable profile settings btn when nothing changed
  • Fix missing PWA manifest icons
  • Inbox: Broadcast 'read updated' to clients for all persisted notifications
  • Inbox: Do not use streams for operator presence
  • Inbox: Fix crash in service worker browser notification for empty actions
  • Inbox: Fix displaying note in chat stream
  • Inbox: Fix inbox error on notification without inserted_at
  • Inbox: Fix issue where profile settings cannot be saved on profile picture change
  • Inbox: Put overflowing buttons / tabs into dropdown menu
  • Inbox: Set assign button to nowrap
  • Inbox: Set flash message to nowrap
  • New @botsquad/sdk with longpolling reconnect fix
  • Platform: Revert "Switch to Bandit from Cowboy"

3.0.3 Bugfixes

  • Inbox: tweak button overflow menu
  • Inbox: fix default notification URLs

3.0.4 Bugfixes

  • Bubblescript: Fix line number on warnings and shorten the ambiguity warning
  • 360dialog: Fix defaulting of hosting_type
  • MS Teams AAD: Fix issue where email address could not be determined

3.0.5 Bugfixes

  • Cluster: bot processes were accidentally spawned during a release
  • CSP: allow all https frame ancestors for PWAs (e.g. outside the studio)
  • Studio: Hide inbox in app switcher when current bot has no inbox
  • Studio: Hide inbox change notice when studio inbox not enabled
  • Whatsapp: Allow choosing of hosting type when entering API key
  • Simplify node shutdown handler

3.0.6 Bugfixes

  • Runtime: fix issue where conversation did not always end up in inbox
  • Inbox: poll visibility API for away tracking
  • Inbox: fix issue about id-less notification handling, hide on click
  • Inbox: Fix yellow outline on MS teams in input bar

3.0.7 Bugfixes

  • Phone: only first ordered extension could be selected BOT-994

3.0.8 Bugfixes

  • Provisioning: allow additional fields in provisioning payload

Version 2.57.0

Released on 05-07-2023

New features

  • Audit log: Include skill updates in Audit log BOT-855
  • Audit log: add member invite, remove and role changes BOT-861
  • CMS: Allow front matter in markdown files BOT-873
  • CMS: Allow some developers to publish specific skills BOT-876
  • CMS: Implicit GPT-generated training sentences from markdown files BOT-874
  • Channels Improve UX of Premium Channels page BOT-832
  • Chore: Upgrade to OTP 26 / Elixir 1.14.5 BOT-864
  • Inbox: Liveview inbox on + app switcher BOT-868
  • Mobile: final app issues BOT-863
  • Runtime: QnA agent resolved only with resolve_qna_intents() BOT-718
  • Training: Change condition for showing the Training menu item BOT-851
  • Whatsapp: Option to disable re-engagement template BOT-794


  • Analytics: Duplicate tags in analytics report BOT-888
  • CMS: Set markdown editor to readonly when other user is editing the file
  • CMS: Refactor script preview placeholder component
  • CMS: Always load content definitions from db
  • Channels: Voice picker doesn't scroll for DE BOT-879
  • Flows: Save doesn't work in Speech Markdown text popup BOT-881
  • Management: Feature flag setting changes don't show BOT-884
  • Provisioning: Deleting pending MV3 orders seem to fail in Operator BOT-889
  • Provisioning: MV3: enable whatsapp template sending BOT-887
  • Studio: Change cookie name in preparation for domain name change

2.57.1 Bugfixes:

  • SSO: Fix error reporting for non-string errors
  • SSO: Remove custom SSL options from ueberauth_microsoft OAuth client
  • Studio: app switcher switches to agencies page when we were visiting an agency

2.57.2 Bugfixes:

  • Studio: Fix redirect loop BOT-902
  • Studio: Refactor allowed roles BOT-897
  • Flows: Fix issue in flow editor where condition cannot be removed BOT-827
  • Publish: Fix issue in QnA agent with bot reverting

2.57.3 Bugfixes:

  • CRM import: Phone number should not be cast to int BOT-926
  • Channels: Teams App zip file link is broken BOT-893
  • Chat widget: input seen by Lastpass as user/password field BOT-857
  • Help page: advanced tutorials not visible due to scroll BOT-920
  • LV inbox: Embedded inbox issues BOT-900
  • Management: Advanced settings add skill bot requires reload BOT-921
  • Management: Inbox link missing BOT-904
  • Studio: Delete bot doesn't always work BOT-925
  • Whatsapp: opt out state should be updated when user is updated BOT-924

2.57.4 Bugfixes:

  • Runtime: Fix crash loop BOT-923
  • Flows: Fix issue with crash when invalid flow condition was set
  • Inbox: Fix issue when opening conversation from deep link

2.57.5 Bugfixes:

  • Phone: Use fixed set of preferred voices when voice not configured
  • Whatsapp: Fix incorrect key when mapping whatsapp templates
  • Studio: Fix crash when filtering environments

2.57.6 Bugfixes:

  • Email channel: Fix email delivery
  • Logging: Send Bubble errors to Appsignal as Bubble.RuntimeError
  • Logging: Fix some Ecto.NoResultsError occurrences
  • Logging: Fix function clause error in dnsbl check due to empty peer
  • Logging: fix race in get_or_create_conversation
  • Logging: Omit remember / forget from session logging

2.57.7 Bugfixes:

  • Whatsapp: explicitly use onpremise hosting type for new whatsapp numbers
  • Whatsapp: Fix unable to send location pin

2.57.8 Bugfixes:

  • Do not pass intent-match annotations to the connected conversation BOT-973
  • Facebook: Fix connect issues related to CSP

2.57.9 Bugfixes:

  • Implement temporary global domain redirect ( ->
  • Builtins: use BotsiStudio.Inbox workflow event for escalate unassign BOT-976
  • Tokens: implement refresh token for Operator OAuth BOT-978

2.57.10 Bugfixes:

  • Whatsapp: Fix RPC timeout issue in escalation

Version 2.56.0

Released on 12-06-2023

New features:

  • Bubblescript: add base utility functions like Base64 encode, UUID BOT-829
  • Google Assistant: removed BOT-816
  • Liveview inbox: Add missing features for operators BOT-848
  • Liveview inbox: Add missing features to embedded chat BOT-805
  • Liveview inbox: Initial release of embedded version of the inbox BOT-828
  • Notes view teaks BOT-806
  • Skills: Alert developer users that newer skill versions are available BOT-847


  • Analytics: Tags are counted twice BOT-818
  • Bubblescript: GPT prompts on TextEditor never returning BOT-814
  • Inbox: Assign to me twice BOT-830
  • Login: Email not prefilled in sign-up form when entering from invitation URL BOT-826
  • Login: Password field not recognised by Lastpass BOT-820
  • Premium channels: create bot should take into account allowed front-ends BOT-831
  • Slack: Channel integration failing due to missing OAuth scopesBOT-834
  • Studio: Renamed file not accessible (before publish) BOT-808
  • Studio: Wrongly able to access members page BOT-825

2.56.1 Bugfixes:

  • Downgrade phoenix_pubsub due to presence tracking issue
  • Conversations: swallow close errors like before
  • New Inbox: Fix crash in theme switcher when no organisation was set

2.56.2 Bugfixes:

  • Bot Import: Regenerate all files on import
  • Chore: Fix regression test which is now stricter
  • OAuth: Fix token refresh for google
  • Runtime: Script parsing speedups
  • Runtime: Update phoenix_pubsub to latest
  • Studio: Fix having to click app switcher twice
  • Studio: Show organisation switcher when you have agency roles

2.56.3 Bugfixes:

  • OpenAI: Add 0613 model variants
  • Build: Fix language server crash in is_browseable

2.56.4 Bugfixes:

  • Studio: Change default operator status to available
  • Microsoft speech: change subscription key
  • Mobile inbox: fix opening app with conversation from push notification
  • Mobile inbox: Fix login issue for users with only 1 role
  • Mobile inbox: Fix z-index issues, unify caption rendering

2.56.5 Bugfixes:

  • Fix missing chat bubbles in Web chat with input picker

2.56.6 Bugfixes:

  • PWA: Tweak manifest
  • PWA: Consider all PWA properties in the sw checksum
  • PWA: Enable upscaling of small PWA manifest icons
  • CMS: Add mustache helper functions for value formatting

2.56.7 Bugfixes:

  • Allow pending orders to be deprovisioned BOT-889
  • Set allow_template_broadcasts for MV3 provisioning BOT-887

Version 2.55.0

Released on 21-05-2023

New features:

  • Studio: NPS widget (feature flagged) BOT-773
  • Integrations: generic oauth2 integration provider BOT-824
  • Builtins: support 'components' argument in whatsapp() function
  • Builtins: add link_user() function
  • Contacts: add 'merge users' option


  • Changing of username does not save BOT-812
  • Show spinner on bot remove dialog

Version 2.54.0

Released on 08-05-2023

New features:

  • Inbox: new LiveView based embeddable chat window (feature flagged) BOT-801
  • Notes: new LiveView based embeddable notes view BOT-427
  • SSO: Enable token-based SSO from Coligo desktop
  • Runtime: add bot.region (Add region setting in bot settings) BOT-772
  • Studio: Put script title in URL instead of script UUID BOT-787
  • REST: Extend conversation transcribe endpoint for voicemail use case BOT-797
  • Voice: Enable Microsoft TTS voices (feature flagged) BOT-246
  • Voice: use TTS coming from URL in Asterisk adapter BOT-246
  • Voice: use TTS audio files in separate GCS bucket BOT-799


  • Voice: Fix $no_input event missing on Asterisk adapter BOT-800
  • Flows: delete button doesn't work in collapsable nodes BOT-782

2.54.1 Bugfixes:

  • Phone: increase collector timeout to 10s
  • REST: Fix Audio transcribe endpoint for single-caller wav file
  • REST: Fix Audio transcribe endpoint with empty call date
  • Microsoft TTS: Handle non-SSML while adding voice to SSML

2.54.2 Bugfixes:

  • Facebook: Fix requested page scopes for Facebook Login
  • Flows: allow adding notes to flows
  • GPT: Better feedback on request timeout, increase timeout to 60 sec
  • Provisioning: Allow disconnect identifier from provisioning identifiers page
  • REST Add 'extra' parameter on transcribe endpoint
  • REST: Set default call_date on audio-transcribe request
  • Whatsapp: Change platform templates to UTILITY
  • Whatsapp: Set allow_category_change while creating platform templates

2.54.3 Bugfixes:

  • REST: Support data URLs in transcribe endpoint
  • Phone channel: Fix issue when collector blocks socket test to set up correctly

2.54.4 Bugfixes:

  • Whatsapp: Change default platform templates, again
  • Whatsapp: always create new API key when connecting
  • Whatsapp: support payload on quick reply buttons in templates
  • REST Transcribe API: always use MP3 as audio URL, add wait_for_completion=true
  • REST Transcribe API: Add 'locale' parameter, enable STT in multiple locales
  • Chores: fix CI tests
  • IDE: Fix Monaco worker path

Version 2.53.0

Released on 23-04-2023

New features:

  • Native support for OpenAI ChatGPT prompts and completions BOT-717
  • Add created_at and account_name to /admin/channels overview BOT-730
  • Add contract setting for usage of outbound marketing templates BOT-752
  • Make operator_status work globally instead of per organisations BOT-756
  • Contacts Import/Export: add external contact id BOT-770
  • WYSIWYG editor for markdown in CMS BOT-771
  • Rich text editor plugin for autocompletes (GPT) BOT-780
  • show contact cards BOT-781
  • Implement maxLength in Markdown editor BOT-784
  • GRID integration: First-class websocket phone channel BOT-786
  • Inbox Views: create setting to enable in studio settings BOT-790
  • Enable line wrapping in monaco editor BOT-792
  • Toggling feature flag removes all organisation settings under 'advanced' BOT-793
  • Edit manual orders BOT-796


  • Flows: delete button doesn't work in collapsable nodes BOT-782
  • Inbox Views: data is not loaded when editing existing view BOT-788
  • Notifications: fix notifications not arriving on default setting

Version 2.52.0

Released on 28-03-2023

The main improvements of this release are the addition of a brand-new notification system for the studio, and the refactoring / improvement of the NLP pipeline of the Bubblescript runtime.

Other changes include improvements to the management section to allow more insights in bot usage per order, a new CRM import preview dialog, and various other fixes.

New features:

  • Runtime: NLP pipeline BOT-719
  • Inbox: Add badge in main menu to draw attention to new notes and inbox conversations BOT-727
  • Inbox mention should only show relevant members BOT-775
  • Flows: Add undo BOT-695
  • Flows: DTMF option on labels + validation BOT-731
  • Notifications: Create notification area (dropdown UI) BOT-736
  • Notifications: Create notification preference page BOT-737
  • Notifications: Implement escalate notification BOT-738
  • Notifications: Implement mention BOT-739
  • Whatsapp: Add QR code to Whatsapp channel config screen BOT-728
  • CRM: Import/Export: detect , or ; BOT-763
  • CRM: Import contacts: add intermediate step to verify and correct data BOT-764
  • CRM broadcast: Make sure to not require the creation of a channel for Whatsapp or Phone when a is provided BOT-765
  • CRM: Cosmetic layout change, rename locale label to language
  • Mobile app: enable downloading of photos (media) by long pressing BOT-766
  • Management: Change the Account Plan enum BOT-758
  • Management: Show all orders that are not yet linked as a default order BOT-760
  • Management: Usage report for billing on manual orders BOT-768
  • Widget: Leave a message: overwrite existing user properties when provided BOT-777
  • Build: let 'run all tests' also run auto-generated tests
  • Build: Only highlight debug line when we are in the proper file
  • Build: better feedback when tests not found or fail to start

Maintenance issues:

  • Use OpenAPI validation for webhooks endpoints. BOT-729
  • Add 10_000 users limit to the bulk templates API BOT-744
  • Fix insert of conversation counts analytics
  • Build: reset language server after import


  • Normalize all user keys when creating bot channels BOT-761
  • WoW column does not show any results. BOT-748
  • embedded i18n fields don't show their content and validate false in flows BOT-749
  • Bubble testing is broken BOT-754
  • Bot crashes the browser when opening the flows BOT-694
  • Bot channel: refuse to join when frontend not found
  • Flows: remove unnecessary fields from flow definition

2.52.1 Bugfixes:

  • Notifications: always broadcast over the channel
  • Notifications: Send to users without delivery preferences
  • Bubblescript: Add describe_locale() builtin
  • NLP: Fix crash in word count when token value was a struct

2.52.2 Bugfixes:

  • Management: run provisioning directly for manual orders
  • Management: Add clear button to order picker widget
  • Management: Do not list archived orders as assignable
  • Management: Make order picker into a Select2 widget

2.52.3 Bugfixes:

  • Notifications: fix unable to set muted for non-superusers
  • Notifications: Fallback to default preferences
  • Provisioning: Fix edge case for account_id = 1
  • Studio: Fix news scraper
  • Runtime: New speechmarkdown (support lang, ipa, voice tags)
  • Management: Add inserted at and account to channels overview
  • Management: Omit deleted orders; deprovision sets order to archived

2.52.4 Bugfixes:

  • NLP pipeline: Do not cache the DF access token

Version 2.51.0

Released on 13-02-2023

  • Bubblescript: Add bml_escape function BOT-680
  • Bubblescript: Expose Bubble builtin modules as extension modules BOT-724
  • Inbox: Automatic translation for operator <-> user interactions BOT-700
  • KV: export doesn't work for large amount of rows BOT-715
  • Provisioning: Scope the order numbers to the order numbers of the account BOT-714
  • Runtime: short_link with TTL option for OTP cases BOT-721
  • Whatsapp: Change category for automatically generated platform templates BOT-723
  • Whatsapp: Create API for template broadcast and expand its capabilities BOT-696
  • Whatsapp: normalize user ID (prefix +) BOT-710
  • Bubblescript: Add module aliases for some builtin modules: Date, Array, Http, String, Map.
  • Bubblescript: Add the pipe operator, including IDE auto-completion

Maintenance issues:

  • Remove the sys endpoints BOT-722
  • Update Reactflow to 11.5 BOT-708
  • Update React JSON Schema Form to 5.0 BOT-709

2.51.1 Bugfixes:

  • Teams: Fix crash in conversations list (Make Accounts.get_users resilient against non-UUIDs)
  • Broadcast API: Fix crash during reporting of operator action

2.51.2 Bugfixes:

  • Flows: Fix issues with side panel data loading / saving BOT-749
  • Analytics: fix cronjob BOT-748
  • Runtime: support writing CSV files with write_script/2
  • BML: Fix single digits being recognized as emoji

2.51.3 Bugfixes:

  • Phone: Fix save button on the phone properties form
  • Whatsapp: Force users to use provisioned whatsapp extension, if any
  • Fix saving profile information when no profile picture is set
  • Flows: Fix crash while adding dial: smart node

2.51.4 Bugfixes:

  • Whatsapp: Change default reengagement template texts
  • Fix issues with forms no longer validating due to too much data passed in
  • QnA: Also copy model to published when cloning a bot

2.51.5 Bugfixes:

  • Fix Advitronics Microsoft tenant SSO token verification

2.51.6 Bugfixes:

  • Whatsapp: let whatsapp() builtin normalize the phone number
  • Include .csv extension for import template
  • Manage: Fix need to click twice on 'Open bot' button
  • Whatsapp: Selected platform template was not displayed correctly
  • Whatsapp: fix provisioning callback URL

2.51.7 Bugfixes:

  • Runtime: Prevent noproc errors from conversation_updated call
  • Inbox: add context menu for downloading images, audio, video
  • Implement 360dialog partner API webhook

Version 2.50.0

Released on 30-01-2023

New features:

  • Analytics: users and conversations API endpoints BOT-690
  • Bubblescript: Allow for more flexible DTMF support BOT-630
  • CMS: Replace handsontable with BlueprintJS Table2 BOT-669
  • Flows: fix concurrency lock, fix copypaste BOT-688
  • Flows: Add a button to preview speechmarkdown in the studio BOT-689
  • Management: Account owners should be able to configure Archive conversations after X days BOT-463
  • Management: Environment managers / account owner should be able to enable/disable 2FA BOT-462
  • Management: Insights into daily active operators to enforce seats limit BOT-668
  • Management: Quick bot activity indication analytics in administration pages BOT-684
  • Provisioning: Add Studio Provisioning OpenAPI docs BOT-686
  • Provisioning: Show raw account_name and wholesaler_name in order overview BOT-685
  • Provisioning: order workflow optimizations BOT-704
  • REST API: Tags to trigger webhook BOT-516
  • REST API: Webhook for mutations on user object BOT-647
  • SSO: Fix Microsoft Tenant issues BOT-687
  • Signup: Invites are automatically expired after 30 days BOT-414


  • Flows: Backspace bij lege tekst of ctrl-z zorgt voor error pagina in Dial:smart node BOT-683
  • Inbox: Clicking on "Conversations" button instead of swiping doesn't work on mobile BOT-691
  • Provisioning: order not always linked to channel BOT-707
  • Signup: Dont enforce the user limit during signup BOT-667
  • Skills: wrong code generated for flow after skill update BOT-562
  • Tests: Bubble turbo test fails deterministically BOT-693
  • Tests: Check if multiple submits in a test case works properly BOT-677
  • Tests: expect :close should check expecting messages on the already sent messages BOT-676
  • Tests: task __init__ doesn't work in tests BOT-389
  • Web widget: Input widgets don't render correctly BOT-706
  • Whatsapp: Remove auto reply check from reengagement and deflection templates BOT-682

2.50.1 Bugfixes:

  • Webhooks: Add X-Body-Signature
  • Webhooks: Support bearer token on webhooks
  • Provisioning: set default provisioning order ID on new contracts
  • Flows: Support paste on Firefox (ctrl-v only)

Version 2.49.0

Released on 09-01-2023

New features:

  • Allow removing users from management pages BOT-663
  • Bubblescript: Add max_unknown option to ask that results in answer == :continue BOT-607
  • Bubblescript: Expose ex_json_schema valid? function BOT-632
  • Bubblescript: Make error bubble BOT-631
  • Build: git integration fails when remote has no master branch BOT-641
  • CRM: Send template instead of broadcast button BOT-383
  • CRM: Improve CRM export and import BOT-656
  • Flows: speechmarkdown widget (Voice record or text input) BOT-522
  • Invite: Add checkbox to supress sending invitation email while creating invite BOT-660
  • Integrations: Ability to delete a KV entry BOT-626
  • SSO for Microsoft B2C auth (Advitronics) BOT-664
  • SSO: Add advitronics microsoft AD SSO BOT-661
  • SSO: provider 'skip signup form' using allowlist BOT-666
  • Signup: Automatically accept all invites by email after signup BOT-665
  • Whatsapp: templates of type "auto reply". This category doesn't exist anymore. BOT-653
  • Whatsapp: Handle shopping cart order message BOT-659
  • Whatsapp: Support 'product' and 'product_list' interactive messages BOT-658
  • Whatsapp: Support interactive messages BOT-624
  • Whatsapp: implement user.whatsapp_optout field that blocks outbound messages BOT-636
  • Whatsapp: change number of channels allowed by client in 360dialog BOT-620


  • API: When event REST endpoint is called with GET, assign payload to nil BOT-645
  • Bubblescript: expect :close fails BOT-657
  • I18n field tweaks BOT-639
  • Inbox: conversations sometimes require reloads BOT-654
  • SSO: Fix Operator Oauth for integration usage BOT-627
  • Studio: better warning for empty main file BOT-618
  • Web Widget: fix embed code so it can be used in the <head> BOT-622
  • Whatsapp: Support parameters when sending a whatsapp template BOT-595
  • Whatsapp: adapter should retry and handle 360dialog API errors more gracefully BOT-652
  • Content: Translations in translation(xls) ui hangs BOT-648

2.49.1 Bugfixes:

  • Inbox: fix duplicated actions
  • Inbox: remove infinite load

2.49.2 Bugfixes:

  • Flows: Node UI labels in links wrong language when single language in UI BOT-615
  • Bubblescript: tag in on_before task breaks ask timeout BOT-672
  • Bubblescript: Asserting tags in tests BOT-670
  • Bubblescript: optional parameters on ask should be ignored when nil BOT-673
  • Whatsapp: Report errors as delivery status "failed" BOT-674
  • Email: Optionally encode conversation identifier in the public email address BOT-675
  • Voice: Add outgoing SIP headers to Asterisk golang adapter BOT-621

2.49.3 Bugfixes:

  • Flows: Bubblescript input control

2.49.4 Bugfixes:

  • Studio API: Allow inviting for multiple roles
  • Skills: always generate files during skill upgrade

2.49.5 Bugfixes:

  • Skills: add reload button to toolbar
  • SSO: Fix Ueberauth callback for runtime-defined providers

Version 2.48.0

Released on 11-12-2022

New featues:

  • Landing page for orders from operator BOT-525
  • Studio: Reported GraphQL Error messages are now less technical and contain an ID for later reference.
  • Make the various environment pickers consistent BOT-613


  • Performance and usage improvements for the admin pages BOT-625
  • Provisioning order check: only show spinner when loading
  • SSO: propagate 'p' parameter
  • Operator SSO: Provide better error message when Operator API request fails
  • Oban: configure and use cron queue for the nightly jobs

2.48.1 Bugfixes:

  • Manage: Remove related invites when removing an environment
  • Provisioning: allow multiple whatsapp channels
  • Provisioning: Force external identifiers on max 255, truncate order label
  • Provisioning landing: Change wording when wholesaler not onboarded yet
  • Analytics: Fix crash in unmatched utterance export
  • Operator SSO: Change user info endpoint, fix oidc usage warning
  • Fix script serializer to generate code when data is not equal to nil
  • Bubblescript: Allow compressed responses (Content-encoding gzip/deflate)
  • Bubblescript: Support return value argument to continue

2.48.2 Bugfixes:

  • Widget: Form doesn't render submit button within widget panel BOT-609
  • Inbox: text search broken for counts query BOT-637
  • Provisioning: improve the order overview, add connection status icon
  • Provisioning: fix the assumption about existing provisioning identifiers
  • Whatsapp: Do not crash on delivery status for unknown conversation

Version 2.47.0

Released on 4-12-2022

New features:

  • Bubblescript: BML: Ignore tokenizations with entities if the query is not requesting them BOT-604
  • Bubblescript: Offer a function to enable iterating through all files in a folder during migration BOT-606
  • Manage: Add Delete agency button BOT-608
  • Manage: Add button Move Environment (to other account) BOT-617
  • Runtime: Add CDR records BOT-279
  • Phone: Add headers option to the call control statements BOT-577
  • Studio: Add request access screen for users to access environments through deep links BOT-579
  • Bubblescript: Improve primitives for testing BOT-582


  • Make the "Create agency" button create the correct accounts BOT-600
  • Skills: Disabled skills are not disabled in tests BOT-563
  • Training: empty training phrase causes save to keep spinning BOT-569
  • Teams: Attachments don't show in Teams history at conversation opening BOT-598
  • Bubblescript: Don't let date_parse() explode BOT-611
  • Flows: Translation button doesn't appear in flows BOT-614
  • Manage: Move environment doesn't show empty agencies BOT-616

2.47.1 Bugfixes:

  • Fix React state management issue with ColumnNavigator

2.47.2 Bugfixes:

  • Fix issue where bot chooser contents was not editable

2.47.3 Bugfixes:

  • Phone: only match BNS in bot lookup when it has a bot ID configured
  • Phone: translate 'not found' message in dutch
  • Provisioning: Better label for MV3 orders
  • Inbox: Optimize folder counts by showing less more quickly
  • Inbox: Fix issue where message drafts were saved in all conversations

2.47.4 Bugfixes:

  • Billing: Do not create charge entries for studio / test sessions
  • CDR: Align SFTP worker with voiceworks SFTP server

Version 2.46.0

Released on 13-11-2022

New features:

  • Flows: add default labelled links when creating node BOT-570
  • Integrations: Add export to the KV store BOT-267
  • Bubblescript: Capture utterances including user choice * BOT-576 - Move environment BOT-509
  • Studio: Implement TOTP two-factor auth BOT-547
  • Whatsapp: Support receiving contact cards as fallback text message BOT-585


  • Flows: condition should not allow empty tag list BOT-567
  • Build: Enable the noUncheckedIndexedAccess Typescript flag BOT-541
  • Studio: bot selector dropdown should show 'name in studio' BOT-560

2.46.1 Bugfixes:

  • Appsignal not loading BOT-587
  • Language server regression with new 1.14.2 / OTP 25.1 BOT-589

2.46.2 Bugfixes:

  • Build: Allow debugging the master process BOT-581
  • Flows: Sometimes markdown shows in the UI template BOT-568
  • Flows: Numeric input explodes in Preview using sandbo channel BOT-573
  • Whatsapp: media download error crashes BOT-596

2.46.3 Bugfixes:

  • Whatsapp: Fix issue with creating API key while onboarding

2.46.4 Bugfixes:

  • Inbox: Fix operator messages appearing on wrong place in conversation
  • Inbox: Do not let tag messages through when filtered out
  • Inbox: Fix undefined de-escalation user name in toast notification

2.46.5 Bugfixes:

  • Provisioning: Implement infinity provisioning orders

Version 2.45.0

Released on 25-10-2022

New features:

  • Flows: Easier sandbox preview for phone / whatsapp channels BOT-519


  • Studio: Clone a bot: make bot name required BOT-506
  • Studio: Inheritance of bot templates incorrect BOT-520
  • Administration: Environment manager should be able to see Settings / Extra options BOT-528
  • Administration: User limit on members page is too strict BOT-533
  • Administration: Deleting an environment from the manage environments page shows a 404 after the reload BOT-534
  • Flows: Creating a new bot should not give an error BOT-537
  • Flows: Wrong language rendered BOT-539
  • Flows: exclude reserved names to be used as variables in 'assign to' in flow_schema BOT-529
  • Flows: change dialog names when script is renamed
  • Flows: fix wrongly generated filename when installing a skill
  • Flows: fix green 'running' indicator by looking in the dialog stack
  • Build: Remove resume points BOT-521
  • Channels: Deprecate Twilio Voice BOT-527
  • Inbox: Fix error when loading conversation link for deleted conversation BOT-530
  • Chore: Delete unused tmp_runtime_users table BOT-532
  • Chore: Upgrade to Elixir 1.14

2.45.1 Bugfixes:

  • Inbox: Fix JS crash, reading caption of undefined
  • Inbox: Fix JS crash, reading templatePreview of undefined

2.45.2 Bugfixes:

  • Bubblescript: inconsistent event behavior BOT-538
  • Environment: Advanced settings form shouldn't be cashed BOT-546
  • Flows: Collapsing the script preview sidebar breaks the "Start" button BOT-542
  • Flows: Force save when clicking play BOT-550
  • Flows: Removing a node fixes the link between the surrounding nodes but doesn't show it until scrolling. BOT-553
  • Flows: attribute red styling but no issues BOT-548
  • Flows: drawing lines needs to go to title bar otherwise does not work BOT-549
  • Runtime: BotsiWeb.StateStorage cleanup BOT-420
  • Studio: Agent role see bots with inbox enabled only BOT-311
  • Studio: Always show app switcher for agency managers BOT-555
  • Studio: Cloning bot with QnA should not train it after first publish BOT-552
  • Studio: Remove role column from accounts_roles BOT-544
  • Telephony channel: Save button doesn't enable at changes BOT-401
  • Training: Access denied on training as non developer BOT-551
  • Training: Producer should be able to use training section and create intents. BOT-554

2.45.3 Bugfixes:

  • Whatsapp: Enable integrated onboarding also outside of operator provisioning BOT-558
  • Training: Change of intent name in advanced panel allows spaces which it shouldn't BOT-564
  • Flows: sidebar: check 'deep' fields as well not only toplevel i18n fields BOT-559
  • Administration: Error in Administration > Channels list BOT-566
  • Bubblescript: fix parser crash in invalid 'show' options

Version 2.44.0

Released on 17-10-2022

New features:

  • Inbox: Never ending conversation scroll BOT-410
  • Inbox: De-escalate when conversation is assigned BOT-432
  • Inbox: show last operator for new conversations BOT-438
  • Email: Replace cid: links in HTML full_body with data URLs or GCS links BOT-510
  • REST API: Create endpoint to retrieve a single action BOT-511
  • Flows: Tag picker control: let "Add" button actually add the tag to tags.yaml BOT-514
  • Flows: Ability to force front-end in preview BOT-518
  • Flow improvements / content split out BOT-523
  • Flows: Visually improve flow condition widget BOT-524
  • Provisioning: Channels on environment level BOT-425
  • Provisioning: Whatsapp channels should always be provisioned through the environment BOT-469


  • Notes: Allow Mark as Done on Notes for Operators and Producer roles BOT-517
  • Build: Generate correct type for UUID scalar in GraphQL BOT-484

2.44.1 Bugfixes:

  • Fix autocomplete for access expression
  • Flows: disable notes
  • Environment: Add filter to members / invites lists
  • Flows: Only allow graph shortcuts when graph is focussed
  • Inbox: fix crash when displaying deleted messages
  • Inbox: Fix crash in displaying user events in conversation history

2.44.2 Bugfixes:

  • Inbox: Fix missing history when switching conversations
  • Member list: Fix unique key on roles list
  • REST API: Use Elasticsearch search query to retrieve action by ID

Version 2.43.0

Released on 03-10-2022

  • Inbox: Download one or more files from media tab BOT-459
  • Inbox: Team message wakes up the bot BOT-474
  • Flows: Channel picker improvements BOT-498
  • Flows: Allow multiple entry nodes BOT-495
  • Flows: add 'jumps' BOT-496
  • Whatsapp: improve whatsapp template sending API BOT-479
  • Whatsapp: Asynchronously augment sent whatsapp template with its text BOT-487
  • Whatsapp: Reduce nr of 360 calls while sending message BOT-488
  • Builtins: Add get_phone_number_type BOT-455
  • Builtins: Add phone_format BOT-447
  • Builtins: phone_parse default country code improvement BOT-444
  • Administration: Provisioning API enhancements BOT-467
  • Administration: Add create agency button in administration BOT-481
  • Administration: Remember environment when switching from studio to administration BOT-482
  • Administration: Bots table should prefer the label over title BOT-483
  • Training: Add intent library BOT-489
  • CI: Add credo for static code analysis BOT-460

2.43.1 Bugfixes:

  • Chore: curator remove type name
  • Fix infinite crash loop when retrieving a token from a nil value
  • Chore: add elasticsearch reindex definitions

2.43.2 Bugfixes:

  • Try to add filename extension if it's missing for media download
  • Fix unable to edit integration secrets
  • ElasticsearchLogger: only sleep within await after we actually indexed
  • SMTP: Reject connections with invalid peername
  • Elasticsearch: prevent crash in caller when ES logger is clogged

2.43.3 Bugfixes:

  • Accept account_uuid and wholesaler_uuid in provisioning

Version 2.42.0

Released on 19-09-2022

New features:

  • Build: Switch script editor from Ace to Monaco BOT-409
  • Build: Add editor improvements, autocompletion, inline documentation, type hints BOT-424
  • Build: Enable "force train" for developers BOT-440
  • REST API: Add rate limiting to conversation endpoints BOT-396
  • Administration: Agency view in admin BOT-443
  • Administration: Extension provisioning API BOT-386
  • Inbox: Replace normal chat text input with remirror BOT-256
  • Notes: Show all media in conversation in notes BOT-428
  • Runtime: Support [phone] in speech markdown BOT-445
  • Build: Attach debugger / insights into bot process state after the call BOT-419
  • Whatsapp: Copy 360dialog key (integrated signup flow) BOT-426
  • Bubblescript: Add 'return' statement to Bubblescript BOT-453


  • Inbox: Fix media tab on production and remove feature flag BOT-392
  • Bubblescript: close function crashes tests BOT-403
  • Runtime: text_to_speech doesn't work in tests BOT-436
  • Training: Training isn't automatically started at publish BOT-441


  • Studio: BluePrintJS upgrade naar versie 4 BOT-429
  • Studio: Reduce the studio bundle size BOT-411
  • CI: Make tests run with async: true BOT-306

2.42.1 BugFixes:

  • Bubblescript: tag side effects ask BOT-402
  • CMS: Remove dashboard page from menu for Content Manager roles (only) BOT-461
  • Flows: no i18n in flows when single language is selected BOT-475
  • Flows: Removing a flow should result in removing the generated file too BOT-465
  • Flows: the flow order changes all the time BOT-466
  • Flows: flow control: show ui template when specified BOT-473
  • Flows: generate 'normal' dialog name as well for flow with system dialog set
  • Flows: When a Flow YAML is not valid schema, do not let rendering crash
  • Bot settings: Fix alignment issue in locale selector with formal locales
  • CMS: Tweak form CSS vertical margins

2.42.2 Bugfixes:

  • Channels: Fix web widget preview layout
  • Channels: phone number could not be selected from pool
  • Flows: fix publish error due to duplicate removal of generated script

2.42.3 Bugfixes:

  • Downgrade decamelize to fix studio not working on Sarafi / iOS
  • Teams: Fix showing initial message in inbox history card

2.42.4 Bugfixes:

  • Whatsapp: Increase timeout for 360dialog partner API requests
  • Whatsapp: Remove WA contact verification from BotServer startup
  • Web chat: allow any value as default value in form input
  • Email: Set a higher maximum size on received emails
  • REST API: Remove special 'frontend not configured' error tuple
  • Analytics: fix date range filter

2.42.5 Bugfixes:

  • Flows: Allow removing a flow from the flow picker
  • Flows: implement channel guards
  • Flows: pick channel from allowedFrontends, hide when not applicable
  • Web chat: Fix non-object default values in form
  • Web chat: Fix crash in phone number input
  • Channels: put sandbox behind feature flag

Version 2.41.0

Released on 24-08-2022

New features:

  • New 'administration view which shows an overview of all bots, environments, accounts, users and channels BOT-315, BOT-316,BOT-318, BOT-363
  • Inbox: Allow chatting with customers using an alias instead of real name BOT-333
  • Whatsapp: Implement 360dialog partner-integrated onboarding flow BOT-397
  • Phone: Add announce option to 'dial' BOT-400
  • REST API: Add conversation and user data as snapshot to notes endpoint BOT-364
  • Email channel: Re-implement channel transport using SMTP send/receive BOT-235

Bug fixes:

  • Update Elixir dependencies BOT-309
  • Remove redundant Elixir code in base bots BOT-365
  • Oauth link to conversation based on redirect instead of cookie BOT-405
  • REST: Fix that webhooks could not be changed BOT-406
  • Bubblescript: Allow elixir functions to overwrite builtins BOT-408
  • Web chat: Option on item picker multi-select: to make last item exclusive BOT-413
  • Studio: Nicer messagewhen max contract users reached on invited users BOT-415

2.41.1 Bugfixes:

  • Builtins: add missing locales to text_to_speech BCP47 function
  • Password reset: expose password error message
  • Studio: Prevent EULA / news popups to show excessively

2.41.2 Bugfixes:

  • Whatsapp: fix display of phone number in studio

2.41.3 Bugfixes:

  • Inbox: scroll to bottom on new messages and show new message indicator
  • Inbox: show operator name / pic when 'as:' option is attached to say
  • Build: Allow developers to force train a bot
  • Build: Set training flag when updating intents_from scripts
  • Support [phone] annotation in speech markdown

Version 2.40.0

Released on 04-07-2022

New features:

  • Inbox: add attachments and locations to transcript BOT-329
  • Inbox: Image popups in conversation history
  • Inbox: Contacts media overview in sidebar BOT-355
  • Inbox: Ability to paste images in input bar when replying to chat in inbox BOT-369
  • Inbox: Initiating a conversation starts it in joined mode BOT-371
  • Inbox: Add button to send a file attachment
  • Inbox: Add whatsapp templates button to joined conversation controls
  • Bubblescript: Change the Bubble run_from behaviour so main is always invoked BOT-282
  • Bubblescript: add function text_to_speech(sentence, locale) which returns url to audio BOT-354
  • Bubblescript: Add missing invoke internal dispatchers (invoke location: location etc.)
  • Platform: Security report tickets BOT-336
  • Platform: Add liquid as template engine BOT-350
  • Platform: Remaining security issues from pentest BOT-351
  • PWA: When pwa splashscreen is configured it should continue the g param when proceeding and not change it to main BOT-358
  • Flow: Ability to change the ui_schema of flow type properties in a variant BOT-356
  • Flow: allow ordering of types / variants BOT-359
  • CMS: Add giphy picker to image picker CMS widget BOT-360
  • Contacts: Add locale picker when creating a contact


  • Bubblescript: "as:" property of first message in new conversation is showing last operator instead of current operator in web widget BOT-301
  • Bubblescript: parse error Elixir when using _ BOT-348
  • CMS: Location picker widget not working BOT-239
  • Inbox: Operator should be able to "Add contact" BOT-368
  • Inbox: hide channels button for non-superusers
  • Phone: change builtin $hangup event implementation to close the conversation
  • Platform: Make language configurable at bot creation BOT-349
  • Flows: Temporarily disable the linear flow view

2.40.1 Bugfixes:

  • Fix issue with bot process migration between feature release

2.40.2 Bugfixes:

  • Studio: Make studio work on Safari (CSP header fix, JS Intl polyfills)
  • CRM: Do not show 'start conversation' button when inbox is not enabled
  • Inbox: Show message text in conversation history even if it has an intent
  • Inbox: Put user media tab behind feature flag
  • Runtime: New sworm version, prevent errors in redirect bot
  • Runtime: ensure_session with non-existing bot gracefully fails
  • CI: Fix hangouts chat channel test
  • CI: Fix failing redirect tests

2.40.3 Bugfixes:

  • CMS: Whatsapp template picker groups available templates by name
  • CMS: Disable save button as soon as nothing needs to be saved
  • Inbox: Fix issue where inbox facets were stuck when switching bots
  • Inbox: Make facets more clear, move 'all' below inbox facets
  • Inbox: send picked images as images from the 'file' button
  • Whatsapp: Strip extra spaces / newlines from template parameters
  • PWA / widget preview: Fix crash due to missing CSP studio endpoint module
  • Security: Allow blob: in img-src CSP
  • Telegram: Fix incoming webhook and add tests

2.40.4 Bugfixes:

  • Whatsapp: Wrap outgoing media in reengagement template when required
  • Whatsapp: ignore sync presence error when handler process went away
  • Session startup: do not warm all bot caches

2.40.5 Bugfixes:

  • Studio API: Add extension provisioning endpoints

2.40.6 Bugfixes:

  • Remove CSP headers as these are cause for a lot of issues

2.40.7 Bugfixes:

  • New bubble_match
  • Whatsapp: Order platform templates dropdown by name
  • Whatsapp: force create default platform template
  • Whatsapp: show spinner while platform templates are loading
  • Stats: Enable per-host metrics for outbound HTTP requests (Hackney)
  • Office hours / profile: Use own time picker instead of Blueprint's
  • Show Genesys ICWS channel in "inbox channels" section

2.40.8 Bugfixes:

  • Settings: Fix access denied check on inbox views for non-producers
  • Settings: Fix access denied error for Producers on opening hours
  • Slack inbox: Fix correct EVA Slack app ID

Version 2.39.0

Released on 14-06-2022

New features:

  • REST API: Notes endpoint BOT-330
  • Inbox: add attachments and locations to text transcript
  • Show that skills can be updated in bots overview BOT-337
  • Whatsapp: Buttons to (re)create default templates (re-engage & deflection) BOT-344
  • Flows: General improvements to flow editor


  • Native app: Fix SSO BOT-338
  • Whatsapp: Same user on redirected and normal will always forward to redirected BOT-343
  • Flows: editing moves cursor to end after every key stroke BOT-342
  • Runtime: Parser speedup by using json_content column BOT-334
  • Flows: default values not automatically selected BOT-339
  • Flows: can't switch variant after created BOT-340

2.39.1 Bugfixes:

  • Phone: Fix determining locale for >2 digit country code (e.g. Finland)
  • Platform: set bot defaults for essential fields
  • Skills: fix typography in readme popup
  • Skills: fix issue where skill with generator was unable to be installed
  • Facebook: Fix regression in messenger webhook

2.39.2 Bugfixes:

  • Fix issue where flows skill was unable to install

Version 2.38.0

Released on 07-06-2022

New features:

  • Signup: Ease signup flow for new operators BOT-169
  • Whatsapp: use presence for 24 hour window BOT-308
  • Whatsapp: Template picker control for CMS BOT-182
  • Whatsapp: Remove Gupshup and Twilio adapters BOT-322
  • Tags: Use two inputs for creating tags in a tag group BOT-312
  • Analytics: Allow for prefix matching kpi tags BOT-313
  • Studio: Rebrand the studio BOT-332
  • Studio: Search on Everything screens BOT-317
  • Studio: Notes overview in studio BOT-296
  • Runtime: Serialize data script YAML files as JSONB in postgres BOT-290


  • CMS: Save button gets disabled BOT-326
  • Skills: task before: :install runs for each skill and not only for to-be-installed skill BOT-327
  • REST API: Webhook 4xx reponses should not be retried BOT-328
  • Studio: Fix responsiveness on tablets BOT-331

2.38.1 Bugfixes:

  • Studio: Fix constraint error when adding already existing user
  • Notes: fix note ACL checks
  • App: Add route for SSO login, fix SSO on mobile app

Version 2.37.0

Released on 24-05-2022

New features:

  • Studio: Send disconnect instead of reloading when assuming a role BOT-277
  • Bubblescript: add function to test if a variable is an integer BOT-295
  • Inbox: Add agent role BOT-303
  • REST API: Add channel to conversation analytics data BOT-300
  • REST API: Add webhook when note created BOT-283
  • REST API: Add webhook CRUD endpoints BOT-285
  • Platform: Implement webhook retry mechanism using Oban BOT-286
  • Signup: require to confirm email after regular signup BOT-298


  • CMS: Invalid form shouldn't be saveable BOT-281
  • IDE: syntax highlighting __init__ BOT-310
  • Fix OAuth error on token expiry BOT-289

2.37.1 Bugfixes:

  • REST API: Fix outgoing webhook for user actions

2.37.2 Bugfixes:

  • Platform: Fix issue when Elixir module was compiled inside transaction
  • Platform: Fix issue with reporting Oban exceptions

2.37.3 Bugfixes:

  • Remove cache distribution to other nodes

2.37.4 Bugfixes:

  • Fix for keeping sessions for anonymous callers

2.37.5 Bugfixes:

  • Inbox: Fix issue where agent roles leaked across environments
  • Inbox: Fix deep link to inbox conversation
  • CMS: Fix issue with save button staying disabled

2.37.6 Bugfixes:

  • Add support for push registrations and navigation in native app

2.37.7 Bugfixes:

  • Inbox: Add Apple App site association for mobile app
  • Inbox: Fix issue with inbox facets not loading on mobile

Version 2.36.0

Released on 13-05-2022

New features:

  • Whatsapp: Show text content from sent whatsapp template BOT-260
  • Runtime: Strip __struct__ from messages leaving the platform BOT-132
  • Runtime: Date functions to accept "YYYY-MM-DD" format BOT-134
  • Runtime: In place update of field in record BOT-202
  • Runtime: Per-bot key/value store BOT-259
  • Runtime: Expose bot.frontends variable and {{bot}} variable in migrations BOT-287
  • Runtime: add task __init__ BOT-268
  • Web widget: QR code in closing control BOT-214
  • Analytics: Only show KPI tags in hover graph BOT-133
  • Channels: Bring-your-own Mailgun account BOT-128
  • Channels: Remove feature flag for multiple inboxes on external channels BOT-271
  • REST API: Conversations summary API endpoint BOT-284


  • Inbox performance BOT-213
  • Dialog / task browser BOT-243
  • Tags starting with number result in strange tags BOT-244
  • Whatsapp QR link doesn't work anymore BOT-280
  • Perform fewer studio rerenders by updating useSelector BOT-261
  • Improve GraphQL performance BOT-262
  • Conversation should be readable without write permissions BOT-272
  • Close user's sockets after updating that user BOT-273
  • Less privileges on Operator role BOT-274

2.36.1 Bugfixes:

  • Web client: Fix crash in close control without button
  • Inbox: Fix too broad web-client CSS rule for annotation font size
  • Bubblescript: "invalid function call" was reported in some edge cases
  • Bubblescript: Cleaner rendering of "invalid function call" errors

2.36.2 Bugfixes:

  • Whatsapp: Fix splitting name with newline BOT-294
  • Whatsapp: Add reporting metrics to 360dialog calls
  • Studio: Gracefully handle temporary OIDC errors BOT-297

Version 2.35.0

Released on 21-04-2022

New features:

  • CMS: Add create option in Tag picker BOT-241
  • CRM: Export to Excel instead of CSV BOT-217
  • Email: Middleware to transform normal text messages into proper email templates BOT-223
  • Inbox: Conversation sidebar should be collapsible BOT-204
  • Inbox: Make inbox conversation counts relative BOT-196
  • Inbox: Make the conversation detail actions a menu BOT-211
  • Inbox: Showing activity (new messages) on conversation BOT-194
  • Inbox: Team Chat BOT-210
  • Inbox: Mentioning colleagues to add them as watchers BOT-193
  • Inbox: Watch conversation BOT-209
  • Runtime: Send WhatApp template from Bubblescript BOT-236
  • Whatsapp: truncate too long strings and lists of items BOT-183
  • Flows: Add entry node type
  • Flows: easier creation of nodes by dragging links


  • Runtime: BML regex not working BOT-111
  • CRM: Apply filter to Export BOT-216
  • Visitors: Live view is broken BOT-229
  • Training: Learning tab keeps spinning BOT-231
  • Inbox: click to unset inbox filters BOT-251
  • Inbox: replace react-rte with remirror BOT-222
  • Inbox: hide sensitive information in HTTP dialog BOT-137

2.35.1 Bugfixes:

  • CI: Add locales to docker image

2.35.2 Bugfixes:

  • Email channel: Bring-your-own Mailgun account BOT-128
  • Runtime: whatsapp() should use integration token BOT-258
  • Inbox: Remove feature flag for multiple inboxes on external channels BOT-271
  • Inbox: Conversation should be readable without write permissions BOT-272

Version 2.34.0

Released on 31-03-2022

New features:

  • CMS: Improve flow editor with a graphical node editor view
  • Inbox: Improved inbox layout for better filtering of conversations
  • Inbox: Added 'custom views' to inbox filters
  • Runtime: Introduce 'redirect' keyword; allow redirecting on location and attachment, allow tag: keyword


  • Whatsapp: item_picker: use button_label for button caption
  • Whatsapp: use templates from the adapter of the originating conversation
  • Runtime: fix waking redirected conversations up from inbox
  • NLP pipeline: Do not strip markup unless we are testing

2.34.1 Bugfixes:

  • Actually merge develop branch

2.34.2 Bugfixes:

  • Put new inbox escalation link behind environment feature flag
  • Studio: show new release popup and reload browsers when studio has upgraded

2.34.3 Bugfixes:

  • Inbox: hide HTTP requests from inbox when annotations are not shown
  • Inbox: Remove duplicate history on socket disconnect
  • Inbox: white background for the conversation list
  • Inbox: fix unset delivery status flag, remove obsolete GQL fragment
  • Inbox: support retrieving upload url through conversations channel
  • Inbox: fix showing delivery status flags
  • Inbox: render current channel in conversation details
  • Inbox: show the channel icon in the user conversations list
  • Admin: fix scroll in tags / bots picker popover
  • Sandbox: Allow :crypto.hash functions in Elixir

2.34.4 Bugfixes:

  • Whatsapp: make item picker work inline (BOT-220)
  • Whatsapp: set preview_url parameter (BOT-225)
  • Email: add full_body_mime to message data (BOT-129)
  • Email: Allow request payloads of up to 50 MB (BOT-185)
  • UI: Fix automatic scrolling in large popovers (BOT-219)
  • Nudges: add within_office_hours variable (BOT-221)
  • Contract settings: fix developer setting (BOT-203)
  • Widget: Fix nudge width on mobile (BOT-174)
  • Inbox: fix conversation scroll / infinite loading (BOT-200, BOT-205)
  • API: Distribute cache amongst nodes for memoized branch collector response
  • Inbox: fix crash with empty cc / bcc in conversation history
  • PWA: Add ua_tracking_id as allowed yaml value

2.34.5 Bugfixes:

  • REST API: Add channel type to webhook payload (BOT-226)

2.34.6 Bugfixes:

  • Phone: Accept 'onbekend' as anonymous number
  • Inbox: retrieving WA templates should not show error when WA is no longer connected
  • User lookup: Ensure the requested user_frontend exists

Version 2.33.0

Released on 14-03-2022

JIRA overview

New features:

  • A new way of writing conversations using the graphical Flow editor
  • Improvement of inbox filtering syntax
  • Allow filtering by channel in search box
  • Configurable fields for conversations in the inbox sidebar
  • Tag groups are now of type single/multiple/bare
  • Add transcribe function to bubble builtins
  • Make conversation channel compatible with @botsquad/web-client
  • Improve new conversation button


  • Allow invalid studio.yml while importing
  • Utterances scrolling
  • Do not crash bot channel terminate when live_debug is not set
  • Whatsapp: show loader while channel is connecting
  • CMS drag and drop stopped working after IDE panel size change
  • Whatsapp: feature matrix: added max 10 items to message for item picker

2.33.1 Bugfixes:

  • Fix issue with bot publishing when generated files were present

2.33.2 Bugfixes:

  • Support Swedish in UI
  • Fix issue with template bots setting
  • Remove hideInput from redux, no longer needed by @botsquad/web-client
  • Prevent crash when template bots setting is nil
  • New @botsquad/web-client
  • Allow redirect to external page after SSO

2.33.3 Bugfixes:

  • Whatsapp: create conversation always creates 'main'
  • Whatsapp: conversation is always initiatable
  • Remove generated scripts only from GraphQL
  • Conversation fulltext search on studio columns

2.33.4 Bugfixes:

  • CMS: Do not clean up orphaned scripts for now
  • CRM: Add email and phone to add user dialog
  • CRM: Allow operators to create users
  • Inbox: Conversations list is shown according to selected inbox tag
  • Inbox: Make data/tags button visible for everybody
  • Whatsapp: Re-engagement message also sent for new conversations
  • Only automatically delete generated bubblescript
  • Conversation not loading on refresh

2.33.5 Bugfixes:

  • CRM: Initiate conversation now normalizes Whatsapp number
  • CRM: Add user now shows side panel after user create
  • Runtime: Prevent hard crash when xml_parse fails

2.33.6 Bugfixes:

  • Move bot activitylog test
  • Add activity log entries when moving bots between environments
  • Build: False "This bot contains errors" message
  • Whatsapp: send template text along to be able to render it

2.33.7 Bugfixes:

  • Studio: Fix Safari by downgrading decamelize
  • CI: Use multi-project pipeline for triggering integration tests

2.33.8 Bugfixes:

  • Extend sip registration pool enum, fix retsiger provisioning API

2.33.9 Bugfixes:

  • New BML to fix issue with regular expression matching

2.33.10 Bugfixes:

  • Whatsapp: Fix regression with locale_override parameter

2.33.11 Bugfixes:

  • Added 'tag' and 'message' options to conversation redirect
  • NLP pipeline: Do not strip markup unless we are testing
  • New MS Teams CI token

Version 2.32.0

Released on 21-02-2022

JIRA overview

New features:

  • Web client: New Date picker input method for selecting a single date
  • Web client: New Date picker form widget for selecting a date inside a form
  • Bot developers can now attach the debugger to a running conversation to gain insight in how the bot is behaving on "live" conversations.
  • New settings screen to define groups of tags for a bot. For each tag group it is possible to specify where it should be displayed: in the analytics section, on the dashboard or in the conversation sidebar. The studio inbox as well as any external inboxes (MS Teams) are now divided into sections based on the Inbox tag group.
  • A new tag_picker CMS widget can be used now to pick any tag that is defined in the Tags settings.
  • On the environment members list it's possible to specify which user gets notifications of escalations of which inbox.
  • Skills can now perform a Bubblescript task when they install using task migrate_to: :install
  • Whatsapp: When you connect the Whatsapp channel, it will automatically create reengagement templates that it will use when an operator engages with an expired conversation.
  • Inbox: render all details from sent and received emails
  • Added a channel feature matrix; work-in-progress, not all channels are documented yet.
  • Bubblescript: implement extract_all/2 function
  • Bubblescript: add typeof/1, string?/1, map?/1, list?/1


  • Text transcript: fix message times
  • Pressing save on the identity page when the bot title was empty would crash the studio
  • Email: Fix issue with email encoding in recipients list
  • Email: Change email input control to react-rte
  • CRM: phone field is now also searchable in the contacts section
  • Refactor internal JSON schemas
  • Whatsapp: Don't start process when contact verification fails
  • MFA: Store code in cache instead of session

2.32.1 Bugfixes:

  • Fix incorrect JSON schema for studio office hours

2.32.2 Bugfixes:

  • Fix typo in email labels schema

2.32.3 Bugfixes:

  • Fix Issue with QnA not training when negative utterances present

2.32.4 Bugfixes:

  • Increase timeout for HTTP requests to 360dialog and MS teams

2.32.1 Bugfixes:

  • Settings: Incorrect JSON schema of office hours

2.32.2 Bugfixes:

  • Remove old tag icon in migrate script
  • Fix typo in email labels schema

2.32.3 Bugfixes:

  • Issue with QnA not training when negative utterances present

2.32.4 Bugfixes:

  • Increase HTTP timeouts for Teams & 360dialog

2.32.5 Bugfixes:

  • Inbox: Determine the right tab

Version 2.31.0

Released on 26-01-2022

New features:

  • Support for Instagram Messaging API for Professional accounts (contact us)
  • Whatsapp: support for interactive messages and handling template button clicks
  • Whatsapp: support for user-deleted messages/media
  • Inbox: for conversations on the email channel, a new email compose UI is shown
  • Web-client: added a IBAN input type to forms
  • Web-client: support text tooltips using the Markdown link tag
  • Web-client: support markdown inside quick replies


  • Web-client: Fix incorrect rendering of dates due to dashes being stripped by speechmarkdown-js
  • Inbox: Increase the conversation and history page sizes
  • Inbox: center-align tags in conversation history
  • Inbox: render operator initials on same line as user name
  • Teams: Do not cut off external inbox tags
  • Build: Update buttons snippet, make Ace editor snippets work again
  • Build: Phone input styling in script preview

2.31.1 Bugfixes:

  • Instagram: Ensure we don't start a process for ourselves
  • Instagram: Fix page permission for linking Instagram

2.31.2 Bugfixes:

  • Instagram: implement story replies
  • Instagram: implement story mentions
  • Instagram: fix issue with long profile picture URL

2.31.3 Bugfixes:

  • Facebook login: Only request email scope on login through Facebook

2.31.4 Bugfixes:

  • Host SDK: Add locale attribute to force initial conversation language
  • Messenger / Instagram: Set inbox presence to online
  • Phone channel: add editable phone number when type != pool
  • REST API: Add query string parameters to event payload

2.31.5 Bugfixes:

  • Make phone nr editable for non-pool numbers
  • Conversation history: copy event payload to clipboard on click

2.31.6 Bugfixes:

  • Email channel: allow multiple from addresses

2.31.7 Bugfixes:

  • Update bubble_match, treat every message as 1 spacy sentence
  • Whatsapp: send $unsupported_message
  • Import: Ensure zip files from gitlab import correctly

2.31.8 Bugfixes:

  • Update bubble_lib to fix XML building when UTF-8 is present
  • Prevent more Kernel calls to be called in Elixir blocks
  • Fix web client CSS variables (update web client dependency)

2.31.9 Bugfixes:

  • Web client: Fix dates accidentally formatted in Arabic
  • Web client: Fix UI label localization for formal locale variants
  • Phone: allow to save phone number on all phone types
  • Whatsapp: Don't start process when contact verification fails
  • Integrations: Fix crash when only secrets were present

2.31.10 Bugfixes:

  • Build: fix crash in script preview

Version 2.30.0

Released on 12-01-2022

New features:

  • Phone: Option record: true to dial command, to collect call recording and transcript
  • Web chat: @botsquad/web-client library refactored to use Typescript instead of Javascript
  • Widget: Unread message count indicator is now colored red
  • REST API: Add endpoints for Whatsapp template management
  • Whatsapp-to-teams: Show feedback in Teams when WA message cannot be delivered
  • Whatsapp-to-teams: Allow escalation to multiple Teams channels
  • Build: Add support for Operator login from bot integrations


  • Profile: Fix scroll behaviuor
  • Studio GQL API: Fix query error on malformed bearer token
  • Channels: Fix bot switching behaviour

2.30.1 Bugfixes:

  • Teams: fix escalation race condition
  • CRM: Fix user sidebar tags wrapping
  • CRM: Reload CRM users after delete

2.30.2 Bugfixes:

  • Address issue with Whatsapp-to-Teams solution

2.30.3 Bugfixes:

  • Address another issue with Whatsapp-to-Teams solution

2.30.4 Bugfixes:

  • Fix race condition in Whatsapp-to-Teams solution
  • Fix issue with escalating to external inbox with tag

2.30.5 Bugfixes:

  • Email: Fix parsing of incoming email body

2.30.6 Bugfixes:

  • Runtime: Duckling uses current time instead of start of day. Add @duckling_reftime "start_of_day to change back to old behaviour.

Version 2.29.0

Released on 8-12-2021

New features:

  • Channels: New email channel to send and receive email messages in the bot (feature flagged)
  • Inbox: new tab with closed conversations; remove 'Archived' tab.
  • Runtime: new close command to close a conversation for good
  • Runtime: new refer command to redirect a phone call to another number
  • Runtime: 'dial' command now optionally takes a timeout: parameter
  • Runtime: Add get_operator_by_uuid builtin function
  • Auth: allow login/signup through Operator SSO
  • Platform: Upgrade to Elixir 1.13.0


  • Environment settings: Constrain height of accessible bots picker popover
  • Channels: PWA editor does not ask for save when switching between bots
  • Channels: Fix React crash while switching between bots
  • Web client: Numeric input: align center, no height maximum
  • Web client: Correctly format dates when entered in forms
  • Phone channel: Annotate and tag collector timeout in chat stream
  • Settings:: Fix crashing office hours and inbox settings editors
  • Channels: Fix enabled channel sorting

2.29.1 Bugfixes:

  • Disallow slashes in created Elixir modules
  • Simplify studio bot switching behaviour
  • Do not close conversations on redirect

2.29.2 Bugfixes:

  • Channels: For phone/whatsapp, disable add channel button when limit reached
  • QnA intents refused to start training
  • Facebook: add pages_messaging to login scope
  • Web client: fix issue with form buttons disappearing in embedded chat

2.29.3 Bugfixes:

  • Phone: Ensure that on collector timeout the error tag is set
  • Inbox: do not show closed or conversations in inbox

2.29.4 Bugfixes:

  • Facebook login: fix access token JSON serialization
  • Slack: Fix channel adapter crash
  • Inbox: perform the correct access control check for handling conversations

2.29.5 Bugfixes:

  • Fix Facebook Messenger channel by removing unneeded graph API call

Version 2.28.0

Released on 18-11-2021

New features:

  • Widget: Show QR code on desktop for sending message to Whatsapp
  • Channels: Internal bot-lookup system revamped ("BNS" Bot Name System); used by PWA, REST API, phone adapters, sandbox adapter
  • Channels: New 'sandbox' adapter to enable one to test a bot before deploying to an actual channel
  • Skills: New store system that allows for publication and versioning of skills
  • Skills: Improved parsing / skill upgrading performance
  • REST API: Add QR code endpoint supporting PNG and SVG

2.28.0 Bugfixes:

  • Widget: Fix rounded corners of buttons template element
  • Phone channel: Fix SIP registration polling ACL rule for developer/producer role
  • Phone channel: Use regex validation for SIP username, contact and hostname
  • REST API: Always return default profile picture on bot endpoint

2.28.1 Bugfixes:

  • Whatsapp: studio did not load bots with whatsapp channel

2.28.2 Bugfixes:

  • Widget: Drop $ from builtin leave_message event name
  • CMS: Expose data_script_title in the script generator Mustache variables

2.28.3 Bugfixes:

  • CMS: Fix inconsistent states in forms while bots are training
  • Runtime: pre-fill the bot caches from other nodes on node startup
  • Runtime: Do not invalidate the bot cache on each new chat
  • Runtime: Increase query timeout to 15s
  • Whatsapp: strip locale to base language for template sending
  • REST API: Fix conversation action reply encoding

2.28.4 Bugfixes:

  • Reverted: CMS: Expose data_script_title in the script generator (fix pending)

2.28.5 Bugfixes:

  • REST API: Allow webhooks to filter on user, operator or all actions
  • Channels: Show sandbox when any allowed channels are sandbox capable
  • Channels: Show Bot ID on phone frontend page for linking
  • Build: Always read allowed_frontends and allowed_inboxes from studio yaml
  • Build: Show emit as console message instead of snackbar
  • Build: Content mode in script editor did not block edits outside strings
  • Settings: Flush bot cache when updating suspended flag

Version 2.27.0

Released on 01-11-2021

New features:

  • Studio: The port of all studio code to Typescript has been completed
  • Studio: Add resizable panes to inbox, build, training and content sections
  • REST API: Add event endpoint for use by webhooks
  • REST API: Allow passing the API key as part of the URL instead of request header
  • Runtime: Uploaded user attachment messages containing data URLs are moved to Google Cloud Storage
  • Use GCS and imgproxy server for all uploaded images / thumbnails

2.27.0 Bugfixes:

  • Studio inbox: prevent duplicate push notifications

2.27.1 Bugfixes:

  • Analytics: Fix Crash in utterance analytics
  • Inbox: fix GraphQL crash with missing external operator ID
  • Runtime: do not start stopped bot processes on reconnect
  • Bot: Do not default to studio-builtin profile picture
  • Runtime: distribute memo results over the cluster

2.27.2 Bugfixes:

  • Revert "Cache: distribute memo results over the cluster"

2.27.3 Bugfixes:

  • Analytics: Fix crash in utterance analytics detail
  • CMS: Fix crash in drag-and-drop item reordering

2.27.4 Bugfixes:

  • Syntax server: fix TODO scanning, put search index in ETS

Version 2.26.0

Released on 04-10-2021

New features:

  • Studio: split the settings tab into Settings, Channels and Integrations top-level items. The new channels page now also contains the configuration settings for inbox-channels (Teams, Slack, Studio inbox). Settings that are related to installed skills are now also shown under the settings page.
  • Studio: support for login and signup via external SSO providers. Initially, Microsoft, Google and Facebook authentication are supported.
  • Studio: tweak the "SaaS" contract profile, showing only those settings that make sense for running a saas-bot like the Teams-to-Whatsapp solution.
  • Teams: show conversation history in the conversation card

2.26.1 Bugfixes:

  • Widget: Show privacy policy link
  • Studio: enable editing of privacy policy link label
  • Studio: Fix issue where cloning a bot lead to an unrecoverable error
  • Runtime: expose bot.privacy_url in Bubblescript
  • Signup: Fix accepting invitations
  • Whatsapp: also set correct initial locale when starting with template message
  • Whatsapp: set initial locale based on user's phone number
  • Build: Fix timing issue in intents test

2.26.2 Bugfixes:

  • Prevent Ecto mixed key error when starting conversation
  • Chat / phone: Allow start with struct-message
  • TTS: Fix JSON encoding for TTS timepoint structs
  • Google Assistant: Fix crash when requesting unsupported input method
  • Always show all allowed inboxes; remove feature flag from ICWS

2.26.3 Bugfixes:

  • Bubblescript: Fix edge case with dialog label trigger and wait control
  • Studio: explicit garbage collect in syntax server processes
  • PWA: Disallow underscore character in subdomains

2.26.4 Bugfixes:

  • Inbox: show most annotations to normal users (mail sent, message errors, etc)
  • Bubblescript: HTTP: Prevent decoding of empty response body
  • Bubblescript: HTTP: Omit large request/response bodies in side effect
  • Whatsapp: annotate media errors in the message stream

2.26.5 Bugfixes:

  • Runtime: Allow sms_notify() without token, add rate limit
  • Runtime: Add rate limit to mail()
  • Runtime: Increase query() timeout to 5s
  • Studio news: Fix scraper
  • Whatsapp: Improved 360dialog incoming error handling

2.26.6 Bugfixes:

  • Widget: Leave message creates note inside bot process
  • Inbox: Fixed canned response autocomplete losing focus
  • Inbox: Fix showing HTTP request dialog in case of timeouts
  • Admin: properly show and update 'archive after' setting in contract editor
  • Runtime: Archive conversation immediately after session stop when archive_after == 0
  • Session archiver: remove user-uploaded images and files

2.26.7 Bugfixes:

  • QnA: do not train when there are only fallback intents
  • Widget: hide privacy link when home tab is open; fix message close
  • Session archival: also scrub user after immediate cleanup; fix prod scenario
  • Support studio links with '_bot' in them instead of bot ID

2.26.8 Bugfixes:

  • Inbox: Fix conversation transcript download

2.26.9 Bugfixes:

  • Studio: Fix zipfile improt by removing mime type check
  • Bubblescript: Add insecure: true option to HTTP calls for bypassing SSL check

2.26.10 Bugfixes:

  • Widget: disallow uploading of files > 10MB on web chat
  • Widget: show messages with a single emoji larger
  • PWA: Fix deep chat links to specific conversations
  • Studio: load correct environment when opening a studio deeplink
  • BML: Support Emoji matching in sentences

2.26.11 Bugfixes:

  • Widget: send the filename as the attachment caption when uploading a file or image
  • Teams: support receiving non-image files
  • Teams: support receiving location pins (as maps URL)
  • Phone: keep user ID consistent for anonymous users across API requests
  • Utterances analytics: Fix Elasticsearch query
  • Utterances analytics: Show for bots that have any intent

Version 2.25.0

Released on 14-09-2021

New features:

  • Web widget: Bundle splitting added to make chat widget load much faster
  • Web widget: improve several issues found in Lighthouse benchmark
  • Bubblescript: Add get_conversation_transcript() builtin
  • Bubblescript: Add number_format() builtin
  • REST API: Add text version to conversation history endpoint
  • Dialogflow: Switch default agent to eu-west1 zone


  • Bubblescript: allow in operator to work on intents
  • Phone channel: randomize user id of anonymous caller IDs

2.25.1 Bugfixes:

  • Phone adapter: Implement the $hangup event for all bots which stops the conversation

2.25.2 Bugfixes:

  • Web widget: Fix issue with display of links
  • Fix get_conversation_transcript function

2.25.3 Bugfixes:

  • Fix connecting bots to Facebook messenger

2.25.4 Bugfixes:

  • Studio: Log GraphQL query/mutation metrics

Version 2.24.0

Released on 11-08-2021

New features:

  • Upgrade to Elixir 1.12 and Erlang/OTP 24


  • Setting up and testing MS Teams as external inbox was only possible for super users

2.24.1 Bugfixes:

  • Fix issue with encoding HTTP side effects in rest API controller

2.24.2 Bugfixes:

  • Fix docker build issue

2.24.3 Bugfixes:

  • Fix OAuth issue due to new OTP version

2.24.4 Bugfixes:

  • Runtime: Add http_head() function to Bubblescript
  • API: Remove binary response data from HTTP side effect
  • NLP: Replace ß with ss in german text before sending to Duckling

2.24.5 Bugfixes:

  • Contracts: Don't count agency roles as seats
  • Intents: QnA intents were not resolved for bots in formal language variants
  • Intents: Fix DOM warning in entities overview
  • SSML: Only add automatic pause for commas followed by a space
  • Dialogflow integration: Add europe-west1 zone
  • Bubblescript: send empty request body in http_head
  • Widget design config: Put save button in the dialog footer of the labels dialog
  • Widget design: Allow widget contact form labels to be customized
  • Studio styling: Make scrollbar better visible

2.24.6 Bugfixes:

  • Bubblescript: Support expecting: :file, :video and :audio in ask

2.24.7 Bugfixes:

  • Dialogflow: fix fall back to builtin intents when using formal language variant

Version 2.23.0

Released on 15-07-2021

New features:

  • Inbox: Add Genesys ICWS inbox adapter for handling live chat
  • Bubblescript: Add visitor as toplevel variable to runtime
  • Bubblescript: Remove session_id as predefined variable


  • Conversation analytics: Hide charts when serviced / engaged == 0
  • Scripts parser: prevent adding operator_join script from subfolders
  • Fix OpenAPI spec parameter naming

2.23.1 Bugfixes:

  • ICWS: Add logging around starting escalation

2.23.2 Bugfixes:

  • Inbox: send web push when conversation does not have the focus
  • Inbox: when user is edited in sidebar, update is broadcasted to chats

2.23.3 Bugfixes:

  • 360Dialog: prevent crash on invalid wa_id
  • ICWS: Prevent race condition
  • Inbox: Prevent crash in operator notifier

2.23.4 Bugfixes:

  • Fix issue while upgrading skills
  • Fix docker build issue

2.23.5 Bugfixes:

  • Fix docker build issue

2.23.6 Bugfixes:

  • Studio config: always retrieve some settings from yaml file

2.23.7 Bugfixes:

  • Teams: Fix installation of agent with /escalate command

2.23.8 Bugfixes:

  • Signal receiving audio recordings in phone webhook

Version 2.22.0

Released on 09-07-2021

New features:

  • Analytics: new conversations breakdown with live chat vs automated
  • Analytics: add last 14 days preset
  • Widget: support continuing conversations from the notification email


  • Fix crash while rendering list / template components in inbox
  • Analytics: fix boundary issues in DateFilter

Version 2.21.0

Released on 22-06-2021

New features:

  • Added new External Inbox for Slack, like teams (feature flagged)
  • Slack: Implement new adapter based on Event Subscriptions webhook
  • Analytics: New 'Inbox' analytics view to show daily inbox activity
  • Studio publish button now shows a modal dialog while publishing


  • Analytics section of the studio converted to Typescript and addressed cases where no data was shown
  • Raise error in Bubblescript when max execution counter is hit for better introspectability
  • ACL: administrator permission is implicitly inherited from agency role
  • Archived conversations from inbox are also shown in archived list

2.21.1 Bugfixes:

  • Add OAuth flow to slack apps so they can be distributed from the slack app store into other workspaces

2.21.2 Bugfixes:

  • Add 'visits' as analytics metric on dashboard and in analytics tab

2.21.3 Bugfixes:

  • Fix sending of escalation email to operators

2.21.4 Bugfixes:

  • Fix slack OAuth installation URL

2.21.5 Bugfixes:

  • Teams: Support media captions on incoming messages

Version 2.20.0

Released on 11-06-2021

New features:

  • whatsapp: Add support for sending Whatsapp templates via 360dialog
  • inbox: Show incoming media / audio in conversation

2.20.1 Bugfixes:

  • Teams: return the response when we get an empty response
  • Add missing MS Teams feature flag setting

2.20.2 Bugfixes:

  • Whatsapp: add locale_override parameter for text templates
  • Runtime: Fix hackney checkout_timeout error

2.20.3 Bugfixes:

  • Put Teams API calls in separate HTTP pool

2.20.4 Bugfixes:

  • Inbox: align operator joined status
  • Inbox: Implement sending Whatsapp templates
  • Inbox: Disallow inbox join when whatsapp passed the 24h limit
  • Inbox: Auto-leave whatsapp conversations after 24h of non-user activity
  • Inbox: Skip $operator_join event when already-joined process is resumed
  • 360dialog: Annotate delivery errors in chat stream
  • Runtime: Let history requests come from Elasticsearch HTTP pool

2.20.5 Bugfixes:

  • Inbox: Expose conversation.operator for non-inbox operators

2.20.6 Bugfixes:

  • Fix for null image caption in operator image upload

2.20.7 Bugfixes:

  • Inbox settings: fix issue where empty tags were considered
  • Inbox settings: Fix invalid default office hour
  • Add back in graphql schema to fix inbox app
  • Studio: Fix conversation message ordering for live chats

Version 2.19.0

Released on 04-06-2021

New features:

  • Added separate inbox settings tab to enable the studio and MS Teams inbox
  • Analytics: Use a fitting color palette for all charts
  • Add bot sidebar in 'everything' section
  • Fix hanging studio when error in intents yaml script
  • QnA: Also train a lowercased, question-mark-stripped utterance
  • Pass more information through about studio user to studio support bot


  • Various tweaks for Microsoft Teams integration
  • Better design for visitor sidebar 'page view' event
  • bot channel: Save all 'user.*' fields from connect into user_data
  • Widget: do not set cookie when userId config parameter is passed
  • Widget: do not display danish phone number in local format

2.19.1 Bugfixes:

  • Visitors channel: allow user_info to be passed in
  • Also invalidate when negative utterances are changed
  • Improve advanced organisation settings form
  • Restore MS Teams inbox feature flag

2.19.2 Bugfixes:

  • Fix ReactJS crash in /qr backchannel page

2.19.3 Bugfixes:

  • Add a warning when teams API returns unexpected empty response
  • Fix CRM broadcast with custom events / forms

2.19.4 Bugfixes:

  • Fix utf-8 encoding of all utterances export; use .xlsx instead of .csv
  • Add confidence column to utterance export
  • Fix javascript error in utterance analytics detail

Version 2.18.0

Released on 28-05-2021

New features:

  • Handle live chat conversations via Microsoft teams (beta)
  • REST API: Add conversation history API endpoint
  • Answers skill: Support negative utterances
  • Skills: Add optional readme file; show it while installing and on dashboard


  • Whatsapp 360dialog / gupshup: fill variable
  • Also kick off nudge flow when clicking widget button when nudge is showing
  • Remove QnA intent feature flag
  • Training: Train button shows error message when there is only one intent
  • Phone: Remove superuser check from trunk connect option
  • Inbox: fix buttons overlapping text input area
  • write_script builtin: run through normal 'script updated' function after write

2.18.1 Bugfixes:

  • Fix the duckling reftime to midnight for date calculations

Version 2.17.0

Released on 10-05-2021

New features:

  • Initial support for 360dialog as Whatsapp provider
  • Support for media captions
  • Whatsapp providers 360dialog and Twilio send message status changes on REST webhook
  • Dashboard: add button to re-show readme file again
  • Build: Allow bot builders to configure which channels a bot can be connected to
  • Bot settings and studio settings now do not allow saving when invalid data is entered


  • Widget: Optimize widget JS bundle size (972K -> 473K)
  • Widget: Fix issue where translated nudge texts were not shown
  • Studio: remove link to help page on bots grid
  • Studio: Open external help page in new window
  • Studio: Fix issue where access log was created when script was not changed
  • Invalidate training when changing locales
  • Replace T&C with EULA in studio
  • Never use an existing organisation when creating a new org while signing up
  • Studio: Fix error popup in conversation log
  • Put create agency button behind superuser check
  • Fix 'assume roles' button in members list

2.17.1 Bugfixes:

  • Web widget: Fix JS error in non-chrome browsers

2.17.2 Bugfixes:

  • Add visitors tab to inbox / crm page
  • Studio: Allow producers to create bots
  • Add tests to see if webhooks arrive
  • Whatsapp Twilio: Properly handle file, audio, video, contact and image attachments
  • Reorganize REST API connect page
  • Remove superuser check from Whatsapp connect page

2.17.3 Bugfixes:

  • Log outgoing webhook requests and their response code
  • whatsapp: fix sending of double newline in markdown messages
  • twilio: remove the leading + from the user ID
  • 360dialog: receive all messages for all contacts
  • 360dialog: handle video, stickers, documents
  • 360dialog: save mime type in attachment metadata
  • 360dialog: handle receiving locations
  • 360dialog: handle sending locations

2.17.4 Bugfixes:

  • Improve structured logging to Google Cloud

2.17.5 Bugfixes:

  • Improve database performance for inbox
  • Whatsapp: Pass original message through to adapter
  • Webhooks cache: Add dependency on bot_id
  • CMS data: Skip ID uniqueness check for nil IDs

2.17.6 Bugfixes:

  • Bubblescript: 'ask' labels are now matched on their literal text

2.17.7 Bugfixes:

  • URLCache: Move to GCS and make bot-scoped
  • URLCache: Fix issue with wrong URL extension for some content types
  • 360dialog: Fix sending outgoing file attachments

Version 2.16.0

Released on 26-04-2021

New features:

  • REST API: Expose sending both operator and user actions through the Conversations endpoints
  • Initial bot integration with Microsoft Teams
  • Initial support for adaptive cards in Bubblescript
  • Support phone number input in forms in web widget
  • Builtins: let get_available_operators() return the operator presence status
  • CMS: Add new widget: phone_number_or_extension


  • Fix ACL issue when bot note no longer had a corresponding conversation
  • CMS: Fix initialization issues with Human ID and Auto UUID fields
  • Expose the nudge title to Bubblescript after user clicks it
  • Mustache: render a nil value as empty string
  • Bubblescript: Catch error in branch stmt with missing branches
  • Continued the conversion of studio components to Typescript

Version 2.15.0

Released on 22-03-2021

New features:

  • Phone adapter: allow specifying SIP registration credentials
  • New provisioning REST API with two endpoints:
  • retrieving SIP registration credentials by pool
  • setting SIP registration status
  • Training: Intent details are now editable in collapseable widget instead of popup
  • Expose conversationNotesByBot() GraphQL endpoint in Management API
  • Bubblescript: add unset statement
  • Support for skill migrations


  • Replace YamlEncoder with Yml library
  • Sandbox: Fix calling plain erlang functions and dynamic function calls
  • Expose raw string value on matched BML Duckling/Spacy entities
  • Only send email/sms notifications when an operator leaves messages
  • CMS: Fix over-eager triggering of form dirty tracking
  • Fix bug in chat widget where user's last name was always required in contact form
  • Do not send automatic re-engagement emails for bot messages not triggered by an operator

2.15.1 Bugfixes:

  • Downgrade Timex library to deal with changed WDsun formatting semantics
  • studio: Fix race condition in skill upgrade cache invalidation
  • studio: Convert BotsPage to typescript

2.15.2 Bugfixes:

  • Phone API: allow arbitrary caller IDs

2.15.3 Bugfixes:

  • widget: Clicking a nudge now always starts a new conversation
  • widget: Fix bug where a phantom conversation was started
  • Add conversation.origin to runtime context (instead of initial $connect event)
  • Fix crash in unset when unsetting a deep array item

2.15.4 Bugfixes:

  • Fix issue with compiling Elixir code

2.15.5 Bugfixes:

  • Fix issue with refreshing Microsoft OAuth access token

2.15.6 Bugfixes:

  • CMS: Fix issue when using \$ref in array definitions

2.15.7 Bugfixes:

  • Phone: support numeric input method in webhook response
  • Phone: Fix crash when incoming number seemed a UUID
  • Phone: Fix nil issue with conversation origin

2.15.8 Bugfixes:

  • Temporarily disable new slack connections
  • Fix Bubblescript crash on wait control timeout

Version 2.14.0

Released on 09-03-2021

Studio features:

  • Per-environment and per-agency phone number pool selection
  • Add generic Matrix chatbot client
  • Add Matrix integration with Infinity platform (Centile)
  • Annotate SMS and email messages in the chat stream
  • CMS: Upgrade react-jsonschema-form to 2.x

2.14.0 Bugfixes:

  • Continuing the conversion of studio components to Typescript
  • FAQ training button did not appear when intent ID had changed
  • FAQ training button showed for languages which are not supported by the bot
  • Fix skill configuration dialog
  • Fix intents synchronization with Dialogflow
  • Fix token connect crash when a user was present
  • Fix PhoneNumberWidget focus issue

2.14.1 Bugfixes:

  • Add timezone option to date_format builtin

2.14.2 Bugfixes:

  • Fix CMS issue where YAML files were changed on each save (upgraded js-yaml and added sortKeys option)
  • Hide train button when we dont have permission to kick off training
  • Fix issue with timeout: option of ask, in collector-based frontends

2.14.3 Bugfixes:

  • Fix race condition with creating an intent in Dialogflow
  • Improve the Dialogflow editing experience; add spinners to intent save buttons

2.14.4 Bugfixes:

  • Analytics: 6 month overview did not show any data
  • Chat API: Fix crash doing TTS with empty SSML
  • Accounts: Fix studio crash when showing account sidebar
  • Runtime: tag? now silently returns nil when non-string value is given

Version 2.13.0

Released on 20-02-2021

Studio features:

  • Allow agencies to manage their own accounts; environments are now groupable under an account, which is linked to a corresponding contract.

Version 2.12.0

Released on 08-02-2021

Studio features

  • Inbox: New popup to manage canned responses
  • Inbox: Canned responses are no longer automatically added on each reply
  • Users: add "impersonate" button to view the studio as a specific user's roles
  • Dashboard: Add KPI monthly message counter to contract and dashboard
  • Rename 'Account' to 'Contract'
  • Signup: Streamline signup / invite; remove Facebook login
  • Widget: Config option to allow chat only when operators online
  • [internal] Migrate all reducers to Typescript
  • Add 'allow bot development' toggle in contract settings

Runtime features

  • REST chat API: Add tts=true flag to perform server-side text-to-speech w/ SSML markers
  • CMS: Data lookup: fall back to text input when source not found


  • REST chat API: conversations started with an event no longer go through main or root dialog
  • When returning to a conversation, bot no longer repeats its prompt
  • CMS - object: ['null', 'object'] in CMS created 'object' when nested in list.
  • Test runner: "Run all" did not work while individual tests were OK

Version 2.11.0

Released on 18-01-2021

Studio features

  • CRM: Allow multiple channels per contact
  • Build: Properly catch Elixir compilation errors and warnings
  • Skills: Show version and update status in skill card
  • Fix Studio CPU performance while training intents
  • Producer role in studio can now manage all bot settings
  • Fix widget JS and add link to widget documentation from widget connect page
  • Accounts: Add 'developer studio' checkbox to limit the use of the developer role

Runtime features


  • Increase MFA timeout to 2 minutes
  • Several fixes around operator online status management
  • Put Bubblescript, stats and service HTTP requests in separate resource pools
  • Fix "cannot read draftScripts of undefined" error while developing
  • Fix date_parse() function
  • Fix infinite spinner after log in for some accounts
  • Set 'generator' field on Bubblescript files after import
  • Limit the test runner parallellism to 3
  • QnA intents: Prevent unnecessary retraining of languages that were not changed
  • CMS: Ensure we don't lose unsaved data when changing studio tabs
  • Inbox: fix 'mine' tab
  • Inbox: improve performance of conversation listings
  • Analytics: improve performance of analytics pages
  • Build: only show FIXME/TODO notes to developer roles
  • Build: hide non-error issues that are related to installed skills
  • CMS: ensure id field used in data files to be unique in its collection
  • CMS: Fix issue where typed input was lost when typing fast

Version 2.10.0

Released on 29-12-2020

Studio features

  • Added multi-factor SMS-based authentication for enterprise accounts
  • Add Gupshup as a supported Whatsapp Business API provider
  • Remove Apiwha as Whatsapp provider

Version 2.9.0

Released on 4-12-2020

A new role-based Access Control mechanism for more fine-grained access to the studio was developed. Users can now get multiple roles within an organisation.

The following roles are now supported:

  • Environment manager - Manage environment and users
  • Developer - Bot development and configuration
  • Content manager - Access to the content management system
  • Operator - Live support operator and inbox access
  • Producer - Full access to CRM, CMS and analytics
  • Analyst - Access to analytics and CRM (read-only)

Bubblescript improvements:

  • Task hooks - execute tasks on certain interpreter life cycle events
  • in is now supported where you would write contains() normally (1 in [1, 2, 3] instead of contains([1, 2, 3], 1))

Other features and bugfixes:

  • Add a new secret integration provider to store arbitrary secrets outside of the bot's code
  • Skills: update button added (instead of performing a uninstall + reinstall)
  • Support for the Elixir as a bot file type (feature flagged)
  • Better Elixir code sandboxing configuration; defmodule support in Elixir blocks
  • Phone channel - support anonymous callers
  • Phone channel - fix broken TTS voice select widget
  • Phone channel - optional 'beep' before voice input
  • Human ID field: only take value from primary language

Version 2.8.0

Released on 23-11-2020

This release mostly focusses on the improvement of the chat widget.

  • Better studio preview for chat widget, including i18n and customization of text labels
  • Implement alternative contact options like whatsapp, phone, contact form
  • Prevent chat with bot when no operators available and automated conversations not part of the account plan

Other studio features:

  • Training: intents are now organized by source
  • Added external customer ID in account table

Runtime features:

  • Skip non-voice and non-keyboard input types in dialog.last_user_utterances
  • Support Spacy time entities (name: [moment])

Bugfixes / maintenance:

  • Migrate majority of studio JS over to Typescript
  • Migrate web widget JS code to Typescript
  • Upgrade Phoenix to 1.5
  • Upgrade Absinthe to 1.5

Version 2.7.0

Released on 21-10-2020

New features:

  • Add create_conversation_note Bubblescript function
  • Show created conversation notes on bot dashboard UI
  • When using as: option with say, the name is shown next to the avatar in the web client
  • Support for multiple regions while configuring Dialogflow
  • New phone channel for supporting PBX-based systems (contact us)
  • Switch to Elixir 1.11 and OTP 23
  • New TTS voice selector for phone and Google Assistant channels


  • studio: Prevent JS error in data table on empty rows
  • studio: Prevent JS error on getUndoManager
  • inbox: Fix broadcast dialog for single conversation

Version 2.6.0

Released on 02-10-2020

New features:

  • Add goto statement in Bubblescript, as a macro for invoke dialog, :replace
  • Implement conversation redirects to other bots
  • Enable "testing name"-based testing on Whatsapp and telephone lines without the need for a connector, like Google Assistant already has
  • Refer to everywhere, remove internal terms pages
  • Give anonymous users a consistent, fictional name in the CRM
  • Release experimental debugging stepper (contact us)
  • Add within_office_hours builtin function

Bugfixes / maintenance:

  • Use Elixir 1.10; Switch to new child specs and DynamicSupervisor
  • Add wallaby-based integration tests
  • Add ?is_preview parameter to most channels
  • Check specifically for UUID in PWA ID instead of casting via Ecto

Version 2.5.0

Released on 23-09-2020

New studio features:

  • Training: simplify intent editing: show training phrases in detail view, no more editing of BML expressions
  • Training: New "Learning" section to train the Dialogflow classifier (contact us)
  • Training: New intent classifier based on Sentence Transformers ( (contact us)
  • Add a public, graphql-based Studio Mangement API
  • PWA settings editor (Settings -> Design -> PWA settings)

New runtime features:

  • Update to Elixir 1.10
  • Merge match: clauses of intents define in code with the intents defined in the training section

Version 2.4.0

Released on 08-09-2020

New features:

  • Training: directly add utterances when creating an intent
  • Contacts: create new contact from overview
  • Inbox: Reinstate 'scheduled events' in user side panel
  • PWA: Add configuration form to manage most PWA-related settings


  • Training: Intent / entities filter works as an actual filter
  • Dialogflow: Fix setting end intent IDs in transpiler
  • Studio: Fix avatars of other studio users
  • Analytics: Tweak bar chart colors
  • Voice: Fix bug where generated SSML didnt contain sentence separators

Version 2.3.0

Released on 31-08-2020

New studio features:

  • Studio: Allow whitelabeling by the customization of primary color + logo, per environment.
  • Studio: Also show bot switcher when there is only one bot
  • Build: add buttons to set a snapshot and to trigger the bot to run from the snapshot. Currently behind super-user flag.
  • Build: Implement follow line feature
  • Training: allow auto-translation of intent training phrases
  • Training: show nr of utterances per intent
  • CRM: Hide anonymized users in overview and export
  • Admin: Add audit log to inspect all studio activity within an environment

Version 2.2.0

Released on 17-08-2020

  • Analytics: Add overview of utterances per intent, including Excel export
  • CMS: Intent picker can now create intents in the popup
  • CMS: Add auto-translate shortcut to translations CSV editor
  • CRM: Fix the way message user data fields are exported
  • Inbox: Add FAQ side panel for inbox operators (when answers skill is installed)
  • Inbox: Only retrieve operator suggestions in the user's language
  • Studio: Fix issue where navigation bar was cut off
  • Training: Tweak provider type display
  • Training: hide readonly intents by default, add 'show all' checkbox
  • Training: prevent cache issues in intents / entities overview

Version 2.1.0

Released on 13-07-2020

  • Runtime: Add language detection in NLP pipeline, exposed as message.stats.detected_language.
  • Runtime: Add humanize_locale, humanize_duration, join_localized builtins
  • Studio: Improve loading speed of the bots overview

Version 2.0

Released on 01-07-2020

This release is focussed around the change of the matching engine. All user utterances are now processed in an NLP pipeline. Afterwards, they are matched against BML expressions in intents, dialog triggers, ask statements and the like.

The Training tab now shows a "BML tryout" panel where you can test BML expressions. Intent utterances are checked against BML matches as well while you're entering them.

Due to this breaking 2.0 release, all bots have been suspended and require manual intervention to reactivate them. See the Upgrade notes for all details on the changes that are required.

Version 1.49.0

Released on 03-06-2020

  • Add "all bots" and "all accounts" overview in management section

Version 1.48.0

Released on 8-05-2020

This release is focussed on a few improvements in Bubblescript.

  • Local variables - Variables that start with an underscore (e.g. _var) are considered local variables. This means that they only are used in the current dialog, and automatically cleaned up.

  • branch statement - The branch statement now has a variant that can be used with a variable, e.g. branch answer do ... to compare on the same variable in each of the branches clauses. branch also learned an else statement.

  • prompt dialog - The prompt construct now has a dialog: option to invoke a certain dialog to ask the question. Read more.

Version 1.47.5

Released on 04-05-2020

  • Add feature flags management in the organisation editor
  • Experimental support for ReadSpeaker custom voices (contact us)

Version 1.47.0

Released on 28-04-2020


  • The "Training" section (previously called "Intents") is enabled for each bot, creating bot intents has become much easier with this release.
  • We now fully support management of Dialogflow intents and entities, with synchronization back to Dialogflow. This means you don't have to leave the DialoX studio to manage intents and entities with Dialogflow.
  • New Intents tryout panel to try the trained intents
  • New Utterances editor for editing and annotating training phrases


  • A new "skills" section in the studio where you can browse through available skills and install them into your bot. In the near future it will be possible for bot authors to publish their own skills so others can use them in an easy way.
  • Skills are versioned and have dependencies, so that they can be developed in a modular way.

Other updates:

  • Bubblescript mail() command now supports CC and BCC

Version 1.46.14

Released on 10-04-2020

  • Skills: Add name, dependencies and version to YAML to be forward compatible
  • Studio: Add 'label' to bot settings for identification in the studio

Version 1.46.13

Released on 08-04-2020

  • Build: Fix issue in generating translation labels
  • Inbox: Do not truncate error reports

Version 1.46.12

Released on 06-04-2020

  • Studio: Make studio config parsing more resilient
  • Switch to persistent_term for runtime constants lookup

Version 1.46.10

Released on 03-04-2020


  • Inbox: Fix invisible links in conversation history
  • Editor: Add append_quick_replies and prepend_quick_replies to highlighter
  • Signup: Email addresses are now case insensitive
  • Signup: invitation email addresses are now case insensitive


  • Fix setting initial locale in widget & PWA
  • Pass Dialogflow fallback intent to Bubblescript
  • Always use web_pwa for chat links from notification email


  • Add prepend_quick_replies option to ask
  • Escape dialog label values before adding to dialog trigger
  • Prevent dialogs with empty triggers triggering on emoji / empty strings

Version 1.46.8

Released on 30-03-2020

  • Add optional filter for dashboard stats to studio config
  • Runtime: pass Dialogflow fallback intent to Bubblescript

Version 1.46.4

Released on 20-03-2020

  • Studio: Email addresses are now case insensitive
  • Studio: invitation email addresses are now case insensitive
  • Always use web_pwa for chat links from notification email

Version 1.46.1

Released on 17-03-2020

  • Inbox: Fix JS error on loading the inbox page
  • Web client: initialize the initial locale with the browser language

Version 1.46.0

Released on 16-03-2020

New runtime features

  • Web: Extract the React chat component into the open source @botsquad/web-client NPM package
  • API: new branch collector endpoint for offline bot usage

New studio features

  • Allow bots to be tested with bot test scripts
  • Automatically create test scripts based on inbox transcripts
  • Add background progress system, implemented into publish, revert and git flows
  • Inbox: Render locale flag in user sidebar
  • Inbox: allow disabling of operator suggestion autocomplete


  • Build: No longer restore the run method from the preferences
  • Build: remember the last selected script in the build UI
  • Inbox: Fix display issue with short datetime formatting
  • Inbox: Fix "first contact" date in user side panel
  • Inbox: Unknown locales are now defaulted to "en"
  • Dashboard: Hide account information when user is not owner
  • Dashboard: Do doubly count account owners in the user limit double
  • CMS: Remove intent from data when clicking the cross
  • Google Assistant: Reinstate DialoX Studio dispatcher

Version 1.45.0

Released on 25-02-2020

New platform features:

  • New webhook REST API for chats
  • CMS: Support templating of generated script filename
  • API: Allow exposing data files with a given extension as a single endpoint

Version 1.44.0

Released on 07-02-2020

New platform features:

  • Implement Speech Markdown for Alexa and Google Assistant
  • Allow exposing bot data files on developer-defined HTTP endpoints
  • Bubblescript: Add 'alt' attribute to show media statement


  • Studio: Fix issue where integrations file could not be created
  • Studio: Retain focus of text input in bot preview
  • Bubblescript: Filter out empty quick replies instead of producing an error
  • Bubblescript: Make strip_{emoji,markdown} accept and ignore non-string inputs

Version 1.43.3

Released on 30-01-2020

  • Studio: Add copy to clipboard to invites list
  • Studio: Tweak sign up dialogs

Version 1.43.2

Released on 29-01-2020

  • CMS: Remember the (un)collapsed state of CMS collapsible arrays
  • CMS: Move intent picker into a popover for the CMS
  • Inbox: Move "load more" button to the top where it belongs

Version 1.43.1

Released on 26-01-2020

  • Bubblescript: add flatten/1 builtin
  • CMS: Let intent picker collaborate with the intents side panel
  • Fix Pushwoosh token registration validation

Version 1.43.0

Released on 24-01-2020

New studio features:

  • New bot chooser popup for choosing a bot template to start from
  • Inbox: Add tags blocklist configuration for inbox tags sidepanel
  • Hide inbox analytics when inbox not configured
  • Integrate Appsignal Javascript error reporting
  • Fix permission issue when a public organisation was inside an agency
  • Add a new sidebar panel for editing and searching intents
  • Swapped "Sign up" and Log in with Facebook in sign up form.


  • Add 'prompt' and 'continue' keywords
  • String matcher - add unicode flag to regexes
  • Fix issue with passing an empty locale to Duckling entity


  • Better runtime error reporting for bots
  • Increase the speed of parsing of YAML files
  • Improve node afinity of bot processes (Start web processes on runtime nodes only)
  • Send push messages asynchronously in a task
  • Allow emit to :visitor to send to the visitors channel
  • Show bot events received by visitor in visitor timeline
  • Add "SDK Only" flag for joining visitors channel
  • Google Assistant: Implement actions.intent.CANCEL in-dialog intent
  • Also find intents based on its match text
  • Translate the identifier name in the dispatcher lookup
  • Refactor BotsiWeb.Frontend to reduce code duplication
  • Google Assistant: Translate the testing phrase to dutch
  • Switch back to default run method on bot change
  • Make purpose optional while cloning a bot

Version 1.42.21

Released on 16-01-2020

  • Send intent confidence as float
  • Send Appsignal error when stats sending fails
  • Remove prod config values, move everything to k8s configmap
  • Send error when we encounter no_alive_nodes
  • Change postgres CI
  • Force stop the syntax server in tests

versions 1.42.2 - 1.42.20 introduced no new features

Version 1.42.1

Released on 07-01-2020

  • Whatsapp: Report when a message could not be delivered
  • Runtime: Track shortened URLs by sending a \$link_click event to its conversation
  • REST API: Add POST, PUT and DELETE endpoints for bot users
  • Contacts: Support channel type (frontend) in CSV import / export

Version 1.42.0

Released on 06-01-2020

  • Inbox: Conversations can be reopened after being closed
  • Inbox: Keep current pagination when opening a conversation
  • Contacts: Keep current pagination when opening user details
  • Settings: Fix REST API settings page and add explanation
  • Bubblescript: Result of HTTP calls can be assigned to any variable

Version 1.41.1

Released on 02-01-2020

  • Inbox: Rename privacy mode -> learning
  • Studio: Add Dialogflow, Twilio, Mailgun and Pushwoosh integrations to each bot

Version 1.41.0

Released on 18-12-2019

  • Inbox: Add automatic response autocompletion to operator chat control
  • Inbox: implement user / operator typing indicators
  • Studio: Pop up audio recorder with cmd+;
  • Studio: new button to import Dialogflow intents from agent zip file

Version 1.40.2

Released on 17-12-2019

  • Runtime: Truncate conversation's last message to 255 characters
  • Studio: Remove constants from runtime error reports
  • Studio: parse all auxilary scripts while getting parse diagnostics

Version 1.40.1

Released on 16-12-2019


  • Runtime: Fix locale dependence of persistent term attributes
  • Bubblescript: Fix cancel_emit docs
  • Studio: Fix office hours availability for sundays
  • Studio: Fix typo in role removed email

Version 1.40.0

Released on 13-12-2019

New bubblescript features

  • Allow dialogs to have both a name and a trigger
  • Allow inner dialogs to be defined outside of parent by using dot-syntax in dialog name

New runtime features

  • Support notification by SMS for web-based conversations
  • Expose dialog.last_user_utterances and dialog.last_bot_utterances variables
  • Improve memory usage of chat processes by using :persistent_term
  • Remove support for moment: dialog triggers
  • Make Dialogflow intent resolution work via integration token
  • New strip_markdown and strip_emoji builtin functions

Studio improvements

  • Inbox: Show predefined user columns in the user sidebar
  • Inbox: Make collections of tags mono-colored
  • Inbox: Remove user notes from user sidebar
  • CMS: Make auto_uuid field identifier safe (so it can be used in dialog names)
  • CMS: Allow switching between locales with CMD+L / CMD+shift+L

Version 1.39

Released on 18-11-2019

New runtime features

  • Alexa support
  • Support pushwoosh as a notification channel
  • New @botsquad/sdk javascript library which allows one to integrate the Chat Bubble in JS (web or react native)
  • Improve web client reconnect behaviour
  • Add unsubscribe_url option to mail()
  • Allow email labels to be localized
  • Pushwoosh support for in-app push notifications
  • New phone_parse() Bubblescript function for validating phone numbers
  • New strip_markdown() and strip_emoji() string functions
  • Full markdown support in chat bubbles

New studio features

  • Redesign Inbox UX / bot <-> operator interaction
  • Move OAuth tokens into their own tab in settings
  • Add download transcript option (text + JSON) to inbox
  • Allow fulltext-search over conversations

Studio improvements

  • Configure external tokens via the integrations tab (Mailgun, Pushwoosh, Twilio)
  • Customize the studio behaviour per bot (studio.yaml) from the settings page
  • Add ability to remove user push tokens
  • Show the user's push subscriptions in the user details
  • Move sidebar conversation / user data into dialogs
  • Tweak visitors sidebar and browser display, show browser details again
  • Inbox: Increase the operator chat input window in height
  • Adding a (searchable) note to the stream
  • Show grouped conversation bubbles in inbox chat view, group similar events

Version 1.38

Released on 06-09-2019

  • General improvements to 'contacts' section of the studio
  • Various aspects of the studio can be configured per-bot using the studio.yml file.
  • Allow CSV export of just the selected contacts
  • Support predefined broadcasts in broadcast dialog
  • Remove bot example dialog, replace with normal clone dialog
  • Record user's last activity in the CRM
  • Switch JSON library to Jason
  • Improve "add script" control in the studio editor
  • Bubblescript cancel_emit() function now also accepts named emits


  • Fix issue where spinner would be showing when reconnecting to the chat on network drop
  • Treat tags with :: as tags that only have one value in their domain
  • Fix JS crash in studio location picker widget
  • Use notification manager in studio chat window
  • Allow email labels to be localized
  • Fix duplicated columns in CRM export
  • Fix signup so that invited org is directly selected
  • Integrate office hours into operator status

Version 1.37

Released on 01-09-2019

  • Localize all user interface labels in chat web widget, interface locale changes in runtime when bot locale changes
  • Allow all user interface labels in web widget and PWA to be overridden using YAML files.
  • Speed up parse time in studio by caching untouched scripts
  • Add 'id' column to i18n label files, allowing the original language to be translated
  • Refactor Runtime bot startup code to prevent supervisor crashes
  • Studio: Add JSON script type


  • Allow git repository to be disconnected from bot
  • Do not clone git repository settings when cloning a bot
  • CMS: Automatically created related YAML file when creating a CMS definition
  • CMS: Always open a new item in its uncollapsed state for collapsible arrays
  • Intents: Only show add intent button for file sources

Version 1.36

Released on 23-08-2019

  • Bubblescript: deprecate buttons do and template do DSL constructs
  • Bubblescript: Implement __main__ dialog as bot entrypoint - By default __main__ just invokes its non-underscored counterpart (dialog main), so it is backward compatible. This allows us to have dialog logic in the base bot which comes before the users dialog main code.
  • Platform: switch to sworm process registration and distribution library
  • Bubblescript: add support for SMS notification via Twilio (sms_notify())
  • Bubblescript: add shorten_url() function


  • Studio: fix automatic formatting of array constructs in the code editor
  • Fix bug where item picker was shown after it was already answered, when the bot has timed out in the meantime.

Version 1.35

Released on 12-07-2019


  • Google Assistant: enable deep linking
  • Studio: allow connecting a bot to a Git repository (one-way synchronization on publish)
  • Studio: intents show an icon when random responses are defined
  • Bubblescript: Allow == operator to work with intents defined by the intent manager
  • Platform: Upgrade to Elixir 1.9


  • Web client: automatically switch to long polling when WebSocket connection fails
  • Mailgun: allow setting base_uri for Mailgun EU domains

Version 1.34

Released on 09-07-2019


  • Studio: reorganise main menu with 'build' and 'manage' section
  • Add new 'intents' section to studio for management of NLP intents
  • CMS: Add dynamic_enum UI widget
  • Bubblescript: Expose bot.extra_locales in runtime
  • Bubblescript: strip emoji before performing text matching


  • Widget: support 'hide_input' event in widget
  • Whatsapp: change APIWHA endpoint

Version 1.33

Released on 25-06-2019


  • Visitors: Add analytics section showing page views and nudge engagement
  • Visitors: Add 'ab' variable (between 0 and 100) for AB-testing of nudges
  • Build: add console for evaluation of expressions while bot is running in studio
  • Build: Show 'published at' when bot is not dirty
  • CMS: Data is now validated against its CMS definition


  • Google Assistant: Fix locale mapping for account linking
  • Google Assistant: Bubblescript 'stop' command terminates conversation gracefully
  • Fix navigating to linked script
  • Fix script linking dialog

Version 1.32

Released on 17-06-2019


  • Studio: improve script error checking and general editing experience. There is now an 'Issues' tab which shows a list of errors, warnings and informational messages that apply to your bot.
  • Studio: Add global search panel, to search through all files in the current bot.
  • Studio: Add quick-open action (ctrl-o / cmd-o) to quickly visit a file.
  • CMS: Data files managed by a CMS definition are now validated against their JSON schema
  • CMS: Data lookup field now takes an optional xpath expression


  • Google Assistant: Do not count health checks in analytics

Version 1.31

Released on 03-06-2019


  • Add Hangouts Chat ( as a channel for bots
  • Bubblescript: ask can take an array of prompts, each of which will be used sequentially when repeating the question.
  • Bubblescript: add optional timeout: argument to HTTP calls
  • Studio: Align the publish controls to be the same on all pages that uses it
  • Studio: Better feedback about saved status of script and CMS content
  • Google Assistant: simplify the account linking process and continue in the same chat conversation after the account is linked.
  • Add support for showing card templates in the stream (Web / Google Assistant)
  • CMS: implement data lookup field


  • resolve_dialogflow_intent() now also uses locally defined agent
  • Slack connection does not keep restarting on auth failure
  • Bubblescript - HTTP call now also decodes body for lower-cased content-type header
  • Fix issue with studio not saving content properly
  • Web client: Fix issue with websocket not reconnecting
  • CMS: Fix re-initializing the ContentEditor between page changes
  • CMS: When retrieving content DDL, do not flatten the locales (fixes i18n defaults)
  • CMS: Layoutfield: add forgotten properties to the layout
  • CMS: Fix error in sortable
  • CMS: Remove empty i18n fields from YAML on save
  • CMS: Do not override schema prop for i18n, fixes i18n field title

Version 1.30

Released on 18-05-2019


  • New DialoX Inbox IOS and Android apps to handle bot escalations by operators
  • Add Mustache generator to CMS definition, to automatically generate Bubblescript from CMS sections
  • Whatsapp: Switch to APIWHA service
  • Studio CMS: Add preview_button widget to preview CMS changes in the bot
  • Bubblescript: Add mustache() function for simple string templating
  • Bubblescript: Add unidecode() function for removing accents from strings

Bug fixes:

  • Fix issue with telegram chat link

Version 1.29

Released on 17-04-2019


  • Web widget: Added Intercom-like home screen and conversations overview
  • Web widget: Show the unread message count in the chat bubble

Version 1.28

Released on 04-04-2019


  • Analytics: New "utterances" tab which shows all unmatched utterances and intent matches
  • Analytics: CSV export for utterances
  • Bubblescript: Support intents with multiple return values in match:
  • Bubblescript: Intents now have an id: attribute


  • Build: show script error message on hover of script icon
  • CRM: Fix CSV field escaping and user fields export

Version 1.27.2

Released on 22-03-2019


  • Inbox: Log runtime errors and make them accessible from the inbox
  • Build: Make error messages in script debug window clickable
  • Build: Allow creating links from bots in other environments


  • Scheduler: Do not change the µs value when microsecondizing
  • Fix organisation switching when directly loading a URL

Version 1.27.1

Released on 21-03-2019


  • Fix: trait dialog shows bot scripts again
  • Inbox: Allow sending commands / reviving non-reachable users
  • Inbox: Fix notification logic and extend tests around can_notify
  • Admin: Show environment counts on accounts page, if set
  • Admin: Expose organisation counts to GraphQL for agency accounts
  • Settings: Connect tab opens web widget page
  • Entry: Fix terms / privacy redirect loops
  • Entry: Fix login / signup form margins
  • Settings: Fix skill toggle invalidation
  • General: Set account_id on create agency sub organisation
  • General: Fix change log link
  • Doc: document ui:widget: timezone

Version 1.27

Released on 20-03-2019


  • Add support for heading, profile picture, text input to nudges
  • Put bot's metadata (title, purpose, etc) in bot.yml metadata file


  • Dashboard: Fix external links in README files
  • Settings: Redesign bot settings: Connect, skills and design all fall under settings now.
  • Entry: Add support bot to signup / login pages
  • Build: Permit importing of zip files with non-existing trait references
  • Settings: Improve widget design preview frame
  • Inbox: Show filter toggle button again
  • Inbox: Show event payload on hover
  • CMS: Add ui:field collapsible_array
  • CMS: Add ui:field auto_uuid

Version 1.26

Released on 08-03-2019


  • New (React-based) widget implementation, which includes a conversation list
  • REST API documented through OpenAPI 3 spec (Swagger)
  • Add conversation endpoint
  • Improve 'contained' layout in web SDK


  • Add dashboard to each bot showing key KPI's and instructions
  • Split web frontend into 'web widget' and 'PWA' frontends
  • Web widget is configurable with default color, visitor tracking, widget layout
  • All bots now have an API key for the REST API
  • Fix issue with switching between environments with large nr of bots

Version 1.25

Released on 12-02-2019


  • Add 'live visitors' view: a live view showing current site visitors on the site where the DialoX bubble is hosted
  • Allow sending "nudges" to visitors, either manually or based on conditions, to coerce them into interacting with the bot.
  • Fix ACL checks for example bots and linked default files

Version 1.24

Released on 04-02-2019


  • Add 'skills' section to quickly toggle bot features on and off
  • Support internationalization of settings and content in the CMS


  • Add reset statement which falls back to root dialog (if any)
  • stop statement now ends the bot session right away

Version 1.23

Released on 23-01-2019


  • Bots can be internationalized
  • Initial support for Whatsapp (on enterprise accounts)


  • Move to React Router v4
  • Reorganize 'connect' page
  • All kinds of UI tweaks
  • Internationalization support, string extraction and editing


  • New '_' function for marking translatable strings

Version 1.22

Released on 31-12-2018


  • Support for push notifications in the studio
  • Migration to Blueprint CSS 3.x
  • Organize bot scripts in a tree view
  • Support for creating links to an entire folder of scripts


  • escalate() function which notifies the operator(s) on call from the bot

Version 1.21

Released on 14-12-2018


  • Initial work on making studio and inbox more responsive
  • Show user's last message in the conversations list

Web client:

  • Added "embedded" mode for integrating the chat into a (native) app
  • Allow input controls to be selectively hidden through configuration


  • invoke message: text does not trigger __returning__ dialog when done
  • Allow text matchers to still work after intents have been resolved
  • Allow a dialog to be triggered when the trigger originates from within its own call stack
  • Implement "loose" != operator to complement ==

Version 1.20

Released on 06-12-2018

New platform features:

  • Consistent filtering of users, the inbox and analytics

Bubblescript bugfixes:

  • Do not crash with a RuntimeError when an HTTP request fails (either due to connection issues or due to encoding issues, invalid JSON etc)

Version 1.19

Released on 12-11-2018

New platform features:

  • Intent matching now supports Google DialogFlow™ for enterprise customers (contact us)

New Bubblescript features:

  • Added once do … end block
  • Added invoke x, :return
  • Expose dialog.stack and dialog.history to introspect the dialog flow
  • Allow guards (when ...) on tasks
  • Allow guards on inner dialogs
  • Allow invoke references to dialogs which only exist in inner level

Version 1.18

Released on 05-11-2018

New features:

  • Added Google Assistant support (contact us for enabling it)
  • Add dialog event: "$connect" event on web channel, event triggers
  • Updated BubbleScript to vsn 0.22.1
  • BubbleScript: invoke no longer crashes on unknown dialog or dialog with unmatched guard


  • Web client: fix gray bar below input
  • Web client: Fix push registration in PWA
  • Studio: Show all tags in inbox, do not overlay tags on top of conversation
  • Support IE11 (using babel-polyfill)
  • Studio user detail: Fix that event remove button did not show up
  • Tweaked user email notification timings
  • Fixed a crash in running sessions while publishing a bot in combination with cluster failover
  • Studio operator takeover tweaks

Version 1.17

Released on 10-10-2018

New features:

  • New filtering possibilities in the CRM
  • user_filters YAML script allows to define CRM filter presets
  • CRM shows which users can be reached when they are offline
  • Broadcast message user interface from the CRM
  • Expose user.presence in the DSL
  • New __resume__ dialog which fires when user comes back to the conversation


  • Web client: fullscreen mode fixed
  • Web client: more classes for controlling iframe aspect ratio
  • Studio: show parse errors more quickly, refuse to run broken script

Version 1.16

Released on 03-10-2018

New features:

  • DialoX platform now runs on Google Cloud (GKE)
  • Chat sessions persist state, when you return later, you can continue your previous conversation.
  • emit now has the ability to wake up a user's chat session.
  • When a user is not online when messages arrive, these messages are queued and emailed when the field is set.
  • Add moment: triggers which trigger all sessions on a specific datetime.
  • Studio: "Fast" checkbox in the studio to speed up chat script testing
  • Studio: The run button now always starts from the main dialog

Version 1.15

Released on 25-07-2018

New features:

  • Studio: Add the ability to import and export bots, using a zip file
  • Bubblescript: Add raw: option to HTTP request see here
  • Enable the import/export of the design CSS/JS


  • Fix the localization of SDK labels
  • Add the design javascript code to the PWA when using appearance: app
  • Studio: Fix display of values like true, false and nil in the variables window

Version 1.14

Released on 22-06-2018

New features:

  • Added welcome email when a user signs up
  • Improved onboarding flow for users who dont have rights to create a bot
  • 'error' tag is set when a bot's script crashes, to easily filter the inbox
  • Bots and studio users now have a timezone in which they operate
  • Add timezone to profile settings page in studio
  • Change the way tags are handled in the database
  • Add internal API to automate the signup process

Version 1.13

Released on 11-06-2018

New features:

  • Added barcode scanner input widget, similar to QR code scanner
  • QR and barcode scanner now play a sound when scanned, and have an optional confirm option
  • The gallery template (show gallery_template(…)) shows its content in a modal now by default


  • Fixed bug which prevented users to add domain names for the Javascript SDK

Version 1.12

Released on 29-05-2018

New features:

  • Support for input widgets on all other platforms. On non-web platforms, the user is presented a link to a webview where he can make the input selection, and then is returned back to the chat.
  • Support for running bots on Discord
  • Added guard clauses to Bubblescript dialogs
  • Record a last_message time stamp in the conversation presence


  • Redirect requests for old static files to the latest ones

Version 1.11

Released on 12-05-2018

New features:

  • Added a framework for generic, rich input widgets. Currently, three widgets are supported, a single/multiple item picker, a location input and a generic form. Currently web only.
  • Add builtin pluck() function
  • Improve documentation of builtin functions


  • Studio CSS bugfixes for Firefox

Version 1.9

Released on 23-04-2018

New features:

  • Improve the progressive web app (PWA) features
  • When a user uses an OAuth login, the user details get automatically set

Version 1.10

Released on 02-05-2018

New features:

  • It is now possible to add a basic content management system to a bot, so that non-technically skilled users can edit the bot's parameters.


  • When studio interface crashes, show a friendly error message instead of a white screen

Version 1.8

Released on 09-04-2018

New features:

  • Simplify the user onboarding flow

Version 1.6

Released on 29-03-2018

New features:

  • Allow users to have more than one parallel conversation with a single bot, using the ?g=… parameter.
  • Add LinkedIn and Microsoft OAuth providers
  • Allow emitting events with a variable payload from template buttons

Version 1.7

Released on 06-04-2018

New features:

  • Support web push notifications for clients that support it (Chrome / Firefox)
  • Add await DSL statement which is basically ask without a prompt
  • Allow ask / await to wait for an event

Version 1.4

Released on 14-03-2018

New features:

  • Allow studio operators to take over the bot, talking directly to the user.
  • New as: option to say, ask and show, to impersonate another user.
  • Add "revert to published" option in bot IDE
  • add end_session() function to let the bot end the session.

Version 1.3

Released on 10-03-2018

New features:

  • emit now allows to send a message / event to any user, even if their chat session is already expired. For web frontend, an email will be sent which will prompt the user to open the chat (this only works when the user has an email address).
  • New option to show log messages in the inbox / session history. Activate on "settings" page.

Version 1.2

Released on 23-02-2018

New features:

  • New example bots browser with preview to help you choose an example bot more easily
  • "Terminate session" button on inbox page
  • Session @timeout is now calculated from the last user interaction
  • New data filtering builtin functions score() and filter() which use MatchEngine query syntax.
  • Add log message count to log tab


  • Handle script startup errors in the studio (e.g. when there was an error in an attribute)

Version 1.1

Released on 13-02-2018

Minor changes:

  • Added date_* functions, for date manipulation and formatting.
  • New contained mode for web client


  • Intent matchers with a label: option failed to match
  • Fix formatting errors in the Terms and conditions doc
  • Report VM statistics to InfluxDB

Breaking change: the parse_date has been renamed to date_parse

Version 1

Released on 12-02-2018

This is the initial public release of the DialoX platform and studio. Enjoy!