Congratulations! You now have your AI Agent built! Now, let's customize your agent with all of the many features we offer! Here is where you will learn how. You can click on the tabs and it will take you through the steps.

Rules to follow while editing the Spreadsheet

Once you open a spreadsheet, you see there are different tabs at the bottom. So, don’t change the tab names. Also, when you open each tab, we have some default header rows. Don’t change those, as they are fixed.

Questions

We can add all the questions we plan to ask on this tab. It consists of four columns: text, variable, type, and condition.

text” In this column, we add actual questions

1 Text(required) variable type conditions

variable” The column is used if you want to accept input from the user for that question and store it. As for the variable name:

  • It should be in lowercase letters without spaces. If it consists of multiple words, you can separate them with underscores
  • To use that variable value in the question, include “@variable_name” or use {{variable_name}} in the question field.

“type” Type is divided into two types:

  1. Data Accepting
  2. Data Showing Data Accepting types: If you want to validate user input then these types are used. The default type is text. Different data accepting types- text, email, number, file, etc. If you want to add some regex validation then put the variable name in the type column and add regex for the same name in the “validations” tab.
Type Syntax Usages
Text text This is default type. It will accept any type of string
Email email This type expect "[email protected]" basic email format
Number number This type expect any digit number
File file This type is used to upload file
Regex variablename If you want to add regex to some question, you need to put variable in type and need to add regex in validations tab for same variable
URL url If you want to accept valid url from user, then this type is used
Date date To accept a date, use this date type
Letter letter This type is used to accept only lower and upper case alphabetic characters
Phone phone To validate phone number
Alphanumeric alphanumeric To accept only alphabets and numbers
Birthday birthday This will accept valid birthday formats, including: 01-01-1950 01/01/1950 01.01.1950 Jan 1 1950
Fullname fullname This type will accept fullname from user Eg: Firstname Lastname
Newtab newtab This type is used to open links in a new tab. If we have a list of questions and want to open the text of a specific question in new tab, this type is applied

Data showing types- This type is used to expect questions in that specific format -

Type Syntax
list #listname
sublist #listname.listvariablename
yesno yesno
appointment appointment
confirmation confirmation
service #service
prepaid-service #prepaid-service

Note: If you want to add payment, use “#prepaid-service" type list. Otherwise, for normal services, use “#service”.

Conditions” This column is used for displaying questions based on conditions added in this column.
Syntax: variable_name equality_operator value

Eg. yesno_res = yes  

If we have more than one condition, separate it with conditional operators like &, ||

Syntax: Variable_name equality_operator value conditional_operator Variable_name equality_operator value Eg. yesno_res = yes && car = audi  

Note: If there is no variable name for the message, we combine it with the messages of the next variable. When referring to the previous variable in conditions, you don't need to include the variable name or the operator; simply use the value.

If I have a previous question, the variable is “yesno_res.” We write it as: “yesno_res = yes.”

This can also be written as only “yes”, and it will consider “yesno_res = yes” only. But, it will be applicable for only the immediate next question. It is better to put the full condition like “yesno_res = yes”.

Quick jump: Quick jump is used when user type matching word that putted in word then AI Agent will automatically jump to that question. You can add multiple words in same question separated by “|” pipe. Here is the example of that

1 Hi, @name, what your "email|mail|contact"? email email

Add Proper voice pronunciation for particular word: For adding pronunciation use word followed by rounded bracket inside that put your pronunciation string. For eg. F-150("f one fifty") for “F-150” will add pronunciation like this way.

1 Text(required) variable type conditions
2 Hi, Welcome to Ford. We are super excited about the new F-150("f one fifty") Lightning!

Fastlist: This is another way of displaying a list in AI Agent. If you don't want any other thing like sublist,icon,..other list features then you can use these lists.

**Syntax: #word1 #word2**  
If you have more than one word in your list use these  
**Syntax: #"first word" #"second word"  

Example Usage:**

1 Text(required) variable type conditions
2 How can I assist you? #"Ask Question" #"Get Quote" #"Book Demo" #"Support" what_to_do

Jump (Switching control form one question other based on matching word)

Syntax Description
displayWord|word1|word2|word3 These jumps will be triggered from any input and any question when the matching word is given in input. The first jump word is shown in message
displayWord|word1|word2|word3 These jumps will be triggered from only list input questions. The first jump word shown in message
^word1|word2|word3^ These jumps will be triggered from any input and any questions when the matching word is given as input. All jump words are hidden in message
^^word1|word2|word3^^ These jumps will be triggered from only list input questions. All jump words are hidden in message
yesno(jump_word) If you want to jump to a particular question based on the 'yes' value of yes/no type question, then this jump is used

Images

This tab is used to add the images needed to be used in AI Agent questions.

This tab contains two columns(name,URL)

  1. name:- the name of the image

  2. url: Valid URL of the image Syntax to add an image in questions: in question put this in a bracket such as (imagename.imageextension)

    Eg: We have an image name: carDog: url: https://d1up6ajknjddp7.cloudfront.net/shield-images/carDog.gif

We’ll create a message like this: “Welcome to Runday! (carDog.gif)”. This will include the image in the message.

1 name url
2 carDog https://d1up6ajknjddp7.cloudfront.net/shield-images/carDog.gif

We can import images in text message as follows

1 Text(required) variable type conditions
2 Welcome to Runday! (carDog.gif) If you want to go to an event or purchase a membership click below

Validations

This tab is used to add manual validation to type text, and number

Validation tab header consists of five columns

  1. variable - name of the variable to which we want to apply validation
  2. min - If the variable type is a string, it is used to specify the minimum required length. If the type is a number, it indicates the minimum numeric value
  3. max - If the variable type is a string, it specifies the maximum accepted length. If the type is a number, it indicates the maximum allowed value.
  4. regex - If you want to accept user input that matches a specific regex pattern, please add the regex in the designated column.
    Note:To apply regex to a specific variable, enter that variable as the type in the settings tab's type column. This will indicate that it should be treated as a regex type.
  5. Message - This column is for adding an error message if validation for that variable fails.
1 name min max regex message
2 purpose 2 Enter valid purpose!
3 target_audience 2 Enter valid information regarding target audience!
4 capture_information 2 Enter valid capture information

Lists

This tab is used to add the lists that need to be shown in the question.

The lists tab contains four columns.

  1. name: This column is used for specifying the name of the list, so using this name we can identify which list needs to be shown. List naming conventions: The list name should be only a single word without spaces. If you have more than one word, separate each by using “_”, such as “employee list” should be “employee_list”.

  2. value: This column contains the values of the list items that should be displayed.

  3. icon: This column is for displaying images for the list items. The icon must be a valid image URL.

  4. sublists: To add sublists for a list value, enter the names separated by commas in this column. To include a list in the question, simply use “listname” in the type field with a “#” in the questions tab.

Eg: I have an employee list, so just go to the questions tab and put “#employee_list” in type. And if you want to add a sublist, then use the same list syntax followed by “.list_variable”. Eg: If I have a “makes” list and if it contains different cars, and I want the car modal as a sublist, we can put “#makes.car”. So, here “makes” is a list, and “car” is a variable that contains selected cars from the makes list.

  1. roles(optional): If we added services, then here we can define the role of that service.

  2. time(optional): The value of time represents the meeting duration of a matching role.

  3. price(optional): The value of this property indicates the price of that particular service.

  4. id(optional): The value of this property is the product ID on Stripe.

1 name value icon sublists roles time price id
2 prepaid-service Monthly Premium Pass F 60 9.99
3 prepaid-service Monthly Insider Pass F 50 19.99
4 prepaid-service Monthly University Pass F 40 99
5 prepaid-service Annual Premium Pass E 30 79.99
6 prepaid-service Annual Insider Pass F 10 150
8 event Vault Conference
9 event Membership
10 event Contact Sales
11 event Support
12 event Buy Merchandise
14 tickets General - $797
15 tickets Platinum - $1,247
16 tickets Executive - $2,497

Use your defined lists in the text messages

1 Text(required) variable Type Conditions
2 Welcome to Runday (carDog.gif)
3 If you want to go to an event or purchase a membership click below. You may also speak to someone in sales, or learn more by asking a questions event #event
4 What level ticket would you want to purchase? tickets #tickets
5 Will you please choose which type of pass you want? service #prepaid-service
6 Please click the link below to complete your payment payment
7 You're confirmed. See you soon! payment-confirmation

Settings

This tab is used to configure our AI Agent settings.

1 name value

This tab contains two columns(name, value)

Property Name Usage
icon This property is used to set the bot icon. The value of icon is url.
background This is used to specify background image of chatbot
backgroundColor If you want to use specific hex code color instead of image you can this property
color This property defines the primary text color used in the bot, specified as a hex value.
title To set the title of the chatbot
timezone It defines the timezone of the chatbot( currently, we are using browser timezone)
company(optional): It contains the company url. So it will help to answer the company related questions
demo(optional) This property accepts boolean values only like (true or false). Default is false. If we set true it will consider 9am - 5pm standard availability and set meeting with dev account
stripe(optional) It holds the stripe account ID. If the user is going to his stripe account
sync_url It contains the sync url of the bot where we can sync our spreadsheet
avatar(optional) If you want to alice in your bot then use this one. The value of this property is enum of "Alice". So if we add this property, then we are generating videos for questions with Alice avatar
videoAvatar(optional) The value of this property is the URL for a custom avatar. If you want to replace the Alice avatar with your own, you can add the custom avatar here.
openIconUrl(optional) To customize the default chat icon to open the bot with a user-defined icon
type(optional) The value of this type is an enum that indicates the document type we are uploading. If it is set to "defaults," it will be directed to OpenAI. If the value is "application," it will be treated as a resume and sent to the resume parser
repeats(optional) This property indicates the number of times questions need to be repeated. The default value is "n." If repeats are set to 0, the question will not be repeated.
catchall(optional) The value of "catchall" is the variable name. If OpenAI fails to predict an answer, the corresponding variable questions will be displayed. This property is used to handle situations where lists are provided, and the user inputs a random option that doesn't match; in such cases, the catchall will be triggered.

Latest Release settings tab features:

1. Enable microphone: If you want to enable the speech service, use this feature. It will take a true or false value. The default value is false. A microphone button will now show up on the web agent where you can talk instead of typing. This feature is only available on web based agents.

Syntax: speech

2. Enable video avatar: This key is used to customize the video voice. The value can be any valid voice name accepted by Gooey.

Syntax: voice  

To find voices, visit this website:** **https://gooey.ai/compare-text-to-speech-engines/?run_id=jj3vkot4&uid=fm165fOmucZlpa5YHupPBdcvDR02**

  1. Click on down arrow in settings as shown in above diagram
  2. Select the provider
  3. Pick the voice name as shown in below image
  4. While setting the voice, put provider name colon(:) voice name.For example, for given selected voice it should be, elevenlabs:Dave

3. List modes: This accepts the values numbered or sentence. It is used only for SMS and WhatsApp. If the value is 'numbered', it will use a numbered list. If the value is 'sentence', it separates list items with a comma. The default list mode is 'numbered

Syntax: listmode

4. Catch all questions: If the AI doesn't know the answer, then you can set a question to jump to as a catch all condition. This is useful for instances when you want to control what happens if the agent doesn’t know what to do. The value is the variable name, from the questions tab of the question that you want to jump to.

Syntax: catchall

5. Open the agent automatically: This setting prevents the agent from opening automatically. The default behavior is true.

Syntax: openAutomatically

6. Full screen agent: If you want to see the agent in full screen, set this to "true". The default value is "false.". This option cannot be combined with the document option.

Syntax: fullscreen

7. Document: If you want to use Markdown in the AI Agent preview page, put the value as the public Google Docs URL.

Syntax: document

Here is an example of how the document feature looks

*Below is an example of how a settings tab could look with some of the features listed above: *

Adding and triggering a external webhook (external API calls)

To trigger a webhook after a specific question, set the type to 'webhook' on a blank line below that question. For example, in the screenshot below, there is a webhook that activates after the question asking for an email.

Once the user responds to the email question, the webhook will be triggered.

Your webhook is configurable with the following 3 properties:
1‍. ** webhook_url :** This is used to specify the webhook URL that needs to be triggered. This is a required property.
2. ** webhook_headers :** If you want to specify request headers. This is a required property.
3. ** webhook_body :** If you want to send some data as a POST request with a body. This is a optional property if it is not specified the request will be a GET request.

If you want to use the values of variables from questions, you can simply specify them using** @variable_name**, as shown in the example above.**

Adding different variations of messages: If you want to add different variations of a message, you need to add a pipe between the two variations.

1 Text(required) variable type conditions
2 May I please have your first and last name? fullname fullname
3 {{firstName}}, what's your email? | what is your email address? email email

Setup visitors dashboard: To use visitors dashboard, take a look at following. Image below show you how to setup your agent for visitors dahsboard in the questions tab.

‍1. ** pre-support = true : ** This is used to specify questions that will be asked before connecting the customer to your customer support team.
2. ** support-true : ** This is used for the last question the customer needs to answer before being connected to your customer support team.
3. ** support-not-available : ** This is a message that will be sent to the customer if nobody replies to the request. You can set a custom timeout in the settings tab, after which the customer will be provided with this message.

To enable and customize support system use following settings

1 Name Usage Value Type
2 ticketMultipleSolutions It will provide additional solutions before reaching out to a support agent. The field values can be either true or false. Boolean(true/false
3 supportSlackWebhook This is used to specify where to send support message requests. Webhook URL
4 supportMessage Its used to show custom support message to user Any string message eg. Thanks! One moment while I connect you...
5 supportButton This is used to display the text on the support button. Any string support button text eg. Talk to Customer Service
6 ticket The value of this parameter can be either true or false. Set it to true if you want to allow ticket creation. Boolean (true/false)
7 displayLink It defines how to display link on bot Its accept any of this: short/full/link
8 hubspotToken Used to set hubspot account token Hubspot token
9 logResponses This is used to log responses. The default setting is "all," which means responses will be logged both when the session starts and during interactions. It will accept any of following: interact: Log responses only when the user starts interaction. all: Log all visitors as well as interaction responses. off: Turn off logging the response
10 userQuestionWebhook This is used to specify the webhook to which your question data should be sent. Webhook URL
11 UserQuestionWebhookMessage Used to include a custom webhook message before the dashboard link in the message. Eg. User has asked a question please respond urgently:{{dashboard link}}
12 supportThreshold Activates both support notifications on Slack and transitions the user to the AI question (timeout). This will accept num value as a number for the timeout value in seconds. For example, to set the timeout value to 1 min, set this value to 60
13 supportThresholdClient Transitions the user to the AI question (timeout). This will accept num value as a number for the timeout value in seconds. For example, to set the timeout value to 1 min, set this value to 60
14 supportThresholdNotification Activates support notifications on Slack (timeout). This will accept num value as a number for the timeout value in seconds. For example, to set the timeout value to 1 min, set this value to 60
15 webhook_all_message To send data to the webhook for each message, set this to true. Boolean(true/false)

Contents

This tab is used to answer the questions based on the content link added.

This tab contains two columns (name,url)

  1. ** name: ** name column indicates the name of the doc. It can be any name.
  2. ** url: ** url column indicates the link of file, webpage, or any other online page url that needs to be vectorized.

Response

This tab is used to store chat responses.

Summary

Syntax and questions
list: #listname eg.#makes
sublist: #listname.list_response_variable eg. #makes.makes_variableImage: (imagename.extension) eg. (rundayLogo.png)
Want to use a variable in the message: @variablename
Conditions: variablename equality_operator value (eg. is18 = yes) if want more than one condition just put “&& “ or “ ||” between conditions
If need answer in yes or no format: Then put yesno as type in type column and need to add some variable name as well
Want to add regex validation: Add variable name in type column and put a same variable in validations name column then add actual regex in regex column in validations tab.
Want to schedule an appointment: Add some appointment message and in type put type as “appointment”
Want to change the default confirmation message: Add a confirmation message after the appointment then put in a type of that message is “confirmation”
Want to change default AI Agent name, logo, and background image: Go to the settings tab and change the default name, logo, and url with your name, logo, and url
Want to add an image: Go to images tab > add image name and url > add that image in message
Want to add min, max length or number validation: Go to validations tab and add validations for that variable
Inbuilt validations for number, email, uuid
Want to add service: add list type is service I.e. #service give variable name as service. Add the service list in list tabs. Assign roles, time, and price in the spreadsheet. Create a team. Assign the same roles to the team members and assign that team to this flow.

Want to add payment/stripe: To add a list of type "prepaid-service" (i.e., #prepaid-service), use the variable name "service." Include the prepaid-service names in the list tab. Assign roles, time, price, and ID in the list tab. Enter the "stripe" account ID in the settings tab. Create a team, assign the same roles to the team members, and then assign that team to this flow.

Note: If the chat variable "email" and the type "confirmation" do not exist, they will be added automatically in the script.

Manual Creation

To create agents from the app, log in using your company email. After completing the onboarding process, you will see this home page.

Follow the below steps to create an AI Agent:

  1. Click on AI Agent in the sidebar, then you will see this screen:

If your company has already created bots, you will see a list of bots. Otherwise, you will only see the “+ New Chatbot” button.

  1. To create a new bot, click on the “+New Chatbot” button, which will open this popup.

Here, you will see 2 fields.

In the first field, you will enter the bot name, which can be any alphanumeric name for your chatbot, and this field is required. The second field is optional; you can build a bot on top of another by simply pasting the spreadsheet URL of the other bot.

  1. After filling in these fields, click on the Create button so that it will create a bot for you. You will see that in the bot list.

  2. To view your bot, click on the menu icon on the right side of the bot. This will display various options. From there, select "View" to open your bot in a new tab.

Your bot will look like this:

  1. If you want to change the questions, click on the hamburger menu icon and click Edit

It will navigate to a Google spreadsheet. From there, you can make whatever changes you want. You can add new questions and change your bot name, settings, etc.[

‍](https://www.runday.ai/training#)6. After making changes in the spreadsheet, make sure you sync the bot each time. There are different places where you can sync:

  • From the spreadsheet settings:
    Simply click the sync_url to get the latest updates for your bot. After syncing, make sure to refresh the bot page to see the changes.

  • From chatbot menu:
    From here, you can also sync your bot after making changes to the spreadsheet.

  • Bot menu options in the app:
    With these options, you can sync the bot and receive the latest updates.

Zoom Integration

To link your zoom account you can follow these quick and easy steps.

  1. Navigate to the 'Settings Page' of the application.
  2. Click the “Connections” Tab to navigate to the list of app connections.
  3. Choose the “+” button next to the zoom item and follow the on screen instructions to link your account

USAGE
**After you have enabled the zoom integration it will be used as the primary method of scheduling meetings throughout the app.

  • Navigate to the page of the application
  • Fill out all required fields.
  • Click the ‘Create' button.
  • And meeting will be created.

REMOVAL

If you no longer wish your meetings to be scheduled with zoom you can follow these steps to remove the integration. Your meetings will then be scheduled on Google Meet instead.

  • Navigate to the Settings page of the application
  • Click the “Connections” Tab to navigate to the list of app connections
  • Choose the “-” button. And zoom integration will be removed

**ZOOM INTEGRATION REMOVAL

‍**If you want remove integration completely from app.

  • Navigate to the added page of the zoom marketplace
  • Click the “Remove” button to remove app
  • Next follow the on screen instructions