Conversation properties are a valuable way for businesses to track conversation metrics. Businesses can utilise these properties to govern conversation workflows via SLAs, assignment rules, etc. and get data insights for actionable outcomes.


Default conversation properties

Group, Agent, Status, and Priority are default conversation properties available on account creation and are (included as part of the Free Plan).

Group

Groups are a way to organize agents into teams based on skills, locale, etc. This field will list all the groups you have created in Freshchat. 

Agents

This field will list all the agents in your Freshchat instance.

Status

This field lists the different conservation statuses that can be associated with a conversation such as: 

  • Open,
  • Waiting on customer,
  • Waiting on internal team,
  • Resolved

Priority

This field indicates the priority that can be associated with a conversation. This helps agents prioritize their conversations in the inbox view. These include:

  • Low,
  • Medium,
  • High,
  • Urgent.


Custom conversation properties

In addition to the default properties, businesses can create custom conversation properties. Custom Conversation Properties are available from the Growth plan. The field types that can be defined are shown below:


Custom property type 

Example use-cases

Upper Limits

Multiline text

  • Customer feedback or complaint description
  • Detailed issue explanation
  • Suggestions or comments for improvement

10

Single line text

  • Customer name
  • Contact email
  • Phone number
  • Order

50

Dropdown

  • Reason for contacting customer service (product issue, order status, general inquiry)
  • Product category (clothing, electronics, home goods)
  • Support channel (phone, email, chat)

50

Multiselect dropdown

  • Multiple product items affected by an issue
  • Multiple order numbers related to a single customer inquiry
  • Multiple support agents involved in resolving a customer issue

10

Decimal

  • Product price
  • Shipping cost
  • Discount amount

10

Number

  • Quantity of products ordered
  • Number of days for delivery
  • Number of attempts to contact the customer

20

Date

  • Order date
  • Shipment date
  • Delivery date

30

Checkbox

  • Terms and conditions accepted
  • Opt-in for newsletter or promotional emails
  • Request for callback from customer service

30


  • You can add a total of 50 conversation properties in your Freshchat.


How do you define conversation properties for your business?

  • Navigate to Admin Settings > Conversation Properties > and select the type of field you want to add.



  • Add a label.

    • An internal name is automatically generated when labels are added. It can be changed during property creation if necessary. Internal names are used to update conversation properties via widget code or public APIs.

  • You can mandate your agents to fill up the properties when they resolve a conversation by checking the required when resolving the conversation checkbox. This is useful if businesses are keen on tracking specific conversational metrics for their support operations. The agent cannot resolve these conversations until mandatory properties are filled

  • The properties can be reordered to ensure they are shown to the agents in the order of their preferences.

  • Once you're satisfied with your set up, click Save field.



Pre-populating conversation properties 

If businesses want to pre-populate conversation properties to ensure the conversations get assigned to the right group and the agent handling the conversation has sufficient context. 

This can be done in three ways: 


1. Chatbot

The conversational chatbot can collect details from the end user and update conversation properties. On handover to the agent, the conversation will have all relevant properties updated by the chatbot. 

Learn how to set custom properties in bot builder


2. Widget Code: 

Businesses can pre-populate the conversation property via the Freshchat widget script. This is useful when the business has this context available on the website and would not need an agent to get this information manually from the customer.

Learn more.


<script src='//fm-staging-us-app-cdnjs.s3.amazonaws.com/crm/900******/4***9.js' chat='true'>
</script>

<script>
window.fwcrm.on('widget:loaded', function() {
window.fcWidget.conversation.setConversationProperties({
cf_sample: "Example",
cf_multi_choice: ["Choice1", "Choice2 one"],
cf_multi_line_text: "This is a multiline text",
cf_number: 33,
cf_decimal: 3.5,
cf_date: "2023-03-12",
cf_checkbox: true,
cf_drpdn: "one",
priority: "Low"
});
});
</script>


3. Agents:

Once conversation properties are created in the admin settings, these properties will be visible to the agent in the right pane of the inbox. Agents can use the widget to update the conversation property values. If an agent tries to resolve a conversation property marked as mandatory by the admin, a slider will open in the right pane to prompt the agent to populate the mandatory properties to proceed with the resolution of the conversation. 



Agents can also update conversation properties via the Freshchat mobile app in three ways:


  1. Agents have the option to edit properties on Chat
  2. The agents will have to fill in mandatory properties set by the admin to resolve the conversation.
  3. The agents will have to fill in mandatory properties set by the admin to append to the ticket.
     


Admin Workflows where conversation properties can be leveraged

  • SLAs: assigning SLAs based on conversation type, priority, or any other field. Learn more about SLAs
  • Assignment rules: Handling conversation routing based on the property values. Learn more about Assignment rules
  • Advanced Automation: Automating workflows based on conversation property events or updating conversations based on other product events. Learn more about Advanced Automations. Once you define conversation properties, you can use them as part of the advanced automations. 
    • Trigger: You can set a trigger based on whether a conversation property got updated or not.
    • Condition: You can set the condition for the advanced automation based on whether or not is is set/not set/equals/not equals a specific value. 
    • Action: You can specify the action that needs to be taken, such as setting the conversation property's field to a certain value.


How can I report on conversation properties? 

We have curated reports in Freshchat analytics to view conversation property-related metrics. Additionally, admins can use the conversation property in the "filters" and "group by" sections in analytics to derive the right insights.


Permissions to manage conversation properties?

Admins will be able to define which of their agents will get the privilege to manage conversation properties by navigating to Admin settings > Roles


How can conversation properties be updated using bots?


  • Navigate to Bots > select your bot > Configure > Custom property > New property

A quick guide to setting up custom properties in bots


Here are some use cases for custom properties in bot:

  • To track the conversation metrics for bot conversations

  • To provide agents with sufficient information to enable quicker resolutions

  • Conversation properties can be set in bots by clicking on Actions >  Properties > Conversation properties.

    • All the conversation properties the admin defines in the settings would be listed here. If the bot admin wants to create a new conversation property, they will be redirected to the conversation properties settings page.

  • The values set for the conversation property should match those defined in the conversation property settings. Please note that the values are case-sensitive. If an incorrect property value is set, the bot flow will fail, and the conversation will be moved to the agent queue in Freshchat.

  • Bot Admins can track the reason for bot failure in bot > conversation logs.

  • Conversation properties can also be used as placeholders in bot flows to communicate relevant conversational details to the end user.


Dependent fields

The dependent field will allow the creation of up to 3 levels of sub-fields, with allowed values in each level being dependent on the value selected in the previous level. Businesses can capture more context and nuance from a conversation with dependent fileds.


Agent experience 

Agents can see the label created by admins and select a value for the first level of the dependent field. When a value is selected in the first level of the dependent field, the subsequent level label and dropdown will be displayed if there are values mapped to the selected value. It will be mandatory to select a value in the subsequent levels. Similarly, when a value is selected in the second level of the dependent field, the subsequent level label and dropdown will be displayed if values are mapped to the selected value.



Bot setup for dependent fields


To extend support for dependent fields, in bots, you need to pass the top-level field and separate multiple values using a placeholder. Here's an example:

Property name: Type

Property value: type1||type2||type3