Create Checkpoints

By Adam Wen
April 28, 2021

Checkpoint is used to automatically collect and store user's data during the conversation between the bot & users (It includes not only user's responses but also custom info from users). Besides that, Checkpoint data can be sent to other CRM systems to manage them easily. Checkpoint is extremely useful for transactional data such as deals, bookings or orders.

Set up Checkpoint:

Please follow 2 sections as below to complete setting up Checkpoint:

1. Define a Checkpoint

Defining the Checkpoint is to help you structure customer’s data more efficiently.

Now, assuming you’re designing a Chatbot for Coffee Shop, and Checkpoint’s feature will help you save and follow up the orders from your customer.

Step 1: 

Go to Bot Builder > Checkpoints to open the Checkpoints management page. Click on New Checkpoint or + New Checkpoint to create a new checkpoint. If this is the first time you create the Checkpoint, please click Create & Collect Your First Checkpoint button.

Step 2: 

Set up Checkpoint Name (In this example, named Checkpoint "Coffee Order" to keep it simple)

Step 3: 

In the Checkpoint Fields, click on +Field to create Checkpoint fields and then you can define the Checkpoint fields by yourself as the example below:


Data Types

Defined Data

Default Value









Total Cost




Delivery Status




  • Name: is the name of Checkpoint field.

  • Data Type: is the data type of checkpoint field.

    • Text: the type of data is the text.

    • Tag: the type of data is the pre-defined tags. If selected Tag, please enter tag name on Defined data also. (in our example, defined data is for Delivery Status to track the orders of Coffee shop)

  • Default value: is the default value of a Checkpoint field when the bot captures data.

    • If previously Text on Data type is selected, you can choose the variables you have set up such as with Total Cost data, we'll select the default value is {Cost}$ or leave it blank so that you can set the Default Value directly in the checkpoint action in the flow

      You can choose the variables by inserting Bot Attributes, User Attributes, and Variables.

    • If Tag on Data type is selected, you will need to manually type the tags. For this example, the tags you want are Pending/Delivering/Done for the customer orders in Defined Data. So, in the Default Value, you will choose one of those tags to set a default. In this example, we choose Pending so that whenever customers go through the Checkpoint Action, Their Delivery Status will automatically be Pending.

The value can be customized when using the Save to Checkpoint action block in Bot Builder.

Step 4: Click on Create button to finish defining a Checkpoint.

Step 5: In case you want to delete a Checkpoint, click on the Delete button

2. Use Checkpoints in Flow Editor:

After creating a Checkpoint, you will use this Checkpoint in bot flow to collect user responses and information. The idea is that you will drag and drop a Save to Checkpoint action into bot flow where you want your bot to capture such data. Here is a simple bot flow when you capture user responses and save it to Checkpoint:

Please follow these instructions below:

Step 1: Enable Expect User Response for the blocks that you want to collect user responses. In this case, capture the Product and Quantity Block in order to calculate the total cost in the next step.

Then add a Cost Variable in Variables to set it as Total Cost (Assuming that the coffee price is 10$, so the total cost will be equalQuantity * 10):

Step 2: Drag and drop Save to Checkpoint action in bot flow where you want your bot to capture user data and select a Checkpoint as you want (You have already created a Coffee Order Checkpoint):

After selecting Coffee Order Checkpoint, the Total Cost and Status field are automatically being set to {Cost}$ and Pending value because you've set the default value for them. The rest fields are Product and Quantity are empty because you don't set the default value.

Step 3: Customize Checkpoint data to decide the information you want to capture for this Checkpoint. There are many types of variable, including: User Attributes, Flow Variables, Bot Attributes, User Responses. You are also be able to customize Checkpoint data as text as you want.

In this case, you're able to customize Coffee Order Checkpoint data by setting Product and Quantity fields to {response.Product} (User's response to Product's Block) and {response.Quantity} (User's response to Quantity's Block)respectively:

Step 4: Test on Preview

When a conversation between your chatbot and user goes through Save to Checkpoint action, the system will save and collect all user's responses and variables has been set up in Checkpoint.

If your user's responses are as below:

You will have the data in Checkpoint like this:

Manage Checkpoints

Go to Bot Builder > Checkpoints, you may see Checkpoints management page which contains all Checkpoints of your chatbot. Select a Checkpoint that you want to see more details. There are two types of "Environment" when filtering Checkpoints:

  • Test: will show all Checkpoint Data from your trials in Preview mode

  • Live: will show all Checkpoint Data that your bot captured from real users who interact with your chatbot via Messenger or Website

    checkpoint environment

You can edit and update the Checkpoint data as you want. Click on a specific Checkpoint to view its detail information. As you can see from the example, a Checkpoint captures all of user's responses about the order, including: Product, Quantity, Total Cost and Status.

Was this article helpful?