I liked the new dashboard interface, it’s a lot easier and pleasing to navigate
The new chatbot settings modal is great, much more accessible
The search feature is crazy useful! I like its zoom and focus behavior
The new emulator logs are very detailed and they will make debugging much easier
It’s nice that we now can snap nodes to the grid, and also select them with Shift
SUGGESTIONS
Emulator
Make the production bot available in the emulator as well, maybe with a switch or dropdown to select the environment. Because right now i can only access the production version through the dashboard
The chat in the dashboard should use the same style as the bot sharing page or as the emulator, they’re cleaner and snappier. Maybe standardize all chat interfaces.`
Have better markdown support in the emulator, so we have the actual view even on dev mode.
Dashboard
The button Create chatbot in the dashboard should open a modal with templates to choose from and basic setup like bot name and language instead of creating an bot directly, so we don’t need to edit those after.
Have the bot settings available in the dashboard, the same modal from the Studio would be nice!
Editor
We should be able to change the message type after having selected one and defined values. Right now the change message type disappears after having typed in stuff. The button should remain and if the user wants to change types he must confirm losing the current settings.
Option to select how long is the conversation timeout, right now it’s just 5 minutes which is too short for some use cases.
I would like to able able to select many nodes or cards at once using CTRL, it would help in situations where I want to delete or move several items at once.
The search results should have a label to identify the result type - node / card (with type) / transition / custom code / workflow etc.
Sometimes the AI generates custom code with uncommented free text, which leads to compilation errors.
BUGS
Values are being added as default to array variables when I run array.push()
When I update the label of a choice, the transition is removed
If i define a default value to a number I can’t remove it anymore, I should be able to make it empty/undefined by default instead of 0
When a workflow ends because no transition is matched in a node the chat ends but it doesn’t transition to the conversation end flow. Maybe it should? Since it’s technically an end.
The location title and address is not shown in Telegram nor WhatsApp, the bot sharing page doesn’t show the map nor the address/title, only the GMaps link, and the emulator shows only the title and the address with a link to GMaps. Could we have the same behavior of a map and labels on all (or most) interfaces?
Let me know if you need clarification on any!
Cheers
It’s amazing that we now can restart conversations from a previous point and all data will be restored too, helps wonder with dev and debugging!
It’s nice that when you click the flow editor background the variables show up without the need a button. I also liked the new behavior of expanding the active panel (workflow properties / emulator)
SUGGESTIONS
Flow editor
View/Style
Highlight the right active nodes/cards. Right now, it’s very easy to mistake which one is selected, which can lead to accidental deletions. See example below.
The position in the flow editor should be saved so that when we open a workflow or switch tabs, we have the same view as when we left. It’s cumbersome to have to drag around every time you switch flows.
Better separation of transitions leaving a node. Take a look at the choices below, we can’t tell which one goes where.
When we select a transition card, only the transition of that card should be highlighted instead of all transitions, so that we can know at once where it goes.
Variables
20. The default value of boolean variables should be undefined, or at least allowed to be undefined. Default for number variables also should be null or undefined instead of 0, and we should be able to clear them after having set a value in the input, with a button like below.
For my use case and many others, I guess, having a valid value like this is not ideal and requires state handling (has X variable being changed)
Allow variables in the retry messages too and make the input big like the main prompt message.
When a variable name is changed, ask if the user wants to change it everywhere in the workflow. Very often we need to change names and having to go through every custom code and transition is cumbersome and is very error prone. Right now, it updates the capture cards only.
Being able to see where the variables are used, not just the number of times. A simple list on hover, or we could click the counter tooltip and it would open the search with the variable name prefilled so we can find its uses easily.
When a capture card doesn’t store information in a variable, the “Skip if variable is filled” checkbox should be disabled (greyed out), since it doesn’t apply.
Node settings
In the node settings, we could have a personality rewrite toggle to choose whether we want the rewrite to be enable on that node. It should be disabled/greyed out when the Bot Personality is disabled, and it should be enabled by default when the Bot Personality is on. Fan art below:
Feature to generate cards for a node (with ai tasks, transitions and all) based on the description provided - This would be sick and would speed up development even more!
Emulator
A button to go back to the previous turn. The Replay from node feature is very good already but it still requires us to find the desired node in the editor and click it, when sometimes we just need to go back a few turns.
Show the custom code execution status in the emulator logs.
Environments
Hide environment variables by default on the dashboard
Flow versioning with Git integration.
Create and manage environments (dev, prod, beta)
Selection of current/production environment
API
One of the conversation tags for WhatsApp (and other channels) should be whatsapp:userName, for storing the user’s display name which the messenger already provides. That way we can know more of the user’s info by default.
The conversation updatedAt should be replaced every time there is a new message in a conversation, instead of just when it is actually updated. It would help when listing the conversations and ordering them by the most recent one.
Other
Inbox interface for managing users, conversations, and messages. It would be a GUI for the existing API, with easy access from the dashboard.
By the way I am building a dashboard while you don’t release an official one haha. I will make it available in GitHub in a few days, but here’s a preview:
Roadmap of features and releases so that we know exactly what’s being worked on and what are the time estimates (You could use a tool like ProductPlan, to avoid building a whole interface for that).
New release summaries, so we know exactly what was added/improved/fixed
BUGS
If I choose to replay the conv from another node the event debugger doesn’t change, so I can’t know what the state of the conversation was back then, I need to wait for a turn to get the updated values.
List entities variables don’t show up on flow transition cards as input variables, neither as input for AI task examples.
Retry messages of prompts with buttons don’t show the buttons, just the message. The bot should show the options again otherwise the user may not know the options to choose from. To get the desired behavior I would be forced to use a handle failure transition, but the reprompt message would be the same, and I would need to manage the retry count.
Sometimes Capture cards (with “skip if variable is filled” enabled or not) extract the value from the previous response. This happens at least with WhatsApp and Telegram.
Sometimes messages are not actually sent to WhatsApp, notice the conv below.
I answered yes to a confirmation, and then I should be prompted again, but the next prompt is not shown. You can see in the logs that the bot sends the message (line 292), but it’s not displayed.
Sometimes the bot mistakes the desired option in a choice prompt. You can see below that I selected an option ( Cancel), but the engine extracted another one ( Go back) - This is on WhatsApp only. I think the issues are with the emojis - they are properly displayed on the action buttons on WhatsApp, but the answer text is not sent back correctly or Botpress has a problem reading it. (Proposed solution - the engine should ignore the � (which may be the cause) and try to match only the text)
When I rename a node name or a variable used in a capture information card, I sometimes get errors such as “Node not found” in transitions, and values being attributed to variables with the old names - this is on the emulator
Example of object outputs for AI Task are not being updated, and also the object editor is quite laggy and buggy.
The bot language selected option is being reset to default every time you open the settings panel - only the selection though.
Updated choice labels are not shown in the flow editor, the old values remain until readding the transition.
Hovering over any variable that hasn’t been filled yet shows a strange error message:
Not exactly a bug, but a problem - the bot is too slow on WhatsApp, even with personality disabled and in routes with no ai tasks, it sometimes takes many seconds to get a response.
Sometimes the Dashboard Logs get stuck and the refresh button doesn’t work, so I need to reload the page to get the new logs.
I understand you guys are working on a lot of new features and fixes right now and this here is quite an extensive list, but I ask that you give some special attention to these issues and possible improvements because I think Botpress is almost too unstable for production right now.