Stella Platform Documentation

Stella Platform Documentation

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

›Stella Inbox 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

Ticketing

In Slack Inbox, a Ticket refers to a Live Chat Request. A Ticketing Channel is where the agents can find and accept a Live Chat Request, different ticketing channels can be created for different teams in your business.

In general, there are 3 ways to initiate a Live Chat Request in Stella Inbox.

  1. Ticket initiated by user: The user can trigger a live chat request from the chatbot.
  2. Ticket transferred from you to another Team: You can assign a ticket to another team.
  3. Ticket transferred from another agent to you: Agents from other teams can assign a ticket to your team.

In this section, you will learn how the ticketing system functions in all 3 situations.

Sometimes, a customer's enquiry may be related to another team. In this case, an agent can transfer the Live Chat Ticket to another team in Stella Inbox. The request would be passed to another agent when the Ticket is accepted in the Ticketing Channel of another team.

What is your Result?

An agent from technical team has accepted the transfer ticket and take over the chat.

The agent from another team takes over the chat

Getting Hands-on

Before getting started, you need to create and set up a ticketing channel for your team in order to work with the ticketing system.

Default Ticketing Channel

Upon successful installation in the Stella Inbox Portal, two ticketing channels will be automatically created for you. You can start setting up based on these default channels, instead, you can also create a ticketing channel from scratch.

Default Ticketing

Create Ticketing Channel

In Stella Inbox, Ticketing Channel is where you can receive and accept live chat request. Once an ticket is accepted by an agent, he/she can proceed with the conversation in a Inbox Channel created by Stella Inbox.


  1. In your Slack workspace, click the Add channels, and then Create a new channel to create a new Slack channel as your ticketing channel for Stella Inbox.

Create a Slack Channel
  1. Fill in the basic information for your new ticketing channel, including channel name and channel description. Toggle on “Make private” if you want to create a private ticketing group. Then click “Create”.

Input Channel Information
  1. Add your corresponding teammates who will be handling live chat enquiries to your newly created channel.

Add Teammates to your Slack channel
  1. In order to add the Stella Inbox App to your ticketing channel, click “i” at the top right corner of your Slack workspace and then click “More". Then, select “Add apps”.

Add Stella Inbox App to your Slack Channel - 1
  1. Find the Stella Inbox App or your custom Slack app you have previously installed to your workspace. Select "Add" to add the corresponding app into your ticketing channel.

Add Stella Inbox App to your Slack Channel - 2
  1. By selecting "View 1 app in your channel" in the channel menu, you should be able to view the Stella Inbox App or your Slack custom app being added to your channel.

Add Stella Inbox App to your Slack Channel - 3
  1. In your channel, you can type "@Stella Inbox" and click "Enter" to test if Stella Inbox has been added to this channel.

Add Stella Inbox App to your Slack Channel - 3
  1. Now you have created a ticketing channel and have Stella Inbox added to your channel.

New Ticketing Channel & Stella Inbox App

Private Priority Group

In order to get the ticketing system working, you will need to adjust the settings in the Admin Panel, you can learn how to get access to the panel in the past section.

  1. You should find the Admin Panel as shown below.

Open Admin Panel
  1. Select Private Channel Priority Group, add your teammates who are responsible for handling live chat request. They would be notified first when a live chat request is created, while all the members in the channel can view the conversation.

Private Channel Priority Group

Please do not add "Single-Channel Guests" to your Prviate Channel Priority Group to avoid potential error when new inbox channels are created. You can click here know more about the difference between "Single-channel Guest" and "Multi-channel Guests".

  1. In Stella Inbox, newly added admins and members are unable to view conversation that started before they join. If you want this new member to participate in an existing conversation, you need to first add them to the the Inbox Channel by selecting the member lists at the top right, then select "Add people".

Add New Member to Existing Inbox Channel
  1. Select Ticketing Channel Settings, you can add, edit or delete ticketing channels. Channel refers to the name of your ticketing channel, while Label refers to the name of corresponding team, i.e. "Business Team". You can add multiple ticketing channels. Remember to add the ticketing channel you just created, input your team name in Label.

Ticketing Channel Settings-1
  1. Select Show Agent Name, you can determine whether you want the agent's name to be visible to the user. Select True to show or False to hide it.

Show Agent Name

Set up for User Initiated Ticket

In order to let user initiate a live chat request while interacting with the chatbot. You need to add a pre-action in to the corresponding tree node of your chatbot.

  1. Log in Stella, go to Bot Builder, create a tree node for the user to initiate Live Chat Request.

Setup Live Chat Request - 1
  1. In the node inspector on the right side, select Pre-Action, then select + New Action to create a pre-action.

Setup Live Chat Request - 2
  1. Copy the following code and paste it into Pre-actions. Remember to match the "label" with the label you have created for you ticketing channel in step 12. Click Save when you are done. Now, your customer can request a live chat while interacting with your chatbot in WhatsApp.
Please refer to the following sample if you are using the Core Version v2.6 or below.
return new Promise(async (resolve, reject) => {
  try {
    const webhookURL = "https://bqukbmg4af.execute-api.ap-southeast-1.amazonaws.com/prod/relay"
    const messageEvent = {
      type: "LIVE_CHAT_REQUEST",
      member: this.member._id,
      channel: this.channel._id,
      app: this.member.app,
      label: "Support Team", // optional
    }
    try {
      const result = await this.findAndModifyMember({
        filter: {
          _id: this.member._id,
          "botMeta.liveChat": false
        },
        withModifier: true,
        patch: {
          $set: {
            "botMeta.liveChat": true
          }
        }
      })
      if (result.value) {
        await this.fetch(webhookURL, {
          method: "POST",
          headers: {
            "Content-Type": "application/json",
          },
          body: JSON.stringify(messageEvent)
        })
        this.member.botMeta.liveChat = true
      } else {
        throw new Error("ticket creation in progress")
      }
    } catch (err) {
      console.log("webhook url error", err)
      throw new Error(err)
    }
    resolve({ member: this.member })
  } catch (e) {
    reject(e)
  }
})

Please refer to the following sample if you are using the Core Version v2.7 or v2.8.
return new Promise(async (resolve, reject) => {
  try {
    let groupName = "live chat group name_"
    let requestText = "request text sending to ticketing group or admin"
    let summary = "a summary send to admin in a live chat channel"
    let ticketButtonTitle = "Chat with user"
    const result = await this.findAndModifyMember({
      filter: {
        _id: this.member._id,
        "botMeta.liveChat": false
      },
      withModifier: true,
      patch: {
        $set: {
          "botMeta.liveChat": true
        }
      }
    })
    if (!result.member) {
      throw new Error("Ticket creation in process")
    }
    this.createAssignment({
      history: true,
      member: this.member,
      assignmentDetails: {
        summary,
        groupName: groupName,
        relayMessage: {
          slack: {
            type: "BUTTON",
            text: requestText,
            buttons: [{
              type: "postback",
              title: ticketButtonTitle,
              payload: {
                payload: "PICK_TICKET"
              }
            }]
          }
        }
      },
      label: "default"
    }).then((json) => {
      console.log(json)
      this.member.assignmentId = json.assignmentId
      resolve(json)
    })
  } catch (e) {
    reject(e)
  }
});

Setup Live Chat Request - 3

Accept Ticket

A user can initiate a live chat request while interacting with the chatbot, then an agent can accept the ticket and enter live chat mode.

Accept Ticket - 1

  1. When a user sends a Live Chat Request, a Ticket would appear in the Ticketing Channel. The agent can select "Pick" to accept the ticket.

Accept Ticket - 1
  1. After an agent accepts a Ticket, the "Pick" would become "Processing by [Agent Name]". The link shown below is the link to its Inbox Channel.

Accept Ticket - 2
  1. The agent can view the Inbox Channel now. Stella Inbox has stated the information of the user and the name of the ticket handler. When a ticket is accepted, the Live Chat Mode is turned on automatically. Therefore, the live chat status is "True". Now, you can chat to the user directly.

Accept Ticket - 3
  1. When you finish the enquiry, you can end the live chat, then the chatbot mode would resume. You can refer back to End Live Chat Mode.

Transfer Ticket

The agent encounters an equiry which should be handled by another team, and the agent decides to transfer the Ticket to another agent.

Encounter Enquiry

  1. Hover over a message in the inbox channel, select "More actions" on the right, then select "More message shortcuts".

Open Live Chat Control - 1
  1. You can see a list of Message Shortcuts in the menu. Select Live Chat Control.

Open Live Chat Control - 2
  1. You can see the panel of Live Chat Control now.

Open Live Chat Control - 3
  1. In Live Chat Control, open the dropdown list and select the Ticketing Channel of the corresponding team. Then select "Proceed".

Transfer Live Chat - 1
  1. When the Live Chat Ticket is transferred, Stella Inbox would notify you about the Label and Name of the target ticketing channel. As the agent from another team has not accepted the ticket, the ticket status shown is "Pending". (Remember to set up the Label and Name in the ticketing channel settings.)

Transfer Live Chat - 2
  1. You can see Stella Inbox notification about the change in the Inbox Channel. When an agent from the Technical Team 2 accpets the ticket, the ticket status becomes "Active". A Customizable Message is also displayed in user's WhatsApp. (You can set up your own customizable message here.)
The agent successfully transfer the ticket to another agent
  1. If another agent transfers a ticket to your team, you can repeat steps 17 - 20 in Accept Ticket.

  2. Check and see if you can produce the expected outcome.

← 2.2: End Live Chat Mode2.4: Manage Ticket Helper →
  • What is your Result?
  • Getting Hands-on
    • Default Ticketing Channel
    • Create Ticketing Channel
    • Private Priority Group
    • Set up for User Initiated Ticket
    • Accept Ticket
    • Transfer Ticket
Stella Platform Documentation
Docs
Get StartedBot API ReferenceAPI ReferenceStandard Procedures
Community
FAQUser ShowcaseChat with Us
Copyright © 2023 Sanuker Inc. Limited