When a customer is visiting your website, portal, or app — they might want to reach out to get help. Setting up your bot helps your customers get help faster. With custom and default properties, you can enable your bot to offer contextual help by storing information about your customers. With the Freshchat bot builder you can make use of default properties (that we offer out of the box), and custom properties (that you can set up for your specific use cases).


Common use cases:

  1. When you get a specific input from the customer at multiple points in a bot flow, you can store the customer’s latest value in an attribute.
    For example, if you’re an e-commerce platform, a customer might need help with their order status, refund, returns, etc. Irrespective of the issue that your customers need help with, you’ll expect them to input their order ID. Ask the customer for their order ID at the beginning of the conversation, set the property, and use it directly through API calls for getting the different items that your customer needs help with.

  2. In WhatsApp, the customer usually enters a numeric input to choose an option in the bot flow. We can use attributes to store the option the customer selected.
    For example, the bot flow you’ve set up asks your customer to press 1 for New Bookings, 2 for Cancellations, and 3 for Checking Status. Based on your customer, they will either press one of the buttons to create the respective ticket. Upon ticket creation, you can. Set a property for “Type”, store the respective value based on the customer's choice, and pass the request type to Freshdesk with an attribute.


Other use cases include storing customer preferences, passing key values to trigger automations or workflows in a different system, or temporarily storing values during computational events.


Once you set up properties in the bot-builder, you can save the information that your customer shares with you as the value. You can then refer to this value anywhere else in the bot builder.

If you're looking to improve your customer's self-service experience, you can use these properties with the self-service widget. You can choose to prefill the value of these properties with variables that can be passed into the bot script from your support portal, website, mobile apps (or wherever you embed your bot).

When your customers use your portal, website, app (or wherever you embed your bot), these variables can store information that your customers share with you. Since these properties are now a part of the bot script, you can pass the properties and their values to the bot to provide a highly personalized, customer experience.


TABLE OF CONTENTS


Deploying your bot

You can generate the bot widget script from the Deploy page for each bot. You can copy and paste this script on all your support media (portals, webpages, apps etc.) embed the bot. Any changes you make to the bot configuration will automatically reflect in the bot widget, so you will need to paste this script only once on the required support mediums.


Note: If you use the self-service widget, you can choose which of these properties are mandatory properties. However remember that any mandatory fields which are not filled will prevent the self-service widget from working properly. As a workaround, make sure to prefill the property value with a variable on the deploy screen.


A quick guide to setting up properties in the Conversations widget

  • To set up any user properties and pass them to the conversation widget navigate to the Web Messenger settings. You can do that either by:
    • Navigating to Admin > Web Messenger > Getting Started, or 
    • Navigate to Bots > Deploy > Deploy options > Conversations widget > Script
  • Once you're here, you can scroll down to the (Optional) Identify the user where you can set user properties to identify the your customers and set properties for them. You can refer to the Freshchat API documentation to learn more about setting user properties or about offering a better experience for your logged in users


A quick guide to setting up default properties in the Self-service widget:

  • Navigate to Deploy > Deploy Options > Self-service widget menu item and you can see the list of default properties that are available out of the box. The default properties are as follows:



  • Name: Store your customer’s name
  • Email ID: Store your customer’s email address
  • Phone number: Store your customer’s phone number
  • Language: Store your customer’s preferred language
  • External Ticket ID: Store your external IDs, like your customer’s order ID or transaction ID (for example) that you use to maintain different bot conversations for the same customer
  • Customer ID: Store your customer’s unique ID to manage multiple sessions across devices
  • Authentication ID: Store and pass the Auth ID for making API calls 


A quick guide to setting up custom properties in the Self-service widget:

  • From the bot builder, insert a new Action > Dynamic Actions > Set property

  • The set property menu opens up where you can start configuring the details of the property, such as the name, value, and where it should be saved in.


    Any properties you set for the user will be assigned permanently (such as their location or language preference). Any properties that you set up for the conversation will expire when the conversation is resolved (such as the type of issue).

  • Use Property name to declare the name of your property, which is just for your reference, and Property value to  declare your attribute value that is to be associated with the property.


    The value can be static or dynamic. To use a dynamic value, click on the + to access your placeholders, and you can choose from existing dialogs, APIs, properties, functions or create new ones directly.


  • To configure other settings for your custom properties, navigate to Flows > Configure > Custom Properties. Here you can see the list of all the custom properties that have been set up. Click on the pencil icon under the Actions menu to edit them.


  • Select the Source from the drop-down. You can choose between Flow and API.
    • Flow: If the source is selected as Flow, you can choose to save the information in the conversation or in the user. You can also choose to check the Use in JS checkbox, and the property will be available when you generate the widget embed script from the Deploy menu. You can then use this as a variable with its value either hardcoded or fetched dynamically and assigned from wherever the widget script used



  • API: If the source is selected as API, you will be able to select the required response properties of an API from the API library of that bot to initialize the custom properties. Once this API is called in a flow the custom property assumes the value of the response properties mapped to it.


A quick guide to using Properties:

  • In the chatbot flow, select the dialog where you want to use the property. Click on the icon to access all your placeholders, and click on Properties from the dropdown.

  • All the properties associated with the bot will be listed here. You will see the list of the default properties followed by the list of custom properties. Click on the specific properties to add them to the message.
     
  • While setting up the script to embed the self-service widget, you can notice the script will contain the default and the custom property values. You can even populate these values using liquid placeholders or a JS function response.



Note: Make sure that any custom properties you use with APIs, are called by using the Trigger API action for it to function properly.