> Source: https://builder-docs.ema.ai/api-reference/workflows/action-data-model
> Title: Action Data Model

# 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](/legacy-docs/api-reference/workflows/overview) -- Concepts and architecture
-   [Workflow Data Model](/legacy-docs/api-reference/workflows/workflow-data-model) -- Workflow-level structures
-   [Workflow API](/legacy-docs/api-reference/workflows/workflow-api) -- API endpoints
