Activities
Overview
Activities in BotStudio define the actions a chatbot performs at different points in a conversation. These actions include sending responses, setting variables, integrating with external systems, and executing platform-specific functions.
This document provides an overview of activity types, with a focus on PCH Puzzel platform-supported actions.
Screenshot Placeholder: Insert an image of the Activities section in BotStudio.
Adding an Activity
To add an activity to a node:
- Navigate to the Conversation Flow page.
- Select a node where you want to add an activity.
- Expand the Activities section.
- Click Add Activity and select the appropriate activity type.
Screenshot Placeholder: Insert an image showing how to add an activity in BotStudio.
Activity Types and Their Functions
Response
- Sends a message to the user.
- Supports variables, links, and images using Markdown syntax.
- Example:
Hello {customer_name}, how can I assist you?
Screenshot Placeholder: Insert an image showing response activity setup.
Including Links and Images in Responses
- Use Markdown to format links and images.
- Example:
[Click here](https://example.com)
or
Screenshot Placeholder: Insert an image demonstrating Markdown formatting in responses.
Using Phrases
- Phrases function as predefined responses.
- Useful for ensuring consistent and efficient chatbot replies.
- Example: A phrase named “Greeting” can contain the text “Hello! How can I help you today?”.
Creating a Phrase
- Navigate to Advanced > Phrases.
- Click Add New Phrase.
- Provide a name and the actual phrase content.
Screenshot Placeholder: Insert an image of phrase creation in BotStudio.
Managing and Editing Phrases
- Phrases can be edited and removed within the Phrases section.
- Editing a phrase updates it everywhere it is used.
Screenshot Placeholder: Insert an image of editing an existing phrase.
Generative AI Responses
- Uses AI to enhance chatbot replies.
- Options:
- Make response friendlier
- Make response clearer
- Make response more formal
- Generate new response from prompt
Example: Enhancing a Response
- Original: “I will check your request.”
- Enhanced (Friendly): “Let me take a quick look into this for you!”
Screenshot Placeholder: Insert an image of Generative AI response options.
Set Variable
- Stores user input or system-generated data.
- Example: Capturing the user’s name →
user_name = {customer_name}
Screenshot Placeholder: Insert an image showing variable setup in BotStudio.
Integration
- Calls external APIs to retrieve or send data.
- Example: Fetching a customer’s order status from an external system.
Screenshot Placeholder: Insert an image of integration setup in BotStudio.
Control Flow
- Adds conditional logic to chatbot interactions.
- Example: Directs users to different nodes based on their previous responses.
Call Model
- Invokes a Natural Language Understanding (NLU) model to classify user input.
Metric Signal
- Tracks chatbot performance metrics for monitoring and reporting.
Rich Responses
- Sends interactive buttons, images, or structured replies.
- Available for Zendesk and Puzzel integrations.
WYSIWYG Editor
- Formats chatbot responses with rich text, used primarily in Mailbot.
PCH Puzzel Platform Actions
Below are platform actions supported in PCH Puzzel.
Conversation Control Actions
Action | Function |
---|---|
Add Note | Adds a note to the conversation that only agents can view. It will be shown as a hidden message inside the transfered chat:![]() |
Conversation Sleep | Delays the virtual agent for a set duration. I.e. the virtual agent does nothing for X seconds. |
End Conversation | Ends the chat session. I.e. stops the conversation with the virtual agent. |
Move Chat | Transfers the conversation to another virtual agent variant. |
Raise Error | Triggers an error state in the virtual agents flow which will cause it to go to the error node configured under https://botstudio.<your-domain>/bot/<bot-id>/edit-node/error |
Agent and Department Actions
Prerequisite for using the platform actions in PCH:
Create an API-user for the bot to synchronize:
Enable Webaccess for the queues you want to use from within the bot here:
https://app.puzzel.com/admin/ServicesQueue/Index
If you don't have the dropdowns that fetches information dynamically, then you can set the IDs in the red circle above, to target the queues you want to fetch information from.
It should then be specified like this for example:
Action | Function |
---|---|
Get Department Online Agent Count | Checks how many agents are available in a department. Select the right department you want to check from the drop-down: |
Get Department Waiting Time | Returns information on the wait time to a specific department |
Get Department Queue Size | Retrives the queue size for a given department Select the department you want to check from the drop-down: ![]() |
Check if Department is Online | Get information whether there is at least 1 agent online in a given department Select the department you want to check from the drop-down: ![]() |
Check if Department is Open | Get information about whether the given time module is open:![]() This name can be found under this URL: https://devapp.puzzel.com/admin/ServicesTime/Index You need to click the checkbox to mark it for webaccess ![]() |
Transfer to Department | Routes the chat to a human support department. NOTE: If you don't have the drop-down here, then you need to use the system queue name from Puzzel. This can be seen by hovering over the name of the system queue you want to transfer to. Like this for example: It should then be specified inside BotStudio like this: |
User and Metadata Actions
Action | Function |
---|---|
Get Visitor Name | Retrieves the visitor’s name for personalized responses. Dependent that the chat widget collects this data. |
Get Visitor Info | Fetches additional session metadata. The response contains the URL that the user started the chat on. The output can for example look like this: ![]() |
Send Metadata | The virtual agents can set two types of variables: Session variables and request variables. Session variables needs to be used for voice calls whereas request variable can be used for chat. NOTE: Session variables are created by giving your metadata a name that starts with "Bot."
It would then look like this inside BotStudio: ![]() |
Get Metadata | Retrives metadata from Puzzel PCC Chat application. The result can for example look like this:![]() Or as JSON {"accessNumber":"Q_CHAT_BOT","customer":"18002","timezone":"W. Europe Standard Time","country":"NO","sessionType":"BoSE","queueKey":"Q_CHAT_BOT","queueId":876,"requestId":3014388,"userId":123567,"currentUserId":123570,"mediaType":"Chat","mediaSubType":2,"additionalInfo":null,"variables":{},"debug":"false","iqSessionId":"7b8a3de4-6e40-47fb-87ad-e92e0ffcb777","source":"980af448-499d-4c0c-8924-6205f123c70b","destination":"Chat_18002_Q_CHAT_BOT","external_links_clicked":[],"attachments":[]} |
Set Reported Language | Used for dynamically setting the language of a given conversation. This means filtering in Conversation Logs, Statistics, & Insights, but also that you can for example detect the user-language and then use the detected language to dynamically alter the language of the chat, so GenAI responses will be generated in that language. |
Communication Actions
Action | Function |
---|---|
Send SMS | A prerequisite for this is that SMS must be configured for your virtual agent. If the example below doesn't work for you, then please reach out to your Puzzel representative, who can help enable it. Sends a text message to a user’s phone. You should prepend the phone number with 00 and your country code. For the Danish phone number "12345678" it would thus look like this: ![]() The input fields support BotScript, allowing it to be dynamic based on the dynamic state of the VirtualAgent. |
Send Email | A prerequisite for sending emails is that an email client is configured. Reach out to your Puzzel representative if the below example doesn't work for you, and you would like it to. Sends an email. It should be configured like this: |
Send Frontend Event | Triggers an event in the chat widget or webpage. Can be used for navigating to a specific site or highligting a DOM element. Here is an example with navigation:![]() |
Authentication Actions
Action | Function |
---|---|
Prompt Login | Requests the user to log in before proceeding. It waits for one of these keys to be set ['Identifier', 'UUID', 'CVR', 'Email', 'Navn'] with a secure source. This needs to be configured in the chat widget and Puzzel ID as well to work. More info here: https://help.puzzel.com/product-documents/user-guide/puzzel-contact-centre/puzzel-administration-portal/services/puzzel-contact-centre-chat-new-documentation-and-digital-journey-orchestration/visitor-identification |
Advanced Chatbot Controls
Action | Function |
---|---|
Prompt Chat Form | Collects structured user input via a form. |
Run Macro | Runs a macro |
Save metadata in BotStudio log | Saves metadata in the Botstudio conversation log |
WHOIS Lookup | Performs a WHOIS lookup for a given domain |
DNS Resolve | Performs a DNS resolution for a given domain |
Echo Message | Test interrupt modes, used for debugging |
Echo Payload | Tests the reachability for backend, used for debugging |
Voice and Call Actions
Action | Function |
---|---|
Transfer to Phone | Transfers a call to a phone number: This activity would thus forward the call to the Danish phone number 12345678 |
Callback visitor | Request a callback to the visitor. This can for example be used for handling calls outside of opening hours:![]() |