Setting up Forms

No matter what conversational experience you're creating, you're inevitably going to be collecting some information about your users: this can range from products they like, what their favorite time to receive a message is, or how satisfied they are with an experience. You're probably already using user properties to store this information and create more personalized, smart experiences. However, user properties aren't great when you're attempting to store multiple instances of the same piece of information: ie a CSAT survey.

Forms allow you to group up and report on related pieces of date over time. In this example, any properties we save within this form (CSAT score, feedback, etc) will be be grouped up and reported together. So now a user can go through this CSAT survey multiple times without overwriting their previous survey.

Setting Up a Form

Create a 'formInstance' User Property

In order to set up your form, you'll need to create a user property named formInstance that will be used to signal both the start and the end of a form.

Using 'formInstance'

In the example below we are going to be creating a CSAT survey for users who received order updates via conversational AI. The first step is to set a formInstance user property on the block that will serve as the beginning of this form.

Starting a Form

In this instance we're going to set the value to SET_orderDeliveredCSAT where SET serves as the beginning of the form and orderDeliveredCSAT serves as the name of the form. You can create any form name that represents what your form is designed to capture as long as it is preceded by SET_.

Multiple Entry Points

You can use as many entry points (SET_formNAME) for a given form as are necessary: conversational AI is inherently not linear so it may make sense to begin a form in various places.

Collecting User Properties in a Form

Once a user has transitioned to a block that has the formInstance property with a value of SET_formName, any user properties collected will be added to that form until they transition to the end of the form or they reach the start of another form. In this example we'll want to save the user's response to our CSAT order delivery question as a property.

User Property Naming Convention

If you're going to be collecting CSAT, NPS, or any other property in multiple places and would like to report on each separately make sure you give them different names. Ie customerCareCSAT & orderDeliveredCSAT

Ending a Form

Similar to the start of your form, you'll want to set a user property on the block that represents the end of your form. Instead of using SET_formName you'll want to use UNSET. Also like entering a form, a form can be ended on multiple blocks.

Setting up Forms


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.