Action Data Model
This page defines the protobuf data structures for action types, their inputs, outputs, and the Value system used across the workflow engine.
ActionType
The definition of a registered action type.
| Field | Type | Description |
|---|---|---|
type_name | RegisteredActionName | Unique identifier for the action type |
lifecycle | ActionLifecycleStatus | Lifecycle status of the action |
is_asynchronous | bool | Whether the action may not immediately return |
uses_tool | bool | Whether the action uses an external tool |
human_interaction_config | HumanInteractionConfig | HITL settings for external actions |
inputs | InputDefMap | Map of input parameter definitions |
outputs | OutputDefMap | Map of output parameter definitions |
display_name | string | User-friendly display name |
description | string | Description of the action's behavior |
category | ActionCategory | Category classification |
type_parameters | TypeParams | Type parameters for generic actions |
dependencies | repeated RegisteredActionName | Prerequisite actions |
external_action_info | ExternalActionInfo | External action metadata |
supported_enums | repeated ResolvedType | Enum types supported by the action |
is_prerequisite_action | bool | Whether this is a prerequisite action |
documentation | Documentation | Documentation for the action |
ActionCategory Enum
| Value | Integer | Description |
|---|---|---|
UNSPECIFIED | 0 | Default/unspecified |
TRIGGER | 1 | Entry point into a workflow |
GENERATION | 2 | LLM-based data generation |
PUBLISH_RESPONSE | 3 | Final step / workflow termination |
RESOURCES | 4 | Data resource management (read/write) |
EXTERNAL_ACTION | 5 | External API integrations |
ANALYTICS | 6 | Data analysis and reasoning |
EVALUATION | 7 | Response evaluation and formatting |
FINANCE | 8 | Finance actions |
HEALTHCARE | 9 | Healthcare actions |
TECHNOLOGY | 10 | Technology actions |
LEGAL | 11 | Legal actions |
SALES | 12 | Sales actions |
FREQUENTLY_USED | 13 | Commonly used actions (highlighted) |
AGENT_ASSIST | 14 | Agent assist actions |
PERSONA_BACKED | 15 | Actions backed by a persona |
CUSTOMER_SUPPORT | 16 | Customer support actions |
SECURITY | 17 | Security actions |
FINANCE_AND_ACCOUNTING | 18 | Finance and accounting actions |
PRODUCT_DEVELOPMENT | 19 | Product development actions |
HUMAN_RESOURCES | 20 | Human resources actions |
UTILITIES | 21 | General-purpose utility actions |
APP_NAVIGATION | 22 | Browser automation and web navigation |
INTERNAL_TOOL | 23 | Internal tool-calling agent actions |
Complete list of ActionCategory values from the proto definition.
ActionLifecycleStatus Enum
| Value | Integer | Description |
|---|---|---|
ACTIVE | 0 | Action is active |
DEPRECATED | 1 | Action is deprecated |
EXPERIMENTAL | 2 | Action is experimental |
Complete list of ActionLifecycleStatus values.
InputDef
Definition of an action input parameter.
| Field | Type | Description |
|---|---|---|
arg_type | ArgumentType | The type of the input argument |
display_name | string | User-friendly name |
description | string | Description of the input |
required | bool | Whether the input is required |
default_value | Value | Default value if not provided |
ArgumentType
| Field | Type | Description |
|---|---|---|
static | TypeReference | A fixed type reference |
type_parameter_ref | string | Reference to a type parameter |
OutputDef
Definition of an action output parameter.
| Field | Type | Description |
|---|---|---|
type | TypeReference | The data type of the output |
display_name | string | User-friendly name |
description | string | Description of the output |
InputDefMap / OutputDefMap
| Field | Type | Description |
|---|---|---|
inputs | map<string, InputDef> | Map of parameter name to InputDef |
outputs | map<string, OutputDef> | Map of parameter name to OutputDef |
WellKnownType Enum
Primitive types supported by the workflow engine's type system.
| Value | Integer | Description |
|---|---|---|
UNSPECIFIED | 0 | Default/unspecified |
STRING | 1 | Text string |
INT | 2 | Integer number |
FLOAT | 3 | Floating-point number |
BOOL | 4 | True/false |
DOCUMENT | 5 | Document reference |
DATASTORE_CONNECTION | 7 | Datastore connection configuration |
FUSION_LLM_CONFIG | 8 | Fusion LLM configuration |
SEARCH_RESULT | 9 | Search result |
BOOST_TERM | 10 | Boost term for reranking |
TEXT_WITH_SOURCES | 11 | Text with associated sources |
CHAT_MESSAGE | 12 | Chat message (deprecated, use CHAT_CONVERSATION) |
CHAT_CONVERSATION | 13 | Chat conversation or conversational context |
STRUCT | 14 | Untyped key-value dictionary |
GLOSSARY_ITEM | 15 | Glossary item (term and definition) |
EXTRACTION_COLUMN | 16 | Extraction column in a table |
RULESET | 17 | Rule set |
TAG_EXTRACTION_CONFIG | 18 | Tag extraction configuration |
DATA_PROTECTION_CONFIG | 19 | Data protection configuration |
CHART | 20 | Chart visualization |
DATE | 21 | Date value |
DATETIME | 22 | Date and time value |
DOCUMENT_TEMPLATE | 23 | Document template |
ANY | 24 | Any type (untyped) |
THREAD | 25 | Ticketing thread |
JSON_MAPPER_CONFIG | 26 | JSON mapper configuration |
DOCUMENT_VERSION_ID | 27 | Document version identifier |
EMAIL_ACCOUNT_CONFIG | 28 | Email account configuration |
HUMAN_COLLABORATION_CONFIG | 29 | Human collaboration (HITL) configuration |
TOOL_CONFIG | 30 | Tool configuration for tool workflows |
Complete list of WellKnownType values from the proto definition. Note that value 6 is not assigned.
Value
The universal value type used throughout the workflow engine. A Value can hold any supported data type.
| Field | Type | Description |
|---|---|---|
string_value | string | String value |
int_value | int64 | Integer value |
float_value | double | Floating-point value |
bool_value | bool | Boolean value |
json_value | string | JSON string value |
list_value | ListValue | List of Values |
null_value | NullValue | Null |
Only one field is set at a time (oneof semantics).
ListValue
| Field | Type | Description |
|---|---|---|
values | repeated Value | List of Value elements |
HumanInteractionConfig
Configuration for human-in-the-loop interactions.
| Field | Type | Description |
|---|---|---|
enabled | bool | Whether HITL is enabled for this action |
message_type | MessageType | Type of message to present to the human |
timeout_seconds | int32 | Timeout before auto-proceeding |
ExternalActionInfo
Metadata for actions provided by external integrations.
| Field | Type | Description |
|---|---|---|
provider | ActionProvider | The external action provider |
integration_id | string | Integration identifier |
action_id | string | Action identifier within the integration |
ActionProvider Enum
| Value | Integer | Description |
|---|---|---|
UNSPECIFIED | 0 | Default/unspecified |
EMA_BACKEND | 1 | Internal Ema backend service |
DATAINGEST | 2 | Data ingestion service |
PARAGON | 3 | Paragon integration |
WORKATO | 4 | Workato integration |
WORKFLOW_ENGINE | 5 | Workflow engine |
COMPOSIO_MCP | 6 | Composio via MCP (Model Context Protocol) |
EMA_PERSONA | 7 | Ema persona-backed action |
COMPOSIO_TOOL | 8 | Composio via native API |
EMA_EXTERNAL_TOOL | 9 | Ema external tool (tool workflows) |
EMU | 10 | EMU connector |
Complete list of ActionProvider values from the proto definition.
Related
- Workflow Overview -- Concepts and architecture
- Workflow Data Model -- Workflow-level structures
- Workflow API -- API endpoints