Skip to content

Change log

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

Bugfixes:

  • 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

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 operator.name 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

Bugfixes:

  • 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

Bugfixes:

  • Whatsapp 360dialog / gupshup: fill user.phone 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

Bugfixes:

  • 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

Bugfixes:

  • 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

Bugfixes:

  • 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

Bugfixes

  • 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

Bugfixes

  • 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

Bugfixes:

  • 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 botsquad.com/terms 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 (https://sbert.net/) (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

Bugfixes:

  • 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

Training

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

Skills

  • 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

Studio

  • 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

Runtime

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

Bubblescript

  • 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

Bugfixes:

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

Bugfixes:

  • 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.

Bubblescript:

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

Runtime:

  • 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

Bugfixes:

  • 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

Bugfixes:

  • 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

Bugfixes:

  • 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

Bugfixes:

  • 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

Features:

  • 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

Bugfixes:

  • 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

Features:

  • 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

Bugfixes:

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

Version 1.33

Released on 25-06-2019

Features:

  • 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

Bugfixes:

  • 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

Features:

  • 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

Bugfixes:

  • Google Assistant: Do not count health checks in analytics

Version 1.31

Released on 03-06-2019

Features:

  • Add Hangouts Chat (https://chat.google.com) 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

Bugfixes:

  • 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

Features:

  • 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

Features:

  • 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

Features:

  • 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

Bugfixes:

  • 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

Features:

  • 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

Bugfixes:

  • 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

Bugfixes:

  • 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

Platform:

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

Studio:

  • 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

Platform:

  • 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

Studio:

  • 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

Studio:

  • 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

Studio:

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

Bubblescript:

  • 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

Bot:

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

Studio:

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

Bubblescript:

  • New '_' function for marking translatable strings

Version 1.22

Released on 31-12-2018

Studio:

  • 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

Bubblescript:

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

Version 1.21

Released on 14-12-2018

Studio:

  • 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

Bubblescript:

  • 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

Bugfixes

  • 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

Bugfixes

  • 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 user.email 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

Bugfixes:

  • 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

Bugfixes:

  • 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

Bugfixes:

  • 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

Bugfixes:

  • 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.

Bugfixes:

  • 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

Bugfixes:

  • 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

Bugfixes:

  • 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!