Reference for actionsAttributes in AI agent behaviors
Overview
actionsAttributes in actionParams.aiBehaviorParams defines the actions an AI agent can perform when a behavior runs. Each entry is one action the agent may call. The behavior's instruction must reference every action via %{action:REFERENCE_ID}.
Action fields
| Field | Type | Required | Description |
|---|---|---|---|
actionType | string | Yes | Determines what the agent does. See Action types. |
name | string | Yes | Display name for this action. |
referenceId | string | Yes | UUID you assign to this action. Must be a valid UUID format and unique within the behavior. Used in the instruction via %{action:REFERENCE_ID}. |
id | string | No | Existing action UUID. Include this when updating an existing action via updateAiAgent. |
metadata | object | No | Action-specific configuration. See Metadata fields and each action type below. |
Metadata fields
All metadata fields are optional at the input level, but certain fields are required by specific action types:
| Field | Type | Used by |
|---|---|---|
pipeId | string | move_card, update_card, create_card, create_connected_card |
tableId | string | create_table_record |
destinationPhaseId | string | move_card (required), create_card, create_connected_card, create_table_record (optional — card goes to default phase if omitted) |
fieldsAttributes | array of objects | update_card, create_card, create_connected_card, create_table_record |
emailTemplateId | string | send_email_template |
allowTemplateModifications | boolean | send_email_template |
mcpServerId | string | mcp_tool (required) |
toolName | string | mcp_tool (required) |
toolInputs | array of objects | mcp_tool (optional) |
fieldsAttributes
Defines how each field on the target card is populated. Each item has:
| Field | Type | Required | Description |
|---|---|---|---|
fieldId | string | Yes | Internal ID of the field to populate. See Get Resource IDs → Field internal_id. |
inputMode | string | Yes | How the value is determined. See below. |
value | string | No | Source or static value. Required for copy_from and fixed_value. Pass "" for fill_with_ai. |
inputMode values:
| Value | Description |
|---|---|
fill_with_ai | The AI generates a value for this field based on the behavior instruction. |
copy_from | Copies the value from another field. Set value to the source field's internal ID. |
fixed_value | Uses a hardcoded static value. Set value to the literal text. |
toolInputs
Pre-set values for individual parameters of an MCP tool (used by mcp_tool). Include only the parameters you want to fix — any parameter you omit is decided by the AI at runtime. Only top-level tool parameters are supported. Pre-set parameters are hidden from the model, so it cannot override them.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The tool parameter name, exactly as exposed by the MCP tool's input schema. |
source | enum | Yes | How the value is supplied. See below. |
value | JSON | Conditional | The literal value, used as-is. Required when source is fixed_value. Accepts any JSON type (string, number, boolean, array, object). |
fieldId | string | Conditional | A field internal ID, or a card attribute key (title, id, uuid). Required when source is card_field. Resolved when the agent runs. |
source values:
| Value | Description |
|---|---|
fixed_value | Injects the literal value exactly as provided. |
card_field | Resolves fieldId against the triggering card at execution time: first a field whose internal ID matches, otherwise a card attribute (title/id/uuid). |
Action types
move_card
move_cardMoves the current card to a specific phase.
Required metadata: destinationPhaseId, pipeId
{
name: "Move to Review"
actionType: "move_card"
referenceId: "88eb26bc-c838-41a7-a8f7-4f6c3df337a4"
metadata: {
destinationPhaseId: "342876484"
pipeId: "307108581"
}
}
update_card
update_cardUpdates fields on the current card.
Required metadata: fieldsAttributes (at least one entry)
{
name: "Fill summary fields"
actionType: "update_card"
referenceId: "63637099-d172-4196-b46a-1864ed61e685"
metadata: {
fieldsAttributes: [
{
fieldId: "428299825"
inputMode: "fill_with_ai"
value: ""
},
{
fieldId: "428299828"
inputMode: "fixed_value"
value: "Reviewed"
},
{
fieldId: "428299830"
inputMode: "copy_from"
value: "413928300"
}
]
}
}
create_card
create_cardCreates a new card in a pipe.
Required metadata: pipeId
Optional metadata: destinationPhaseId (card goes to the pipe's default phase if omitted), fieldsAttributes
{
name: "Create follow-up card"
actionType: "create_card"
referenceId: "b031aebf-985c-48d2-b3ee-a5e09c9df591"
metadata: {
pipeId: "306422123"
destinationPhaseId: ""
fieldsAttributes: [
{
fieldId: "413928300"
inputMode: "fill_with_ai"
value: ""
}
]
}
}
create_connected_card
create_connected_cardCreates a card in a pipe that is connected to the current pipe.
Required metadata: pipeId (the connected pipe)
Optional metadata: destinationPhaseId, fieldsAttributes
{
name: "Create connected card"
actionType: "create_connected_card"
referenceId: "2186f683-da4c-4f96-a954-089176d2a534"
metadata: {
pipeId: "302959103"
fieldsAttributes: [
{
fieldId: "371542895"
inputMode: "fill_with_ai"
value: ""
}
]
}
}
create_table_record
create_table_recordCreates a new record in a database table.
Required metadata: tableId
Optional metadata: fieldsAttributes
{
name: "Create table record"
actionType: "create_table_record"
referenceId: "6c2584d9-0f0d-4702-8ae7-f4bf83bf8ba2"
metadata: {
tableId: "301619858"
fieldsAttributes: [
{
fieldId: "324912126"
inputMode: "fill_with_ai"
value: ""
}
]
}
}
send_email_template
send_email_templateSends an email using a pre-configured email template.
Required metadata: emailTemplateId
Optional metadata: allowTemplateModifications — when true, the AI can modify the template content before sending.
{
name: "Send email template"
actionType: "send_email_template"
referenceId: "1e35d489-65ef-488a-8954-9e60d79c4b1b"
metadata: {
emailTemplateId: "309545798"
allowTemplateModifications: true
}
}
mcp_tool
mcp_toolInvokes a tool exposed by a connected MCP server. Requires the agents_with_mcp_tools feature to be enabled for the organization.
Required metadata: mcpServerId, toolName
Optional metadata: toolInputs — pre-set values for individual tool parameters. See toolInputs. Any parameter not listed is filled by the AI at runtime.
{
name: "Create calendar event"
actionType: "mcp_tool"
referenceId: "f0a1c2d3-4e5f-6789-abcd-ef0123456789"
metadata: {
mcpServerId: "b8c1e2f3-1234-4abc-9def-0123456789ab"
toolName: "create_event"
toolInputs: [
{
name: "location"
source: "fixed_value"
value: "HQ — Room 4"
},
{
name: "calendar_id"
source: "card_field"
fieldId: "428299825"
},
{
name: "subject"
source: "card_field"
fieldId: "title"
}
]
}
}
Notes
- Every action must be referenced in the behavior instruction via
%{action:REFERENCE_ID}. An instruction without at least one action reference will fail validation. referenceIdmust be a valid UUID format (e.g.,"88eb26bc-c838-41a7-a8f7-4f6c3df337a4"). It does not need to match any existing record — it is a label you choose and use in the instruction.- When updating an existing action via
updateAiAgent, include the action'sid(a UUID returned by the API). Actions without anidare created as new. fieldsAttributeswithinputMode: "fill_with_ai"instructs the agent to populate that field autonomously based on the behavior instruction. You do not need to reference those fields explicitly in the instruction, but you can.toolInputs(onmcp_tool) pre-sets only the parameters you list; omit a parameter to let the AI decide it. A pre-set parameter is hidden from the model and cannot be overridden by it. Withsource: "card_field", a numericfieldIdresolves to that field's value on the triggering card, while keys liketitle/id/uuidresolve to the corresponding card attribute.
