To add and configure a new bot, click the Add Bot button from the BotBuilder module.
Sagicc will take you to the configuration view of a new bot. Initially, Sagicc will ask you to specify the following basic information for the bot:
Name: Specify a name for the bot.
Description: Add a description, indicating the purpose/purpose of the bot.
Bot Template: Select one of the available bot templates to start building your bot, or select Empty Bot if you want to create your bot from scratch. The available templates contain examples of different types of nodes and allow you to have conversations with customers for three specific use cases:
Appointment Scheduling: generates a conversation for scheduling an appointment for a specific service. It contains a node that queries available appointment schedules through a web service and displays them to the customer for selection.
Prospect Capture: Generates a conversation for capturing prospects for your company. Captures and stores different prospect data (name, type of document, email, etc.).
Satisfaction Survey: Generates a conversation to conduct a customer satisfaction survey. It asks the customer to rate the service received (on a scale of 1 to 5) and collects comments.
Once the requested information has been entered, click Continue to access the bot builder. Here, you will find the screen divided into three (3) main sections:
The top bar will include the bot's basic data, and will allow you to edit it by clicking the Edit button on the left of the bar. Also, it will include the different saving options of the bot, such as Save version, Publish version, etc.
The panel on the left corresponds to the work area, and will show the different nodes that make up the bot and the connections between them. This graphical visualization of the bot will help you better follow the flow of the conversation. In this work area you can use your mouse to zoom in and out, and also to select a specific node or its connections and move its position within the work area.
The panel on the right side of the screen will allow you to add new nodes and edit the settings of existing nodes. By clicking on the Edit button of a specific node, the node's configuration will be displayed in this panel and you will be able to make the necessary modifications.
Building the Bot: Nodes and Connections
To build the logic of a conversational or transactional bot, you must keep in mind that these are flows or structures made up of connected or linked nodes. In simpler words, building the bot consists of adding the necessary nodes and connections, in the right order, for the virtual assistant to have a fluid and meaningful conversation with the customer.
Each node of the bot flow determines a step or action of the conversation between the virtual assistant and the customer. Depending on the bot's goal, each node has a specific type and configuration. Comparing a real conversation and the nodes of a bot flow, we have the following analogy:
Each node of the bot flow is represented in the workspace by a card, and the connections between the nodes are represented by curved lines joining those cards, representing the sequence or jump from one node to another (find more details in the section https://technisupport.atlassian.net/wiki/spaces/S2MDU/pages/2027552769) . The card of a specific node and its connections contain the following options and/or elements:
Basic Node Information: Displays the basic data of the node, such as name, description and node type.
Edit Node: Click here to view the node configuration in the right pane and make the necessary modifications to the node.
Delete Node: Click here to delete the node from the workspace and the bot.
Add Node: Corresponds to the exit point of the node. Click here to add a new node, and link it to the selected node.
Connection point between nodes: Corresponds to the node's entry point. Using the mouse, you can create a connection between two nodes by clicking and holding (dragging) from the Add Node button (exit point) of one node to the connection point (entry point) of another node.
Remove Connection: Click here to remove the connection between two nodes.
Some other points to take into account in the construction of the bot and nodes are:
Keep in mind what is going to be the message or type of message triggering the conversation. The first bot node must be able to recognize this message and act on it.
Except for the first (has only child nodes) and last node of the flow (has only parent node), all nodes have a parent node or node that links to the entry point, and one or more child nodes that link to the node's exit point.
Logic is important when constructing a bot conversation flow, so the order and sequence of nodes will influence the flow and effectiveness of the conversation.
In case of leaving "orphaned" or unconnected nodes, they will be listening to the customer's messages constantly, regardless of the rest of the flow.
Node Configuration
Name: It is the name of the node.
Description: Is the description and/or purpose of the node within the flow.
Intent: It is the specific intention of the end customer when entering the node. It is recommended that the intentions of each of the nodes are unique and different, since this value will be used to obtain statistics and analyze the bot's conversations.
Pattern: This is the pattern or regular rule that must match the incoming messages sent by your customer for the bot to execute the node's logic. This pattern can be an exact text string (for example, if the given pattern is "Hello", the node logic will execute when the customer types "Hello", or a regular expression that encompasses several options. More information about regular expressions and patterns here: https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Regular_Expressions
Node Type: This is the type of node and must be selected according to the purpose of the node (giving a message to the customer, asking the customer for information, querying an external web service, etc.). The available node types are (find the detailed description of each node type below):
Ask
Say
Capture: By selecting this field type, the following additional fields will be displayed in the form:
Expected: Type here a regular expression to validate the response sent by the customer.
List: By selecting this type of field, the following additional fields will be displayed in the form:
List: Specify here the list of values to be shown to the customer for selection. In case the tickets come from a previous node of Web Service type, use the nomenclature {{webhook.response}}.
Fallback: When selecting this type of field, the following additional fields will be displayed in the form:
Bot: Select here the bot to which the conversation will be moved in case of exceeding the maximum attempts.
Bot Node: Select here the bot node to which the conversation will be moved in case the maximum attempts are exceeded.
Maximum Attempts: Specify here the maximum number of attempts that the customer will have to retry the previous step to this node.
Scheduled Node: When selecting this type of field, the following additional fields will be displayed in the form:
Start Date: Specifies here the start date of the period/range during which this node will be applied.
End Date: Specify here the end date of the period/range during which this node will be applied.
Validator: When selecting this field type, the following additional fields will be displayed in the form:
Condition Type: Specifies here whether the validation rules will be applied with the conditional and (or - all of the rules comply) or with the conditional or (or - some of the rules comply).
Validation Rules: Add one or more validation rules, specifying a variable, an operator, and a value.
Web Service: When selecting this field type, the following additional fields will be displayed in the form:
Request Type: Select one of the available HTTP request types (GET, HEAD, POST, PUT, DELETE, CONNECT, OPTONS, TRACE, PATCH).
URL/Endpoint/IP: Specify here the URL/endpoint/IP address to access the webservice. For example, https://mywebservice.mybusiness.com/getCustomerInfo/4224563
Headers: Specify here the headers that should be added to the HTTP request to consume the web service. For example, { "Authorization": "AccessKey GoCsdWE5rR2x7oXTQ4cPn4fTb5R"}.
Body: Specify here the body of the HTTP request. Generally, this body should have a JSON structure. For example, {"first name": "Jane", "last name": "Doe}.
Timeout: Specify here the maximum time Sagicc will have to wait when consuming the web service. If this time is exceeded, the request will be considered failed.
Dialog Flow
Go to
Bot: Select here the bot to which the conversation will be moved.
Bot Node: Select here the bot node to which the conversation will be moved.
Message: It is the message that will be sent to the customer in this conversation node. It can be a custom message with variables, emojis 😀😎😋, links (https://google.com ), or formatted (hello, hello, ~hello~).
Action: corresponds to an action that will be executed in Sagicc when the conversation between the bot and the customer passes through this node. The available actions are:
Transfer to agent: Transfers the conversation with the customer to a human agent of the campaign, modifying the user assigned to the ticket generated for the conversation.
Transfer to a campaign: Transfers the conversation with the customer to a different campaign.
End conversation: Marks as closed the ticket generated for the conversation with the customer.
Release conversation: Removes the user assigned to the ticket generated for the conversation (Sagicc System) and leaves the ticket free so that any human agent can take it and continue the conversation with the customer.
Enabled: Specifies whether the node is enabled or disabled in the flow.
Node Types
Node Type | Description | Campos Adicionales | Ejemplo de Uso |
---|---|---|---|
Say | This type of node will allow you to say (send) a specific message to the customer and immediately move on to the next node in the flow. | None |
|
Ask | This type of node will allow you to ask a specific question to the customer and wait for an answer. The answers accepted in this node, such as words, numbers or phrases, must be defined in the following nodes to define the flow depending on the answer given by the customer. | None |
|
Capture | This type of node will allow you to say (send) a message, wait and capture the response from the customer to store it in a Sagicc variable. It is possible to add a regular expression to validate the response sent by the customer, and specify the variable in which the response will be stored. Important: It is recommended to configure at least 2 child nodes for this type of node: one for the tickets where the customer's response does comply with the validation pattern, and one for the tickets where the response does not comply with the pattern. |
|
|
List | This type of node will allow you to show the customer a list of options to select from. These options can be static, or they can be previously consulted with a Web Service type node. Important: It is recommended to configure at least 2 child nodes for this type of node: one for the tickets where the customer selects a valid option, and one for the tickets where the customer selects an invalid option. |
|
|
Fallback | This type of node will allow you to execute a specific action in case the bot does not recognize the customer's intent. The node will allow you to say (send) a message to the customer, and return to the previous node for the customer to try to continue the conversation. This behavior will be repeated a specific number of times, and in case of reaching the maximum number of attempts, you can move the conversation to another node or specific bot. |
|
|
Scheduled Node | This node will allow you to execute an action in a specific period/range of time (for example, send your customer a message during the holidays). This node takes into account a start date and an end date, to define whether the logic of the node is applied and the message is sent to the customer. If the node is not applicable, the bot will skip this node and move to the next one. |
|
|
Validator | This node will allow you to perform advanced validations of the input variables captured by the bot. It is possible to configure one or more validation rules in this node. Important: It is recommended to configure at least 2 child nodes for this type of node: one for the tickets where the input variable meets the validation rules, and one for the tickets where the input variable does not meet the validation rules. |
|
|
Web Service | This type of node will allow you to integrate with services external to Sagicc, consume APIs or web services and process information to be used by the bot. This node makes a request to a REST type web service, and stores the information obtained in the variable {{webhook.response}}, which can be used in the following nodes. Important: It is recommended to configure at least 2 child nodes for this type of node: one for the tickets where the request to the web service is successful and information is obtained, and one for the tickets where the request to the web service fails or an error occurs. |
|
|
Dialog Flow | This node will allow you to easily integrate with the Dialog Flow service (Google) and connect your projects with the bot (more information about Dialog Flow here https://dialogflow.cloud.google.com/). Remember that you need administrator access to the Dialog Flow account to get the project credentials and configure this node. |
|
|
Go to | This node will allow you to send the conversation with the customer to a specific node of the bot or move the conversation to another Sagicc bot. |
|
|
Save and Publish the Bot
Once you have finished configuring the bot and all its nodes, click the Save button in the top bar to save the changes and publish your first version of the bot.
Once the changes are saved, you will see more options in the top bar.
Version Selector: Allows you to select between different versions of the bot (published and unpublished). Click on one of the versions to load it into the bot builder and configure its nodes.
Save: Click here to save changes to the selected version of the bot.
Save as new version: After making modifications to a specific version of the bot, you can use this option to save your changes as a new version of the bot. Sagicc will ask you to enter the name of the new version, and when you click Continue, you will have a new unpublished version of the bot.
Upgrade existing version
Update selected version
Delete selected version
Publish: Click here to publish the selected version of the bot. When you publish a bot version, it will be the one that defines the conversation between the virtual assistant and the customers.
Publish as new version
Update and publish an existing version
Update and publish over the published version
Versión | Fecha | Comentarios |
---|---|---|
Versión actual (v. 1) | mar 21, 2023 16:26 | Laura Ortiz |
v. 10 | oct 10, 2024 14:50 | Laura Ortiz |
v. 9 | oct 10, 2024 14:49 | Laura Ortiz |
v. 8 | jun 18, 2024 20:30 | Laura Ortiz |
v. 7 | abr 01, 2024 21:16 | Laura Ortiz |
v. 6 | ene 02, 2024 18:50 | Laura Ortiz |
v. 5 | dic 13, 2023 22:36 | Laura Ortiz |
v. 4 | jul 21, 2023 14:51 | Laura Ortiz |
v. 3 | abr 24, 2023 17:33 | Laura Ortiz |
v. 2 | mar 21, 2023 22:42 | Laura Ortiz |
v. 1 | mar 21, 2023 16:26 | Laura Ortiz |