AI Employee Data Model
This page defines the protobuf data structures used to configure AI Employees (personas) in the Ema platform.
PersonaConfig
The top-level configuration object for an AI Employee.
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier (UUID) |
name | string | Display name of the AI Employee |
description | string | Brief description of the AI Employee's purpose |
icon | string | Icon identifier |
status | TemplateStatus | Deprecated template status field |
editable | bool | Whether the configuration is editable |
version | int32 | Configuration version number |
rich_detail_description | string | Rich text description (supports formatting) |
widgets | repeated Widget | List of widget configurations |
display_settings | DisplaySettings | UI display configuration |
project_settings | ProjectSettings | Project-level settings and defaults |
trigger | PersonaTrigger | Operational trigger configuration |
persona_status | PersonaStateEnum | Persona state |
access_level | PersonaAccessLevel | Computed access level |
persona_trigger_type | PersonaTriggerType | User-facing trigger type such as chat or dashboard |
workflow_dashboard_id | string | Associated workflow dashboard ID |
template_id | string | Template ID this persona was instantiated from |
persona_group_id | string | Optional persona group identifier |
Widget
A Widget connects the AI Employee to an external data source or integration.
| Field | Type | Description |
|---|---|---|
name | string | Unique name of the widget instance |
type | WidgetType | The type of widget |
<widget field> | object | Type-specific configuration stored under the matching widget field (for example file_upload or chatbot_sdk_config) |
WidgetType Enum
| Value | Integer | Description |
|---|---|---|
SCRAPE_URLS | 0 | URL scraping configuration |
EXAMPLE_TRIGGERS | 1 | Example triggers (deprecated) |
WEBSEARCH_ENABLED | 2 | Web search enablement |
FILE_UPLOAD | 3 | Direct file upload |
DATA_INTEGRATION | 4 | Data source integration |
ANSWER_FORMAT | 5 | Answer format configuration |
FUSION_MODEL | 6 | Fusion LLM model selection |
EXAMPLE_QUESTIONS | 7 | Example questions for the AI Employee |
DATA_PROTECTION | 8 | Data protection settings |
COPYRIGHT_CHECK | 9 | Copyright checking |
STEPS | 10 | Workflow steps configuration |
TICKET_CATEGORY_CONFIG | 11 | Ticket category configuration |
CUSTOM_INSTRUCTIONS | 12 | Custom instructions |
GLOSSARY | 13 | Glossary terms |
HEIRARCHICAL_TAGS | 14 | Hierarchical tags |
PROPOSAL_TEMPLATE_TYPE | 15 | Proposal template type |
DOC_SECTION_CONFIG | 16 | Document section configuration |
COMPANY_DETAILS | 17 | Company details |
EMAIL_INTEGRATION | 18 | Email integration |
TARGET_AUDIENCE | 19 | Target audience (deprecated) |
EMAIL_CONFIGURATION | 20 | Email configuration (deprecated) |
CAMPAIGN_GOAL_SETUP | 21 | Campaign goal setup |
BASE_CATEGORY_WIDGET | 22 | Base category widget |
TITLE_WITH_TEXT_AREA | 23 | Title with text area |
LINKEDIN_INTEGRATION | 24 | LinkedIn integration |
CANDIDATE_SEARCH_DETAILS | 25 | Candidate search details |
CANDIDATE_SEARCH_SCORECARD | 26 | Candidate search scorecard |
TARGET_COMPANY_SEARCH | 27 | Target company search |
CHATBOT_SDK_CONFIG | 28 | Chatbot SDK configuration |
FILE_TAGGING | 29 | File tagging |
MULTI_SOURCE_TARGET_AUDIENCE | 30 | Multi-source target audience |
FILE_LINKING | 31 | File linking |
TEMPLATE_INPUT | 32 | Template input |
FEEDBACK_MESSAGE | 33 | Feedback message |
BLOCK_USERS | 34 | Block users |
ENGAGEMENT_CONFIGURATION | 35 | Engagement configuration |
SFO_ID_CONFIG | 36 | SFO ID configuration |
VOICEBOT_VOICE_SETTINGS | 38 | Voicebot voice settings |
VOICEBOT_CONVERSATION_SETTINGS | 39 | Voicebot conversation settings |
VOICEBOT_FEEDBACK_COLLECTION | 40 | Voicebot feedback collection |
VOICEBOT_CALL_SETTINGS | 41 | Voicebot call settings |
VOICEBOT_DATA_STORAGE_SETTINGS | 42 | Voicebot data storage settings |
VOICEBOT_VAD_SETTINGS | 43 | Voicebot VAD settings |
VOICEBOT_PHONE_NUMBER | 44 | Voicebot phone number |
DOCUMENT_INSTRUCTIONS_CONFIG | 45 | Document instructions configuration |
DOCUMENT_OUTLINE_SOURCE | 46 | Document outline source |
STYLE_GUIDE_SOURCE | 47 | Style guide source |
WORKFLOW_DYNAMIC_INPUTS | 48 | Workflow dynamic inputs |
EMAIL_INTEGRATION_V2 | 49 | Email integration v2 (API-powered) |
AGENT_QA_RULE_GENERATION | 50 | Agent QA rule generation |
EMAIL_EMPLOYEE_INBOX_PREFERENCES | 51 | Email employee inbox preferences |
DOCUMENT_APPROVAL | 52 | Document approval |
TOOL_WIDGET | 53 | Custom tools widget (deprecated) |
AGENT_QA_INSIGHT_GENERATION | 54 | Agent QA insight generation |
TOOL_PERSONA_CONFIG | 55 | Tool persona configuration |
RFP_EXTRACTED_FIELDS | 56 | RFP extracted fields |
Complete list of WidgetType values from the proto definition. Note that value 37 is not assigned.
DisplaySettings
Controls how the AI Employee appears in the UI.
| Field | Type | Description |
|---|---|---|
display_type | DisplayType | Display mode for the persona UI |
pages | repeated DisplayPage | Pages shown for multi-page or tabbed displays |
Complete list of DisplaySettings fields.
ProjectSettings
Project-level configuration for the AI Employee.
| Field | Type | Description |
|---|---|---|
enabled | bool | Whether projects are enabled for this persona |
display_name | string | Display name used for projects in the UI |
project_type | ProjectType | Project type associated with the persona |
allowed_sub_projects | repeated SubProject | Allowed sub-project categories |
selected_sub_project_type | SubProjectType | Currently selected sub-project type |
workflows | repeated ProjectWorkflow | Project workflows associated with the persona |
Complete list of ProjectSettings fields.
PersonaTrigger
Defines how the AI Employee is triggered.
| Field | Type | Description |
|---|---|---|
type | PersonaTrigger.TriggerType | Operational trigger source |
integration_id | string | Integration ID used for data-ingestion triggers |
triggerer_email | string | Email address associated with the trigger when applicable |
PersonaTriggerType Enum
| Value | Integer | Description |
|---|---|---|
CHAT | 1 | Triggered by a chat conversation |
DASHBOARD | 2 | Triggered by a dashboard row operation |
THREAD | 3 | Triggered by a thread interaction |
CHATBOT | 4 | Triggered by an external chatbot |
DOCUMENT_GENERATION | 5 | Triggered by a document generation request |
CONVERSATIONAL_EMAIL | 6 | Triggered by a conversational email interaction |
AGENT_QA | 7 | Triggered by Agent QA evaluation |
TemplateStatus Enum
| Value | Integer | Description |
|---|---|---|
ACTIVE | 0 | Template is active |
INACTIVE | 1 | Template is inactive |
Related
- AI Employee Overview -- Concepts and architecture
- AI Employee API -- CRUD endpoints
- Workflow Data Model -- Workflow structures used by AI Employees