Entity Type Definitions

New entity types can be added from the Workspace, and each type is described in the table below:

Definition Description
type_id (required) A unique string identifier and reference of this data type. 3rd party types are prefixed by plugin_in.
type_name (required) A type name used by renderers. (dictionary<locale, name> / required for public data)
description Describe the usage of this entity type
type_icon URL to an image that represents the type (e.g. a movie roll for a movie type)
fields A collection of entity type fields which this entity contains
parents A Entity Type id specified which entity type parents inherits from
version The version of the type definition
owner_id The ID of the developer that created the type
created_at When the type definition was first created
updated_at When the type definition was last changed
is_sensitive This type has sensitive information (e.g. passwords, tokens, CC numbers) and should not be logged or automatically stored in the user data
is_deprecated This type is obsolete and should no longer be used for new development
categories What general categories this type is relevant for
permissions Who can read / modify the type

Field Definition

The individual Entity Type fields are defined by a dictionary with the following entries:

Field Definition Description
Name (required) The name of the field
Type (required) The type of this field. Entity Type types are prefixed by $. Multiple types can be specified by separating them with | (pipe symbol)
Required (optional) If set to true, this field must be specified when the entity is used
Sensitive (optional) The entity type is sensitive or not
Deprecated (optional) The entity type is deprecated or not
Description (optional) Describe the usage of the field

For example, if the Microsoft.Outlook botlet has an entity type called ‘Contact’, a relevant field for the Microsoft.Outlook botlet might be name and number, which define the name as a string while the number as integer.

Example of the Microsoft.Contact Entity:

{
    "type_id": "microsoft.contact",
    "type_name": {
        "type_name": "microsoft.contact"
    },
    "type_icon": "",
    "fields":
    [
        {
        "@": "mst.entity_type.data_field",
        "type": "string",
        "name": "name",
        "description": "Contact Name",
        "required": true,
        "hash_exclude": false,
        "is_sensitive": null,
        "is_deprecated": null
        },
        {
        "@": "mst.entity_type.data_field",
        "type": "int",
        "name": "number",
        "description": "Contact number",
        "required": true,
        "hash_exclude": false,
        "is_sensitive": null,
        "is_deprecated": null
        }
    ],
    "parents": [],
    "version": 1,
    "owner_id": "",
    "@": "mst.entity_type"
}