Managing Entity Fields

Entity fields play a crucial role in storing and managing data within your chatbot. DRUID offers a seamless process to add, edit, and delete entity fields, ensuring efficient management of your bot's informational model.

View entity fields

To access and review the fields of an entity, simply click on the entity within the Entity Designer interface.

Add fields

The process of adding fields remains consistent across all Entity Designer views:

  • In list view, click the Create New Entity Field button at the top right corner of the Entity Fields page.
  • In diagram or tree view, click on the entity, then access the Fields tab in the right-side editor and click the Create New Entity Field button.

Fill in the required field properties.

Property Mandatory Description

Field Name

Yes

Enter a unique Name for the entity, ensuring adherence to naming conventions:

    • Does not start with a number.
    • Does not contain spaces.
    • Is ASCII no diacritics.
    • Does not contain the following special characters: -, +, ., # and @.
Hint:  A naming convention is an important part in a well-built data model; therefore, we recommend you to use PascalCaseNames (upper camel), no spaces. The Name starts with an uppercase, as do all additional words. E.g., AccountId.

Display Name

No

Allows you to localize entity records when using DRUID Data Service in conversations.

Comment No  

Length

No

The field length if you want to restrict the user typing a specific number of characters.

Is Primary Key

No

Marks the field as the entity's primary key (the unique entity identifier) and DRUID will use it to identify the entity records.

Is Nullable

No

Obsolete, it will be removed from the system in a future release.

Holds Sensitive Data

No

Note:   This field is available in DRUID version 1.60 or higher for chatbots using bot framework version 4 (direct line only).

Tap on if you want to use this field in Input Mapping on prompt steps to capture user sensitive data / receive sensitive data from external systems and send it to third-party systems via connectors. The user data will be encrypted using a DRUID proprietary encryption method from the moment the user inputs data in the chat and remains encrypted while being transmitted to the connector. The connector will decrypt the data using a DRUID proprietary decryption method and send the data to external systems. DRUID version 1.63 and higher provides you with four options, which allow doing extensive configurations for sensitive data manipulation as best suits your needs. For more information, see Manipulating Sensitive Data.

Important!  You cannot enable this option if your entity Holds multilanguage records.
Holds multilanguage records No
Note:  This field is available in DRUID version 1.74 or higher and applies to entity fields of type String (Data Type is "String").

When enabled, the DRUID AI Platform automatically creates for all tenant bots languages associated field clones to store the language-specific values. The field clones have the following naming syntax <fieldname>_<LanguageCode> and are not visible in Entity Designer.

DRUID uses the clone fields to match entities records aligned with the current chat user language.

Important!  You cannot enable this option if your entity field Holds Sensitive Data.

Data Type

Yes

Select the type of field you want to add. You might need to provide field properties specific to the selected field data type.

ReferencedEntity

Yes if the Data Type is either "Entity" or "Entity List".

Select the entity that is parent entity for the current entity.

Save the field properties by clicking the Save button ( ) at the bottom of the Create new entity field page or the Save icon () at the top-right corner of the Add new field editor.

Edit fields

Editing entity fields allows you to modify their properties based on your evolving needs.

In diagram or tree view, select the desired node and click on the field within the Fields section to access the Entity Field Editor.

In list view, locate the field within the Fields tab and click the Edit icon () aligned with the field.

You can change the data type of existing entity fields, provided they refer to the same storage data type (email, URL, Hash, etc. which are all using the same string Storage data type). For example, changing the Email entity field from Email to String.

Disabling Holds multilanguage records

You can disable the Holds multilanguage records option and choose to automatically delete the auto-generated field clones or manually handle deletion.

Disabling the Holds multilanguage records option impacts the conversational flows if you're using clone fields in flow / flow step training phrases and integration tasks. In this case, we recommend you to manually handle deletion. Clicking Handle Manually will make the auto-generated language specific field(s) visible in Entity Designer and you can review the conversational flows and remove the field clones afterwords.

To automatically delete the field clones, click Delete. All auto-generated language specific field(s) will be deleted on entity field save.

For more information, see Multilingual Entity Fields.

Delete fields

Important!  Carefully review your bot's informational model before deleting fields, as the action is irreversible. In DRUID 7.2 and higher, fields that are included in web views and forms are protected from deletion. Attempting to delete entity fields that are utilized in web views and forms will result in an error message.

To delete a field, click the Delete icon beside the field in list view. In diagram or tree view, the deletion occurs automatically.

In list view, a confirmation dialog appears upon attempting to delete a field. Confirm the action to proceed.

Manipulate Sensitive Data

DRUID offers robust options for managing sensitive data within entity fields, ensuring maximum security and compliance. By effectively managing entity fields and sensitive data, you can optimize your bot's functionality while upholding stringent security standards.

Enable the Holds Sensitive Data option to encrypt user data using proprietary encryption methods.

Note:   Tapping on Holds Sensitive Data activates the first three options to ensure by default maximum security configuration when it comes to manipulating sensitive data. In default configuration, DRUID masks the sensitive data in the web chat (the value provided by the user and sent by the bot to the user), in the conversation history (including Chat Activity Data) and in connector logs.

Regardless which configuration you use for sensitive data manipulation, DRUID always encrypts the data using a proprietary encryption method from the moment the user inputs data in the chat and remains encrypted while being transmitted to the connector. The connector will decrypt the data using a DRUID proprietary decryption method and send the data to external systems.

Hide In Web Chat

DRUID masks in the web chat both the value provided by the user, and the one sent by the bot to the user.

Note:  Ticking off this option, DRUID will mask the user input in the chat but the bot will send the value in clear to the user in the chat.

Encrypt In Conversation History

DRUID encrypts the value provided by the user in the Conversation History database and in the Chat Activity Data.

Encrypt In Connector Logs

DRUID encrypts the value provided by the user in the Connector logs.

Note:   If the Encrypt In Connector Logs option is not selected, by default, user’s value will be available for operations in Flows.
Important!   For debugging and auditing purposes, decrypting the sensitive data from Conversation History and Connector Logs is possible, but requires Decrypt Sensitive Data privileges.

Available For Operations In Flows

You can use the user’s value during the conversation flow runtime, to manipulate the context data stored in sensitive fields: alter the data, perform RegEx validation, calculations, show the information in a message, etc.). 

Important!   The DRUID platform decrypts the data from the sensitive entity fields ONLY during the execution of the required operation (validation, calculations, etc) – in the rest of the time, sensitive data remains encrypted in the conversation context.  

When working with Set variables, authors must assure that, when moving values form one entity field  to another, both entity fields involved have IDENTICAL sensitive data configuration (“Available for operations in flows” attribute is the same for both entity fields).

The table below provides the allow manipulation matrix of the two fields used in Set Variables.

Field A – Available for operations = TRUE Field A – Available for operations = FALSE
Field B – Available for operations = TRUE same encrypted value double encrypted
Field B – Available for operations = FALSE same encrypted value same encrypted value
Field B does not hold sensitive data data in clear same encrypted value
Important!  Set variables between two encrypted entity fields is possible as long as both entity fields have the same setting to allow or not manipulation (Available For Operations In Flows option); otherwise, irreversible double encryption or even decryption of data might occur.