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:

  1. Navigate to the Conversation Flow page.
  2. Select a node where you want to add an activity.
  3. Expand the Activities section.
  4. 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 ![Alt text](https://example.com/image.jpg)

    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

    1. Navigate to Advanced > Phrases.
    2. Click Add New Phrase.
    3. 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

ActionFunction
Add NoteAdds a note to the conversation that only agents can view. It will be shown as a hidden message inside the transfered chat:
Conversation SleepDelays the virtual agent for a set duration. I.e. the virtual agent does nothing for X seconds. 
End ConversationEnds the chat session. I.e. stops the conversation with the virtual agent.
Move ChatTransfers the conversation to another virtual agent variant.
Raise ErrorTriggers 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:

ActionFunction
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

Select the department you want to check from the drop-down:

Get Department Queue SizeRetrives the queue size for a given department

Select the department you want to check from the drop-down:
Check if Department is OnlineGet 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 OpenGet 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.

Select the right department you want to route to from the drop-down.
You should end the conversation afterwards so the bot leaves.

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 NameRetrieves the visitor’s name for personalized responses. Dependent that the chat widget collects this data.
Get Visitor InfoFetches 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."

The activity transfers collected user data to human agents. This sets variables that the agents can then see. This could for example be a link to a ticket created by the virtual agent, a summary, information fetched from an API etc. In order for the agents to be able to see this information on calls, you need to enable "Screen popup" inside Puzzel. 

Go to:
https://app.puzzel.com/admin/UsersProducts/Index#

Click "Screen popup":
Follow this guide on configuring "Screen popup": https://help.puzzel.com/how-to/screenpop-and-crmpop-0
Add a variable to the configuration which matches the name of the metadata you are sending from the virtual agent.

For example like this:

<config>
<screenpopup>
<variable title="Callers number:" name="ciq_destination" mapping="none" />
<variable title="Info from API:" name="Bot.information_fetched_from_api" mapping="none" />
</screenpopup>
</config>


Where the variable information_fetched_from_api, is then sent from the virtual agent. 

It would then look like this inside BotStudio:

Get MetadataRetrives 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

ActionFunction
Send SMSA 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 EventTriggers 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

ActionFunction
Prompt LoginRequests 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

ActionFunction
Prompt Chat FormCollects structured user input via a form.
Run MacroRuns a macro
Save metadata in BotStudio logSaves metadata in the Botstudio conversation log
WHOIS LookupPerforms a WHOIS lookup for a given domain
DNS ResolvePerforms a DNS resolution for a given domain
Echo MessageTest interrupt modes, used for debugging
Echo PayloadTests the reachability for backend, used for debugging

Voice and Call Actions

ActionFunction
Transfer to Phone

Transfers a call to a phone number:

This activity would thus forward the call to the Danish phone number 12345678

Callback visitorRequest a callback to the visitor. This can for example be used for handling calls outside of opening hours:

Published

Last updated

0
0