Skip to main content

Apply Datasource to Chatbot

Data Source is for upserting data from a chatbot flow to a data source or to fetch data from a data source and apply back on a chatbot flow. The following object(s) and method(s) will be used in the application of data source:

For more object or method references, please refer to the Reference documentation.

Expected Outcome

The following chatbot conversation is just an example for illustrating the application of data source. Please feel free to utilize the objects/code as you see fit.

  1. User replies the chatbot with user's email.
Save Email Sample Flow 1
Save Email Sample Flow 1
Save Email Sample Flow 2
Save Email Sample Flow 2
  1. The email is recorded in the Data Source with these fields: psid, firstName, lastName, email.
Email Data Source
Email Data Source
tip

PSID is an unique ID assigned to you when you interacts with a Facebook page. Stella also makes use of PSID to identify Facebook members. For other platforms like WhatsApp, Stella makes use of member's WhatsApp number. In general, these IDs are called external ID.


Sample Chatbot Structure

Email Data Source Sample Chatbot Structure
Email Data Source Sample Chatbot Structure

Create the 1st General Node - Ask Email

Enter your Bot Builder and starting building your chatbot.

  1. Create the 1st General node and then create a new response.

  2. Click on "Add Platform" and select "Facebook" from the dropdown.

Create New Response
Create New Response
  1. Select "Text" and enter the text content. Click "+ Quick Replies", and select "User Email". Remember to "Save" the response and the node.
Email Quick Reply
Email Quick Reply

Create a Data Source

  1. Head to "Data Source" and create a new Data Source.
Add a New Data Source
Add a New Data Source
  1. Import the file .CSV format to the data source. Remember to toggle on "Replace" for Action and "Parse JSON".

    Click the button below to download the sample datasource:

Import the Data Source File
Import the Data Source File
  1. The fields (psid, firstName, lastName, email) will appear on the Data Source. Copy the "Data Source ID" for later use.
Email Data Source
Email Data Source

Create the 2nd General Node - Save Email

  1. Add the 2nd general node and rename it as "Save Email".
  2. Create a new trigger and select "Predefined Triggers". Apply "Any Email" to check if the email text has the correct email format.
Email Checking Trigger
Email Checking Trigger
  1. Create the 1st pre-action using "Save tempData" to save the email address collected to tempData of the member. To configure this action, input the variable name, select the platform and the event.
Save Email Pre-action
Save Email Pre-action
tip

The above action saves the email address from the messageEvent as tempData in the member object, so that saved data can be reused in other nodes within the same Channel.

  1. Create the 2nd pre-action and select "Save member info in DataSource". It will to save the member info, including the member's tempData containing the email address to the designated data source.
Save Email to Data Source Pre-action
Save Email to Data Source Pre-action
  1. If you want to display the saved email text on your chatbot response, you can apply an variable and specify the path to the tempData, where the email is stored at.
Create a Response with Saved Email
Create a Response with Saved Email
Your email {{botMeta.tempData.email}} is saved.
tip

As the email text is saved in the tempData of the member object, the above format allows Stella to retrieve the data from member and display in the response. You can use {{}} instead of this.member in the response.

  1. Save the node and test your chatbot!