Stella Platform Documentation

Stella Platform Documentation

  • Docs
  • Procedures
  • Reference
  • FAQ
  • Bot API
  • API
  • Languages iconEnglish
    • 中文

›FAQ Chatbot Setup

Get Started

  • Build your First Chatbot

Basic Facebook Chatbot Setup

  • Overview
  • 1.1: Connect to Channels
  • 1.2: Create New Tree
  • 1.3: Build the First Node
  • 1.4: Create a Global Node
  • 1.5: Build Child Nodes
  • 2.1: Production Channel
  • 3.1: Draft a Post
  • 3.2: Create Comment Reply

Basic Instagram Chatbot Setup

  • Overview
  • 1.1: Connect to Channels
  • 1.2: Create New Tree
  • 1.3: Build the First Node
  • 1.4: Create Global Node
  • 1.5: Build Child Nodes
  • 2.1: Create Story Mention
  • 2.2: Create Comment Reply
  • 2.3: Send Push Message

Basic Web Chat Chatbot Setup

  • Overview
  • 1.1: Connect to Channels
  • 1.2: Create New Tree
  • 1.3: Build the First Node
  • 1.4: Create a Global Node
  • 1.5: Build Child Nodes

Basic WhatsApp Chatbot Setup

  • Overview
  • 1.1: WABA Subscription
  • 1.2: Connect WABA
  • 1.3: Check Approval Status of WABA
  • 1.4: Setup WABA with Used WhatsApp Number
  • 1.5: Reset / Terminate WABA
  • 2.1: Create New Tree
  • 2.2: Build the First Node
  • 2.3: Create a Global Node
  • 2.4: Build Child Nodes
  • 2.5: Connect to Datasource
  • 3.1: Create Priority Group
  • 4.1: Create Product Message

Common Use Case Application

  • Overview
  • 1.1: Apply Fail-Safe to Chatbot
  • 1.2: Apply Member Unsubscription Flow to Chatbot

Advanced Chatbot Application

  • Overview
  • Apply Datasource to Chatbot
  • Apply Payload Value to Chatbot
  • Apply API to Chatbot
  • Apply Custom Locale to Chatbot
  • Apply Opt-in Flow to Chatbot
  • Apply Agenda to Chatbot
  • Apply Stella API to Chatbot
  • Apply Web Event to Webchat Chatbot

Error Handling

  • Handle Errors for Chatbot

Stella Partner Portal Setup

  • Overview
  • 1.1: Partner Portal Setup
  • 1.2: New Customer Onboarding
  • 1.3: WABA Setup
  • 1.4: Check Approval Status of WABA
  • 1.5: Setup WABA with Used WhatsApp Number
  • 1.6: Reset / Terminate WABA

Template Tree

  • Overview
  • Create Template Tree
  • Manage Proxy Tree

Chatbot Testing & Deployment

  • Overview
  • Stage One - Tree Building
  • Stage Two - Testing Stage
  • Stage Three - Production Deployment

Slack Live Chat Tree Setup

  • Overview
  • 1.1: Create Tree for Live Chat Assignment
  • 2.1: Set Up Pick Ticket Status
  • 2.2: Create Done Command
  • 2.3: Create Transfer Command
  • 2.4: Create Archive Function
  • 2.5: Create Member Tagging/Remarks Command
  • 3.1: Automatic End Live Chat Function

Zendesk Live Chat Tree Setup

  • Overview
  • 1.1: Create Tree for Assignment
  • 2.1: Create Done Command
  • 2.2: Auto End Live Chat Function

FAQ Chatbot Setup

  • Overview
  • 1.1: Exact Keyword Match
  • 1.2: Keyword Groups Match & Diversion
  • 2.1: Redirect to Existing Chatbot Tree
  • 2.2: Data Analytics for FAQ Chatbot
  • 2.3: NLP for FAQ Chatbot
  • 3.1: Filtering Questions for FAQ Chatbot

NLP Chatbot Setup

  • Overview
  • 1.1: Apply NLP to your Chatbot
  • 2.1: Set Up an NLP Fallback Tree
  • 3.1: NLP Fallback to Other Languages

Connect Shopify Store to Stella

  • Overview
  • 1.1: Integrate Stella to Shopify
  • 2.1: Setup Facebook Messenger Chatbot for Shopify
  • 2.2: Setup WhatsApp Chatbot for Shopify
  • 2.3: WhatsApp Customer Care Notification for Shopify

Stella Inbox Setup

  • Overview
  • 1.1: Connect Channel to Slack
  • 1.2: Access Control & Admin Panel
  • 1.3: Set up Customizable Message
  • 1.4: Inbox Channel
  • 2.1: Turn on Live Chat Directly
  • 2.2: End Live Chat Mode
  • 2.3: Ticketing
  • 2.4: Manage Ticket Helper
  • 2.5: Add Member Tag
  • 3.1: Send Chatbot Message

NLP for FAQ Chatbot

You can improve your FAQ chatbot's intelligence by integrating with natural language processing engines. If you do not have any idea on how to train the NLP engine or build a basic NLP chatbot, please check out these documentations: Google Dialogflow, LUIS & Basic NLP Chatbot Setup Procedure

Please make sure you have input the "Intent" of the question entries correctly as reflected in your training agent/app from the NLP engine. For details on FAQ data source format, please see here.


What is your Result?

  1. Stella will prioritise matching with an intent before escalating to keyword matching.
Example of FAQ Chatbot with NLP
  1. In this way, when user types a sentence without matching any keywords in the FAQ data source, the system will still be able to send the user input to the NLP engine for analysis and finally, return the correct intent to Stella for sending the corresponding response.
Matching Intent in FAQ Data Source

FAQ Data Source Format

Please refer to level one procedure for the the FAQ Data Source Format.


Getting Hands-on

Sample Tree Structure

Tree Structure of FAQ Chatbot with NLP

Create the 1st Tree Node - NLP Integration

  1. Before proceeding, you should have completed the level up to 4.1, 4.2 and the integration with Google Dialogflow or Microsoft LUIS. You may edit the level four tree directly or duplicate a new tree.

  2. Create a tree node in the level four tree and rename is as "NLP Integration".

NLP Integration
  1. Toggle on "NLP" and select the corresponding "Platform", "Integration" and "Locale" of your NLP integration.

  2. Save this tree node.


Create the 2nd Tree Node - Intents

  1. Select the tree node "NLP Integration" and add the next tree node.

  2. Rename it as "Intents".

  3. Create a trigger with the following conditions & relationships:

NLP Trigger

First condition - Type Text:

this.messageEvent.type === "TEXT"

Second condition group - DF or Luis:

DF

this.messageEvent.dialogflow

LUIS

this.messageEvent.luis
NLP Pre-action
  1. Create the pre-action for processing the intent in the FAQ data source below and rename it as "Handle Intents":
return new Promise(async (resolve, reject) => {
  try {
    let dialogflowIntent = this.lodash.get(this.messageEvent, "dialogflow.intent.displayName")
    console.log("Dialogflow Intent", dialogflowIntent)
    
    const docs = await this.fetchDataFromDataSource({
      collectionName: "Insert your Data Source ID here",
      filter: {}
    })
    const ans = docs.filter((doc) => {
      const datasourceIntent = this.lodash.get(doc, "Intent")
      if (datasourceIntent === dialogflowIntent) {
          console.log(datasourceIntent)
          return doc
      }
    })
    console.log("ans", ans)
    this.lodash.set(this.member, "botMeta.tempData.faq", ans[0])
    resolve({ member: this.member })
  } catch (e) {
    reject(e)
  }
})
  1. Input the Data Source ID of the FAQ data source you have been using since level one into the above code.
NLP Response
  1. Create the response for displaying the answer of the matched entry with the following code:
return new Promise((resolve, reject) => {
  let result = this.member.botMeta.tempData.faq
  let response = {}
  console.log("response start", result)
  if (result) {
    switch (result.Type) {
    case "Text":
      response.type = "TEXT"
      response.text = result.Text
      if (result.Preview === true || result.Preview === "TRUE") {
        response.preview_url = true
      }
      break
    case "Image":
    case "Image_Text":
      response.type = "IMAGE"
      response.url = result.URL
      response.text = result.Caption
      break
    case "Video":
    case "GIF":
    case "File":
      response.type = "FILE"
      response.url = result.URL
      response.text = result.Caption
      response.filename = result["File Name"]
      break
    case "Audio":
      response.type = "AUDIO"
      response.url = result.URL
      break
    default:
      response = null
      break;
    }
  }
  console.log("response", response)
  resolve(response)
})
Redirect to FAQ Module
  1. Toggle on "Redirect" and paste the following code into the Advanced tab:
return new Promise((resolve) => {
  let redirectAns = this.member.botMeta.tempData.faq
  if (this.lodash.isEmpty(redirectAns)) {
    resolve({
      tree: this.node.tree,
      nodeCompositeId: "Insert the FAQ Module node composite ID here",
      runPreAction: true,
      sendResponse: true,
      runPostAction: true
    })
  }
})
  1. Input the node composite ID of the FAQ Module you have used from level one to level four to the above code. This is for redirecting to the FAQ Module in case there are no intents matched.

Edit the Global Node for FAQ Module

  1. Change the existing trigger with the following conditions & relationships:
No NLP Trigger

First condition - Type Text:

this.messageEvent.type === "TEXT"

Second condition - No DF:

!this.messageEvent.dialogflow

Third condition - No LUIS

!this.messageEvent.luis
  1. Toggle on Redirect and redirect to the NLP Integration tree node.
Redirect to NLP Integration
  1. Save and see if you can produce the expected outcome.
← 2.2: Data Analytics for FAQ Chatbot3.1: Filtering Questions for FAQ Chatbot →
  • What is your Result?
  • FAQ Data Source Format
  • Getting Hands-on
    • Sample Tree Structure
    • Create the 1st Tree Node - NLP Integration
    • Create the 2nd Tree Node - Intents
    • Edit the Global Node for FAQ Module
Stella Platform Documentation
Docs
Get StartedBot API ReferenceAPI ReferenceStandard Procedures
Community
FAQUser ShowcaseChat with Us
Copyright © 2023 Sanuker Inc. Limited