Skip to content

Change log

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

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 Botsquad 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 Botsquad 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:

  • Botsquad 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 see here
  • 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 Botsquad platform and studio. Enjoy!