Chatbot Authoring
Chatbot Authoring

Chatbot Authoring

How chatbot flow works with Botco.ai

Building a chatbot is fairly straightforward once you understand some basic concepts.

Blocks

Blocks are the “building blocks” of the chatbot. Each block can contain a number of cards that perform actions, like showing text to users or making API calls.

Blocks can be arranged into groups for organization and for finding blocks easier.

Cards

Within each block, cards do the actual work. You can type into the chatbot at any time however so there is no need for a “user input” card. You can however block the keyboard during the running of any text card with fixed button responses.

Cards can collect data, present data, make API calls, or send data to other systems.

Inputs

Each block can have a list of “text inputs” that will match the user’s input. If the AI determines that the input is a “close enough” match, the user will be sent to that block.

Goto

You can also send users to other blocks directly or conditionally based on previous “answers” called attributes collected during the conversation or built into the system

No Match - AI Routing

If the user types an input that does not match any block, they are automatically sent to the AI routing block. Their input is stored as _last_input attribute. From there you may choose to give them a friendly response or you can use Instastack to fetch an answer from uploaded documents. Or you may choose to use API requests to assemble the answer.

Instastack

Basic steps. Upload documents as PDFs, text files, etc., or provide a URL for web crawling. This can be crawled on a schedule as well and older versions will be automatically removed.

Ensure that you test the documents uploaded by using the AI playground module. You can provide test inputs and review the answers, as well as which documents were used for generating the content.

Build the Instastack card, by providing the model as well as the collection if you have divided your uploaded content into multiple collections. This can make the AI work faster but also isolate documents for similar questions, such as different locations which might have different answers to the same question.

Ensure that you provide blocks for situations when the AI does not work due to technical or temporary issues.

Answer

If Instastack returns an answer, you will probably want to display the answer to the user. You can choose to show it with or without the link to the source document that generated the answer

No answer

If there is no answer, then you should probably provide a friendly message to the user, and also mark the situation as a fallback. This gives you metrics for when the AI does not provide answers, and also provides the ability to train the chatbot for this moment.

Fallback

A fallback card marks the point in the chatbot flow where the chatbot could not provide an answer.

Live Chat

If you choose to integrate with a live chat system, the moment of a fallback might also be the moment that you want to handover the conversation to a live agent.

Data Submit

If you have collected information from the user and you wish to send this data to your EHR, CRM or email system, the data submit marks the point at which this would happen. It can be reached multiple times but you must ensure that your CRM can handle updates and not just new records otherwise it will create a new record each time the Data Submit is reached.

Re-engagement

Re-engagement blocks are special blocks that do not have inputs to trigger or goto events, but rather are set off by time of inactivity by the user. For example, you can run a particular action such as a text card or a data submit to submit partially completed or abandoned forms.

Forms+

An older form of “forms” that requires you to enter the exact question that will be asked of the user. There are several limitations, including making it impossible to exit the form without answering all the questions and taking the literal response as the attribute value, even when unrelated data is typed by the user. In most cases using a FormAI card is a better use case. However, you will find Form+ still in use in many chatbots.

Cards

image

Content

Text card: Display information to the user

What is a Text card?

Text cards are the most used cards in the bot builder. Their purpose is to deliver content in a text format and given that we're building conversational experiences most of the experience is text.

image

The text card can be added by clicking on the "T" icon in the top left part of the screen.

Once it's been added, you can now add text content. Keep in mind that this is a conversation and it's important to be short concise as you would when texting a friend. Long paragraphs of text are not recommended therefore we have set a limit of 400 characters per text card. If you can keep it shorter, even better!

There are work arounds like using another text card below. If there's no way around it and you must add a lot of text, we recommend using delay cards in between text cards. For more information on delay cards and how they work, see below.

Once you've entered your text, you might want to add a call-to-action for your conversations to guide a user to a particular goal. These buttons can be created by clicking on "+ Add Button".

image

A pop-up will appear where you can configure the button.

  1. Create a button name. This is what the user will see when the text card appears. Make it short and actionable (ie: Learn More, Schedule Now, View Services).
image
  1. Link the button to a destination. This is to send the user to the correct destination. Here you have a few options - send to another block, open a URL, click to call or send to a form.
  • Block: This is when you want the user to proceed in chat to another content block with more information. For example, they might want to know what services you provide. When they click on the "Locations" button, they will go to a block where you might have a text card with information about your Toronto locations. You might have called this block "Toronto".
image
  • URL: This call-to-action will simply open the URL you added. We recommend you use UTM tracking parameters to keep track of traffic coming from your chatbot.
  • Phone #: This button will open a click-to-call notification on the user's phone or desktop which will trigger a phone call.
  • Form: This one is very similar to Block except it's to send the user to a form to collect some information about them.

Once the button is created, it will appear like this:

image

At any time, you can edit or delete the button using the pencil and trash icons. You can also delete the whole card by clicking on the trash icon at the very top of the card.

Attribute Injection

You can insert attributes in text cards in order to personalize the experience. For example, if you enter ${attribute_given_name}, when a user sees the card, it will show the value set for that attribute. If we have collected that attribute, it will show "John". If the attribute wasn't set, it will not show. You can set the attributes names however you like. Please view attributes article.

Or you can click the “Add attribute” link and a dialog will open for you showing all the possible attributes.

Quick Reply: Quick User Responses

Quick Reply cards are a simple way to guide the end-user's conversation. Using an efficient reply to system, the user can select from the options provided to them within the message. A Quick Reply Card is limited to 400 characters and can host up to 10 buttons (buttons are fixed user cannot rearrange the order of the buttons). The question disappears in the chat once the user clicks on any button on a quick reply card.

Step 1: Open your conversation and click on Quick Reply Card.

image

Step 2: Type question and add buttons accordingly.

image

Let's take an example of a Quick Reply card.

Step 3: Enter a Question and click on +Add Button.

image

Step 4: Here, you will perform the following steps:

  • Add Icon (optional)
  • Enter Button Text – enter a button name, user can add up to 10 buttons.
  • Select Link To from the drop-down list i.e., Block, Email, Phone Number (Note: if a user selects Email or Phone Number then the user will have to enter a valid Email or Phone Number respectively).
  • Select Block – select relevant block name.
  • Click on Add Button

Note: There is no option to add URLs to the block.

image

Repeat Step 4 to add more buttons.

image

Step 5: Click Save.

image

Let’s go through some more examples using a quick reply card.

To let a customer, find any city or state using a quick reply card.

Step 1: Create a Group (Find a State) and then create a new Block (State Names).

image

Step 2: Add a new Quick Reply card.

image

Step 3:

  1. *****Enter a question “Please select the letter of the state where you are looking for facilities. You can also type the abbreviation or name to get to a carousel that has your state.”
  2. Click on Add Button.
  3. Enter Button Text.
  4. Select Link To: Block
  5. Select Block Name., State Names (in this example).
  6. Click on Add Button
image

Repeat the above steps to add more buttons.

image

Step 4: Click Save.

Moreover, you can use a Quick Reply card for the following cases:

  • City Names
  • List Of Insurances Accepted
  • List Of Services
  • List Of Therapists
  • Locations

Let me show you an example of adding Locations.

Step 1: Create a Group (Locations) and then create a new Block (Locations).

image

Step 2: Add a new Quick Reply card.

image

Step 3:

  1. Enter a question “We currently have 29 convenient locations in Southern California. Please pick your nearest location.”
  2. Click on Add Button.
  3. Enter Button Text.
  4. Select Link To: Block
  5. Select Block Namee., Locations (in this example).
  6. Click on Add Button
image

Repeat the above steps to add more buttons.

image

Step 4: Click Save.

Carousel: A series of images presented to user

Carousel Cards are unique in that they allow you to share multiple pieces of content with the user within a single message. Users can click through the content. Use the carousel card to prioritize your content and provide options for the user. A Carousel Card is made up of one or more Carousel Items. You can add up to ten Carousel Items to a Carousel Card.

Step 1: Open your conversation and click on Carousel Card.

image

Step 2: Enter details for the carousel card.

image

Step 3: You will perform the following steps:

  • Click Upload Image – you will browse, select and upload an image.
  • Enter Heading – you will add a heading to their Carousel item.
  • Enter Sub-Heading you will add a sub-heading/short description to the Carousel item.
  • Add a URL – you will add a URL.
image

Step 4: Click the +Add Button

image

Step 5: You will perform the following steps to add a button:

  • Enter Button Name – you will enter the button name.
  • Select Link To – you will select Block, URL, or Phone#.
  • Click Add button – the button will be added.

Step 6: Click Save.

image

Note:

You will click on the following icon to add more carousel items within the conversation.

image

To switch within the carousel items, click on the following icons.

Video/ Image cards: Show an image or Video to the user

Image Card

An Image Card allows you to add an image to your Conversation. Image size should be less than 1MB.

Let’s take an example:

Step 1: Open your conversation and click on Image Card.

image

Step 2: Click on Upload Image.

image

Step 3: Click on Browse Files to select image.

image

Step 4: Select the respective image and click Open.

image

Step 5: Click Save to upload the image**.**

image

Step 6: To delete the uploaded image, you will hover on image and a Delete icon will appear.

image

Step 7: Click on Delete icon and image will be deleted successfully.

Video Card

A Video Card allows you to add a video to your Conversation. Video format should be .mp4

Step 1: Open your conversation and click on Video Card.

image

Step 2: Click on Upload Video.

image

Step 3: Click on Browse Files to select video.

image

Step 4: Select the respective video and click Open.

image

Step 5: Click Save to upload the video**.**

Delay: Pause before showing more data to user

A Delay card adds a timed delay to your response. Adding a delay gives your conversation a more natural feeling.

Step 1: Open your conversation and click on the More option.

image

Step 2: Select Delay from the below options.

image

Step 3: Here, you can add delay to your conversations.

image

Step 4: You will perform the following steps:

  • Enter After Delay time i.e., It should be a numeric value.
  • Select Time from the drop-down list i.e., Seconds, or Minutes.
  • Select/Unselect Show Typing show the user a “typing” indicator within the message during the delay time.
image

Step 5: Click Save and you are done with the Delay card.

SMS: Force response to be sent by SMS

Introduction to the SMS Card

The SMS Card within Botco.ai's authoring platform is an essential tool for engaging with your users directly through text messages. This card enables you to send personalized SMS messages to your users, ensuring continuous engagement even when they are not actively on your platform.

image

Setting Up Your SMS Card

Step 1: Access the SMS Card

  • In the authoring section of your Botco.ai dashboard, find where the SMS interaction fits into your conversation flow.
  • Click on the location to add a new card and select the SMS Card from the available options.

Step 2: Specify the Recipient

  • In the 'Recipient' field, input the attribute that holds the user's phone number. This attribute should be previously collected and stored in the user's session data.
  • Ensure that this attribute, typically sms_number, is correctly formatted and validated to prevent errors during the sending process.

Step 3: Compose Your Message

  • Within the SMS Card, you’ll find a text area where you can type the message you wish to send.
  • Craft a clear and concise message, considering the character limitations of SMS.
  • If needed, personalize the message using attributes to include the user's name or other relevant information.

Benefits of Using the SMS Card

Direct Engagement: SMS is a highly personal and direct channel to reach out to your users, leading to increased engagement rates.

Higher Open Rates: Text messages have a significantly higher open rate compared to emails, making them more effective for time-sensitive communication.

User Convenience: Users can receive and read messages at their convenience without needing an internet connection or app.

Versatility: SMS cards can be used for various purposes, including reminders, follow-ups, promotions, and customer support.

Remember to test your SMS Card before deploying it widely to ensure that the messages are being sent and received as expected. Properly implemented, the SMS Card will be a powerful addition to your chatbot's communication arsenal.

User Data

Attribute: Set a property for the user

The Attribute card within the Botco.ai authoring tool is a vital element for customizing user interactions. It allows you to store and manipulate data based on user input or bot responses, enabling a personalized and dynamic chat experience.

image

How to Use the Attribute Card

Here’s a step-by-step guide to implementing the Attribute card in your chatbot’s workflow:

  1. Access the Authoring Panel: In the Botco.ai platform, navigate to the ‘Authoring’ section where you design the flow of your chatbot.
  2. Insert an Attribute Card: Locate the position in the conversation flow where you need to capture or set an attribute. Click to add a new card and select the Attribute card from the options.
  3. Define the Attribute: Within the card, specify the attribute you wish to capture or set. This could be any variable like user name, preferences, feedback score, etc.
  4. Set the Value: Assign a value to the attribute. This can be a static value, a variable captured from user input, or something that the chatbot computes.
  5. Add Logic (Optional): If your chatbot needs to perform more complex operations with the attribute, use the ‘Add Logic’ function to define conditions or computations. We’ll cover this separately.

Benefits of Using the Attribute Card

  • Personalization: Tailor the chatbot interactions based on the stored attributes to provide a unique experience for each user.
  • Data Capture: Collect important information from users, which can be utilized for analytics or to guide the conversation.
  • Dynamic Content: Adjust the content of the conversation in real time based on the attributes set during the interaction.
  • Conditional Logic: Implement complex decision-making in the chatbot flow by using attributes in conjunction with logical conditions.

Examples of Attribute Card Usage

  • Storing User Preferences: Capture and store user preferences for product types or service options to make tailored recommendations.
  • Tracking Progress: Keep track of a user’s progress through a multi-step process, such as an application or booking.
  • Session Personalization: Use attributes to remember user details throughout a session to avoid repetitive questioning.

Remember, the strategic use of Attribute cards can significantly enhance the functionality of your chatbot, making it more engaging and helpful for users. Utilize this feature to its fullest potential to ensure your chatbot stands out in its service delivery.

Goto: Redirect to different blocks based on user attributes

GO TO cards are one of the most interesting cards in the Bot builder because they offer so many varieties of use cases. We shall cover many of them in this blog post but be sure to check back because there will probably be new ones added every month.

A GO TO card will redirect the user to a different block based on the value assigned to attributes. This will enable you to make your conversation more personal and specific to individual users, therefore, optimizing your interaction with the user. The user will not receive any further content from the current block. The flow will continue in the destination block.

To select a GO TO card, you need to click on “+ More” in the left side card menu.

image

Upon clicking GO TO, the following popup will appear.

image

Here you can add rules and redirect only specific users by performing the following simple steps:

Step 1:

Link the GO TO card with any specific block by selecting Block from the drop-down list.

image

Step 2:

Add rules and redirect specific users by clicking on Add New Rule.

image

Step 3:

Enter/Select the following parameters:

  • The user will enter Attribute Name
  • The user will select IF/ELSE Statement and select Block
  • To add more Values, the user will click on Add Value
  • To add more GO TO statements user, click on Add new GO TO
image

Step 4:

You will click on Save and GO TO card will be saved successfully.

image

If you want to delete any GO TO card, will click on the respective icon and it will be deleted successfully.

Goal: Set an Objective for Tracking for User Flow

The Goal card in Botco.ai is a powerful tool for defining success metrics and tracking the performance of your chatbot. It allows you to set specific objectives for your chatbot interactions and measure how well the chatbot is achieving these targets.

image

Setting Up a Goal Card

Here’s how you can effectively use the Goal card in your chatbot workflow:

  1. Navigate to the Authoring Section: Within your Botco.ai dashboard, go to the authoring tool where you can manage the conversation flows.
  2. Add the Goal Card: At the appropriate point in your conversation flow, add a new card by selecting the Goal card from the available options.
  3. Define Your Goal: Enter a descriptive name for your goal. This should reflect the action or outcome you are aiming for, such as 'Form Submission Completed' or 'Product Inquiry Handled'.
  4. Assign a Value (Optional): If your goal has a quantifiable value, such as a sales target or a lead generation quota, you can enter this amount. This value will be visible in the dashboard for tracking purposes.

Advantages of Using the Goal Card

  • Clarity of Purpose: Clearly defined goals help to align the chatbot’s functions with your business objectives.
  • Tracking Progress: Monitor how often and how successfully the chatbot is meeting the set goals.
  • Quantifiable Metrics: Assign monetary or numerical values to chatbot interactions for a measurable insight into ROI.
  • Enhanced Reporting: Use goal completions to generate insightful reports and data visualizations on your dashboard.

By strategically placing Goal cards at critical points in the conversation, you can harness data to refine your chatbot’s performance and enhance user experience.

Data Submit: Send Data Externally Collected during Chat

We will create a new card that will allow you to send leads or forms into different systems within the app so you could set up the card, configure the card and then set attributes you want to pass over to the Email the CRM.

If you prefer to watch a video, here it is.

Let’s first start with the data submit card by performing the following step-by-step procedure.

Note: The following example is just for your information, you can build new data submit card according to your requirements.

Step 1: First of all, we will create a new Form in your chatbot named Test2.

image

Step 2: Ask 3 simple questions. Enter a Question and click on Add Question.

  • What is your Name?
  • What is your Email ID?
  • What is your Phone#?

Click Next and proceed.

image

Step 3: Let’s quickly setup the entities as the following:

  • What is your Name?
    • Expected Response: @sys.any
    • Attribute: Name
  • What is your Email ID?
    • Expected Response: @sys.email
    • Attribute: Email
  • What is your Phone#?
    • Expected Response: @sys.phone-number
    • Attribute: Phone#
  • Continue to: Select Block and select block name (No Match)
image

Step 4: Click Done button and form will be saved successfully.

image

Step 5: Now create a new block. Click on Create Group and name it as Form Completed.

image

Step 6: Click on the “Arrow head” icon and create a new block and call this block: Thank_you_form.

image

Step 7: We will connect Test2 form with this Thank_you_form block. Click on Test2 and select Thank_you_form block.

image

Step 8: Click Done and form will be saved successfully.

image

Step 9: Click on Thank_you_form, its respective block will be displayed.

image

Step 10: Now you need to click on More.

image

Step 11: Select Data Submit Card.

image

Step 12: Give an appropriate name Completed_form_test2 and click on Save.

image

Step 13: Add Text card and enter the question and click Save button.

image

This was the simplest way of using the data submit card. Now let’s cover a slightly more complex or advanced way of using the data submit card.

Step 1: Click on Test2 form.

image

Step 2: Add a new question. Let’s say What is your favorite color? And click on Add Question button.

image

Step 3: Click on Next and create the following entities:

  • Expected Response: Color
  • Field Name: Color
image

Step 4: Add button responses and link them with the block. For now, let’s add three buttons:

  • Red – link to Thank_you_form block
  • Blue – link to Thank_you_form block
  • Pink – link to Thank_you_form block

Click on Done button.

image

For this specific example, we want each user that has chosen a different color. We want to send them to a different data submit card.

Step 5:  Click on Thank_you_form block and delete the Data submit card.

image

Step 6: Click on Yes to delete the data submit card.****

image

Step 7: Now we will add a Go-To Card.

image

Step 8: Click on Add new rule and select the Attribute Name as Color.

  • Is: enter Red and select block No Match.
  • Is: enter Blue and select block No Match.
  • Is: enter Pink and select block No Match.

Click on Save button.

image

Why we set this go-to card is because we want to send users a custom message for each of these colors and we want to send them. For example, Red we want to send it to a specific email, Blue we want to send it to a different email and so on.

Step 9: Add new forms to link them with the colors we created in Go-To card.

image

Step 10: Click on Thank_you_form and link the block with respective colors.

image

Step 11: Click on Save button to save the card.

image

Step 12: Now you will set up the data submit cards individually. Click on Red_team block.

image

Step 13: Click on Text card and enter Thank you for filling out the form!

image

Step 14: Click on More button and select Data Submit Card.

image

Step 15: Enter the name as Red_team_form and click on Save button.

Step 16: Repeat the Steps from 12 to 15 for blue and pink teams respectively.

image

Step 17: To configure these colors, we will go to Launch page.

image

Step 18: Click on Launch New ChatBot and select your respective chatbot and click on Next.

image

Step 19: Select Web Chat and click on Next.

image

Step 20: Scroll down to the Integration section and you will find the data submit mapping we just created i.e., Blue_team_form, Pink_team_form and Red_team_form.

image

Step 21: For now, click on Blue_team_Form and enter the following parameters:

  • Destination – select Email
  • Sender – this field is non-editable
  • Subject – enter Blue Team New Lead
  • Email – enter your Email Address
  • Email Body – enter the description in the email body
image

Once the user hits that data submit card, that will trigger an Email with the information with these values, set for these attributes and you can do the same for the rest of the teams respectively.

Step 22: Now that you have configured these data submit cards, the last step is to go to the Dashboard and view the completed/submitted data forms.

image

In Data Submits, you will see all the new data submit events being fired and if you have 10 data submits that have been sent, you will see 10 here. We are done with how to use the data submit card.

Fallback: Indicate where the Chatbot could not provide answer

The Fallback card in Botco.ai is a powerful tool for defining where the system could not provide an accurate response. This could be because you do not have a block with a matching input and/or because Instastack did not have a reliable answer for the question.

image

Setting Up a Fallback Card

Generally this is done in the AI Routing block. When using Instastack, you would add the fallback card on the “NoMatch” routing of the Instastack block where no answer could be provided/

In cases, without Instastack, the Fallback block can be placed anywhere in the AI Routing block.

These cards are used to determine when training is needed for a particular question, and also for success metrics.

A name is needed in case, there are instances where multiple fallback cards are needed. One example, might be having different fallback cards for different Instastack collections.

AI Cards

Instastack: Answers from Uploaded Documents

The Botco.ai platform offers a seamless way to add a depth of knowledge to your chatbot through the InstaStack card. This feature allows your chatbot to access and utilize the wealth of information you've accumulated in your knowledge base, giving it the power to respond with precision and relevance.

image

Implementing InstaStack in Your Chatbot

  1. Navigate to Authoring: Within your Botco.ai workspace, select the 'Authoring' section where you can craft your chatbot's responses.
  2. Insert InstaStack Card: Click on the 'No Match' block, which is designed to handle any user inputs that don't have a predefined response. Here you can add an InstaStack card by selecting it from the available options.
  3. Select Your Collection: Choose the collection from your InstaStack that you want the chatbot to reference. Collections are essentially categories of information that are relevant to different parts of your product or service.
  4. Customize the Prompt: Tailor the prompt to guide your chatbot on how to use the information from the collection. This could be a directive to answer specific questions about your company or to provide information on a particular topic.

The Benefits of Using InstaStack Card

  • Relevancy: By linking directly to your curated collections, your chatbot can provide highly relevant information, improving the user experience.
  • Efficiency: InstaStack card allows your chatbot to pull data directly from your knowledge base, cutting down response times significantly.
  • Scalability: As your knowledge base grows, so does the capability of your chatbot to handle a wider array of queries without extra programming.

Example Usage of InstaStack Card

  • Customer Support: Equip your chatbot with an InstaStack card linked to a customer support collection to answer FAQs efficiently.
  • Product Information: If a user inquires about product specifications, an InstaStack card can draw the relevant data to provide accurate details.
  • Resource Guidance: For users needing documentation or guides, an InstaStack card can direct them to the right resources without manual intervention.

Remember, the power of your chatbot's responses is directly proportional to the richness of your InstaStack knowledge base. By strategically using the InstaStack card, you ensure your chatbot is not just a communicator but an informed assistant capable of delivering value with every interaction.

SetAI: Use AI to set Attribute values

The SetAI Card allows you to dynamically set attributes in your chatbot based on a prompt that you provide. These attributes get set in real-time on the runtime of each session with your chatbot.

The SetAI is a new feature leveraging Large Language Models (LLMs) and should be used WITH CAUTION in production use cases for business critical applications because of its potential to generate misleading or false information. This card does NOT have customer data as a safeguard, it’s making direct API calls to an LLM.

Adding an SetAI to your chatbot

You can find the Set AI card in your chatbot cards menu, under the AI section. The step can be added into your chatbot anywhere. Once you have placed your card, you can configure it in the authoring.

image

To configure your attribute, in the Prompt field, provide a description for the type of function you'd like the AI to run for you. You can leverage attribute from your chatbot within this prompt, to make it dynamic.

image

The Set AI card is still a new feature, and for this reason and we recommend to proceed with caution when using it for serious production use cases.

Practical use cases

  • Cleaning up data (Extract first name)
  • Format data (Dates, timestamps, timezones, etc…)

IntentAI: Classify User Intents to Categories

The IntentAI Card allows you to classify the user intent into a series of categories. This can be used to filter the Instastack request to certain collections or direct the user to specific flows such as a lead form or emergency flow.

The IntentAI is a new feature leveraging Large Language Models (LLMs) and should be used WITH CAUTION in production use cases for business critical applications because of its potential to generate misleading or false information. It will usually return the correct intent but not always

Adding an IntentAI to your chatbot

You can find the IntentAI card in your chatbot cards menu, under the AI section. The step can be added into your chatbot anywhere. Once you have placed your card, you can configure it in the authoring.

image

To configure your card. Create a series of topics, or intents that will divide the possible user inputs. Be general and do not add too many as the more intents there are the harder for the AI to sort.

You can add a description for each intent, so keep the name of the intent short

Provide blocks for all the error cases as well as the “fallback” block when none of the intents accurately match the user’s input.

FormAI: Conversational Form Submissions

A new way of getting specific answers from users in chats using AI to more nicely handle formatting and the freeform flow of a conversation.

For example, if you need to get first name, last name, and email from a user. You could create a Forms+ but..

Issues with existing forms, Forms+

  • questions would need to be answered in exactly the same order
  • there is no way to exit the form
  • no simple way of doing complex validations
  • even simple formatting of answers like removing niceties like “My name is John” to simply store John as first_name is not possible

However…

💡
This is not recommended when the question needs to be phrased exactly as customer required as the AI is generating the questions

This new system requires two steps. A card in the block and a card in the AI Routing block to return flow to that block until the form is completed or an exit is requested.

Step 1

Set up a FormAI card in a new Block - personal in this case.

image

Naming

  • Supply a simple one word name
  • Add as many fields as needed
    • We have tested with 3 or 4 but have not tried more
    • It’s probably best to break this up into separate forms if you a lot of fields to collect
    • The name here BECOMES the attribute name so:
      • Use a VALID attribute name here (no spaces, no special characters) and keep it short
      • Use lowercase only
      • if an invalid attribute name can be converted into a valid one, it will be, so the name may not match 100% what you typed unless you follow the rules above

Exit Blocks

  • Two blocks are required
    • Incomplete block for when the user does not want to complete the form. They can return to the form at a later time.
      • _last_input will be what the user last typed. This could be an unrelated question or it could be something like “please exit this form”, or “I don’t want to answer” etc.. Consider that if you are planning on using Instastack for the “last input”
    • Complete block for when all the questions needed have answers. Note: In the case of branching logic, not all questions will have answers.
  • When exiting form, the AI will not display any text to the user, so the exit blocks should display something, either manually or with an Instastack card

Validation

  • Include any additional validation you might need
    • examples:
      • email - limit domains
      • state - must be one of the following : Georgia, Texas, Calfornia
      • phone - Must be US based (have not tried, might not work)
      • sex - male, female, other, rather not say
      • middle name - optional, if user does not provide, enter “n/a”

Buttons

  • In the validation section you may also add Possible answers
    • When a question has a Fixed set of answers, the system will generate buttons automatically
    • A format that seems to work is options separated by | and surrounded by ( )
      • for example:
        • (yes | no)
      • other formats might work, but this has been tested and works

Advanced

  • Advanced section - Allows you to add additional prompt that is specific to this form
    • For example, branching logic for when certain questions only follow other questions
    • Ask for Confirmation - will prompt the user to confirm all the answers they have given before proceeding

Step 2

At the very top of the AI Routing Block, provide a GOTO card that directs you to the block containing the FormAI card

image

The name of the attribute containing the status is ${name_of_form}_status

So in this example where the form is named “personal” the attribute is personal_status

the value is in progress

API Cards

API

Use an API Card to integrate data from a third-party application. The API card will enable you to specify templates to consume data and format it to be viewable through the bot conversation.

Step 1: Open your conversation and click on the More option.

image

Step 2: Select API from the below options.

image

Step 3: To integrate any 3rd party application, you need to input the API details.

image

Step 4: Select API ID and enter API URL, and API Body.

Step 5: Click on +Add Parameter to add parameters.

image

Step 6: Enter the Parameter Name and Value and click on Add Parameter.

image

Step 7: You can Select Json Templates or Set Attribute.

image

Step 8: To add Json Templates, the user will click on +Add Json Templates.

image

Step 9: Here, you will create a JSON template to format API’s response.

Select Json Type from the drop-down list and its respective template example will appear. You need to add your JSON code and click Save.

image

To add attributes, you will select Set Attributes and enter attribute details.

SMS Validation

When building a chatbot, one of the critical steps is verifying user-provided phone numbers. The SMS Validation Card is an essential tool in this process. It connects with a service to ensure the format and validity of the phone number before any SMS is sent. This step is crucial for maintaining effective communication and ensuring that your messages reach the intended recipient.

image

How to Add and Configure an SMS Validation Card

Step 1: Navigate to the Authoring Tool

  • Access the authoring section of your Botco.ai dashboard where you craft the conversation flow.

Step 2: Incorporate the SMS Validation Card

  • In your authoring canvas, select the option to add a new card and choose 'SMS Validation' from the list.

Step 3: Input and Output Configuration

  • Specify the 'Input attribute' field with the variable that stores the user's phone number.
  • Set up 'Output attribute' to store the validated phone number or error message, which will be used in subsequent conversation steps.

Step 4: Define Validation Rules

  • Establish rules for different validation outcomes such as 'Success', 'Number Invalid', 'Number In Use', or 'Other Error'.
  • Link each rule to the corresponding block in your conversation flow, ensuring users are directed appropriately based on the validation result.

Step 5: Save Your Configuration

  • After setting up the validation rules and actions, save your settings to ensure the SMS Validation Card is ready to verify phone numbers as users interact with your chatbot.
image

Benefits of Using the SMS Validation Card

  • Accuracy: By validating phone numbers, you minimize the risk of sending messages to incorrect or non-existent numbers, ensuring your resources are used efficiently.
  • User Experience: Proper validation prevents user frustration that can occur from non-delivered messages or errors in communication.
  • Compliance: It helps in complying with regulations by ensuring you only send messages to valid numbers, avoiding potential legal issues with communication laws.

By implementing the SMS Validation Card in your chatbot's authoring flow, you set the foundation for robust and reliable communication via SMS. It's a straightforward yet powerful way to ensure your chatbot is equipped for effective interaction with users.

Handover

The Hand Over card enables you to either transfer the user to a Live Agent Application or to transfer the user’s conversation to an Admin or Messenger inbox.

You will log in to your botco.ai and open your chatbot conversation.

Step 1: To add a new Hand Over card, click on More.

image
  • *Step 2: Click on the Hand Over card.
image
  • *Step 3: Fill in the required fields.
image

You need to enter the following details:

  • Live Chat Transfer Message - Enter a message that will appear in the chat window. For example: ******Please stay with me. I am connecting you to an Agent.
  • Stay with Chatbot (Agent Offline) - Select a Block Name (e.g., No Agent Available) that should be displayed in case the agent is offline and the user has to stay with the chatbot.
  • Return to Chatbot (Agent Transfer) - Select a Block Name (e.g., Return to Chatbot) that should be displayed once the user returns to the chatbot.
  • Note: Before selecting the Block Name, you will have to create an appropriate block with the message you want to show to the user

Step 4: Click Save.

image

Here you go! You have successfully set up a live chat handover block. Launch your Chatbot and use the live chat handover feature.

When wanting a live chat integration, make sure to reach out to your account manager and we’ll prioritize it.

Action Cards

Action cards are custom cards that may be added for your account and not other customers. They are available only in special circumstances and most likely not needed in most chatbots.