Conditional Branching Skill

Overview

The conditional branching skill creates different branches in your bot flow based on any number of conditions that you define in the skill.

Already an expert bot-builder, just looking for more technical information? Jump to the following:

The Basics

Need help getting started? Check out these great resources:

Adding conditional branching 

  1. Insert a conditional branching skill
  1. Edit your skill and "Add New Branch"
  1. Name the branch, define the criteria, and save.
  1. Repeat Steps 2-3 for all desired branches
  2. Save and close

Managing Branches

See the following for answers to common questions about conditional branching:

  1. Available logic conditions
  2. Fallback path
  3. Branch priority

Available Logic Conditions 

Web Page

The skill will check the visitor's current web page URL. Logical criteria include:

  • URL is exactly _______
  • URL contains _______
  • URL does not contain _______
Demographics 

Demographic information is captured based on the web visitor’s publicly available IP address.  Below we outline the specific demographic criteria: 

  • Country: Evaluates the country where your web visitors are chatting in from based on IP address.  When setting up a branch, you can select multiple countries in the country dropdown menu.  The system supports the following comparison operators:  
    • In - selected countries are included in the branch
    • Not in - selected countries are excluded from the branch
  • US State: Same as Country
  • Canadian Province: Same as Country and US State
  • Language: Evaluates the web visitor’s language, based on browser settings.  There is only “is” logic for this option; there is no “is not” logic.  Additionally, you can only select one language at a time in the dropdown menu.  The following languages are available in the dropdown menu: English, Spanish, Chinese, Arabic, Hindi, Malay, Russian, Bengali, Portuguese and French. 
Visitor Behavior

Branch visitors based on information gathered by their cookies. See below for specific visitor behavior criteria: 

  • Total website visits: How many times the visitor has visited your site (i.e., the sites where Signals script is installed). The available comparisons are “greater than”, “less than” or “equals”.  
  • Days since last visit: How many days have passed since the web visitor last visited your site.  The available comparisons are “greater than”, “less than”, “equals” and “not equal to”. 
  • Total page views: How many times the web visitor has visited a page on your website.  For example, if a web visitor visits the same URL on your site two times, this will count once toward total website visits and twice to total page views. The available comparisons are “greater than”, “less than” or “equals”.  
  • Visitor bot prompts: How many times a bot has been presented to this web visitor on your site. The available comparisons are “greater than”, “less than” or “equals”.  
  • Booked a meeting: Whether or not the web visitor has booked a meeting in one of your chatbots within a specific timeframe. If the web visitor has booked at least one meeting in the specified timeframe, the criteria is met. The available timeframes are:
    • Ever (i.e., all time)
    • The last 7 days
    • The last 30 days
    • The last 90 days
    • The last 6 months 
  • Failed to book a meeting from calendar:  Whether or not in the specified timeframe, one of your chatbots presented a calendar to the web visitor, but they did not schedule a meeting from that calendar.  If this has occurred in the specified timeframe at least one time, the criteria is met. The available timeframes are the same as the Booked a Meeting criteria.
  • Interacted with bots: Whether or not the web visitor has ever interacted with chatbots.  For example, you can configure one of your chatbots, “Bot 1”, to appear if web visitor has interacted with another one of your chatbots, “Bot 2”.  When configuring this logic, select one or multiple chatbots in the dropdown (the skill will evaluate whether or not the web visitor has interacted with the bots you select). If the web visitor has ever interacted with any of the bots you select in this dropdown, the criteria is met.
Availability 

See the specific availability criteria below: 

  • Day of Week: Whether or not the web visitor is visiting your site on a specific day of the week. You can select multiple days of the week in your dropdown.  
  • Company chat availability: Whether or not the web visitor is visiting your site during the times specified in your company chat availability settings. To learn more about company chat availability, you can visit this support page.  
  • Current time: Whether or not the web visitor is visiting your site during a specific time of day. The available comparisons are the following:
    • Greater than = after the time specified
    • Less than = before the time specified
  • Team availability: Whether or not the web visitor is visiting your site during the Team Availability for the team you specify in the dropdown of this logic condition. To learn more about team availability, you can visit this support page
Visitor Information 

The visitor information criteria allow you to set conditions based on whether or not certain contact information is known. See below for the specific visitor information criteria: 

  • Visitor’s email: Whether or not the web visitor has a value specified in the email field of their contact record.  
  • Visitor’s phone:  Whether or not the web visitor has a value specified in the phone field of their contact record. 
Contact Information 
  • Create branches based on any saved fields in the web visitor’s contact record. All contact fields will appear in the dropdown menu for this criterion, including custom contact attributes.
  • Available comparisons are equals, contains, starts with, and ends with.
Account Information
  • Create branches based on any saved fields in the visitor's company record. All account fields will appear in the dropdown menu for this criterion.
  • Available comparisons are equals, contains, starts with, and ends with.
Segments
  • Create branches within your chatbot based on segments created in Signals or, if integrated, 6sense.
  • The only available comparison for this type of branch is "in", and all applicable segments will appear in the dropdown menu. No multi-select is available for this branching type.

Branch Priority

The conditional branching skill evaluates branches in sequential order, top to bottom within the skill. If a site visitor meets criteria for more than one branch, they will be included in the first branch whose criteria they match.

For example: Suppose you have a conditional branching skill with the following branches in the following order:

  1. Company Segment in ICP
  2. Company Segment in Current Customer
  3. Country not in United States

If someone comes to your website from France who is a current customer and their company matches your ICP segment criteria, they will be assigned to the first branch whose conditions they meet. Thus, they will follow the first branch, Company Segment in ICP.

Note: For best results, place your most restrictive conditions first, and your widest net conditions last.

Change the order of your branches by clicking and dragging:

Fallback Path

By default, the conditional branching skill includes a fallback path for site visitors who don't meet the criteria of any created branches. This fallback path must by nature be the lowest priority branch and cannot be moved or edited.

Using Conditional Branching Skill

Common uses for conditional branching include:

  1. Data Capture: Once a site visitor's email and phone number are already known, skip these questions in future conversations.
    1. Insert a conditional branching skill before your email capture skill
    2. Create a branch: Visitor email is known
    3. Save and close
    4. Connect the fallback path to the email capture skill (this way, visitors who haven't given an email before will still be asked)
    5. Connect Email Known branch to the next step in the bot flow, skipping email capture
  2. Regional Routing: Route a different team or agent to live chat depending on the site visitor's location
    1. For more information about regional routing, see this article.
  3. Agent Availability: Only offer live chat during company or team availability
    1. Insert a conditional branching skill before your live chat skill (or your question skill with button options including live chat)
    2. Create a branch: Company/Team is available
    3. Save and close
    4. Connect the fallback path to a flow that doesn't include options for live chat (book a meeting, leave a message, or content recommendations)
    5. Connect Available branch to live chat (or a question skill that includes live chat as a button option)


How did we do?