Tahsim Ahmed
Tahsim Ahmed
  • Updated

Introduction to the Entities Page

Voiceflow's Entities CMS is an integral part of the conversational AI framework, allowing you to define and manage the entities that your application needs to recognize. Entities are pieces of information that your application can extract from user inputs, like dates, names, numbers, or custom terms relevant to your domain.

Entities Table Overview

  1. Name: Displays the name of the entity. This should be descriptive and indicative of the data this entity is designed to extract
  2. Description: A brief summary that gives context to the entity, explaining its purpose within the conversational flow.
  3. Data Type: Indicates the data type of the entity to provide additional detail on the kind of data it is capturing.
  4. Last Editor: Indicates the last person (user) who edited the entity. This is helpful for teams working collaboratively.
  5. Updated: Shows when the entity was last modified, providing a timeline of changes.

The CMS allows you to sort the intents to better organize your view. Here are common sorting options you may have:

  1. Alphabetical: Sort entities by name in alphabetical order, either A-Z or Z-A.
  2. Data Type: Arrange entities by their data type, which can provide context on which types your agent is utilizing.
  3. Last Editor: Sort by the last editor, which can be useful when tracking changes by specific team members.
  4. Updated: Order the entities based on the most recently updated to the least recent.

Creating an Entity

  1. Click on the 'New entity' button located in the upper right area of the screen within the Entities CMS interface.
  2. A dialog box will appear prompting you to define the new entity.
  3. Enter a name for the entity in the 'Name' field. The name should represent the kind of information the entity will hold, like "city_name" or "product_type".
  4. Choose a 'Data type' from the drop-down menu. This could be 'Custom' for unique data types or something predefined like 'Number', 'Date', etc.
  5. Under 'Values', enter possible values that the entity can take. You can also add synonyms for each value to ensure that the AI recognizes different variations of the same value.
  6. Once completed, click 'Create entity' to save the new entity to your CMS.

Editing Entity Details

  1. In the entity details panel, click on a value or synonym to edit or delete it.
  2. Add new entity values or synomyms by adding new utterances or clicking 'Generate.'
  3. Remove irrelevant entity values by clicking the '-' next to the item.
  4. Make sure to update the description if the intent's purpose has evolved over time.
  5. Adjust the data type if the nature of the entity changes.

Deleting an Entity

Single Entity

  1. To delete a single entity, select the entity you wish to remove, and in the editor view click the '...' (more options) button, and select 'Delete' from the dropdown menu.
  2. Confirm the deletion when prompted to remove the entity from your CMS. 

Bulk Deleting Entities

  1. For bulk actions, select multiple entities by selecting the checkboxes next to the entity names.
  2. Once selected, on the bulk action toolbar above the table, click the 'Delete' button to initiate the bulk deletion process.
  3. Confirm the bulk deletion to remove all selected entities simultaneously.

Entity Types

Entity types indicate the type of data the entity is capturing. Depending on your assistant type, you will notice a dropdown of various entity types available for your building experience.

Custom Entities

These are the entities that can be defined by the conversation designer as per their use case.

System-Defined Entities

The system entities are commonly used entities that are pre-defined in the system, dependant on channel/assistant-type. In Voiceflow, there are a 14 pre-defined entity types for English based projects:

Entity Types Description
NAME Describes the name of a person, including first names, last names, or full names. For example, when asking for a user's name, they might reply with "Louise" or "Jen Zhong."

Represents an email address. Useful in scenarios where you need to contact the user or send them information. An example response might be "bob@voiceflow.com."


Captures phone numbers. It's applicable in situations where the user needs to provide a contact number, such as "(650) 253-0000"

PERCENTAGE Recognizes percentages, whether written in symbols or words. This could be used when discussing completion rates, like "8 percent" of a task being done.
GEOGRAPHY Relates to geographical locations such as cities, countries, continents. A user may mention they are located in "South America."
NUMBER Identifies numerical values, which can range from integers to more complex numbers like "259223723" or phrases such as "four hundred and twenty one."
TEMPERATURE Deals with temperature values, which could be used for setting or querying climate control settings, like "18 below" Celsius.
DIMENSION Pertains to measurements including length, volume, area, etc. It could be used in logistics, for instance, when a user says a package is "86 square feet."
DATETIME Captures dates and times in various formats. If a user is making an appointment, they might say "21/02/2018" or "Today."
CURRENCY Refers to monetary amounts in various currencies. This would be useful in transactions, like when a user states their budget is "5 pounds."
AGE Indicates the age of a person. It could be used in any context where age is relevant, like a user stating "I am 54."
KEY_PHRASE Deprecated: A concept or subject to capture. Best to use a custom entity.

Captures web addresses. When asking for a source of information, a user might provide "https://en.wikipedia.org/."

ORDINAL Recognizes ordinal numbers that denote position or sequence, like "first" in a race or "23rd" in a series.


Extending System Defined Entities

If you have a specific pattern that you are expecting, you can extend the entity.

  1. For example if you are looking for 5 digit numbers, you can either create a number intent and add examples of 5 digit numbers, or use a custom intent.
  2. If your entity is surrounded by certain terms like “Hi my name is Bob”, adding example utterances to the capture or intent step are helpful.


Entities that you create can be utilized in your designs in the

Note: Entities created in the Entities CMS are available 
globally within the assistant.

Best Practices for Entity Management

  • Understand your domain: Create entities that capture the essential information relevant to your application's domain.
  • Define clear purposes: Each entity should have a clear purpose. For instance, an entity named "flight_date" should specifically capture dates related to flights and not be used for general date capture.
  • Granularity matters: Design entities to be as granular as needed for your application. For a travel app, having separate entities for "departure_city" and "arrival_city" is more beneficial than a single "city" entity.
  • Consider synonyms and variations: Include common synonyms and variations in your entities. If you have an entity for "beverage", include variations like "drink", "soda", and "pop".
  • Regularly expand entities: As you gather more data from user interactions, expand your entities to include new phrases and terms that users naturally use.
  • Avoid overlapping entities: Make sure that entities are distinct and don’t capture information that could be better suited to another entity to prevent confusion.


Was this article helpful?

1 out of 4 found this helpful

Have more questions? Submit a request



Please sign in to leave a comment.