ObjectStackObjectStack

Agent Action

Agent Action protocol schemas

AI Agent Action Protocol

Defines how AI agents can interact with the UI by mapping natural language intents

to structured UI actions. This enables agents to not only query data but also

manipulate the interface, navigate between views, and trigger workflows.

Architecture Alignment:

  • Salesforce Einstein: Action recommendations and automated UI interactions

  • ServiceNow Virtual Agent: UI action automation

  • Microsoft Power Virtual Agents: Bot actions and UI integration

Use Cases:

  • "Open the new account form" → Navigate to form view

  • "Show me all active opportunities" → Navigate to list view with filter

  • "Create a new task for John" → Open form with pre-filled data

  • "Switch to the kanban view" → Change view mode

Source: packages/spec/src/ai/agent-action.zod.ts

TypeScript Usage

import { AgentAction, AgentActionResult, AgentActionSequence, AgentActionSequenceResult, ComponentActionParams, ComponentActionType, ComponentAgentAction, DataActionParams, DataActionType, DataAgentAction, FormActionParams, FormActionType, FormAgentAction, IntentActionMapping, NavigationActionParams, NavigationActionType, NavigationAgentAction, TypedAgentAction, UIActionType, ViewActionParams, ViewActionType, ViewAgentAction, WorkflowActionParams, WorkflowActionType, WorkflowAgentAction } from '@objectstack/spec/ai';
import type { AgentAction, AgentActionResult, AgentActionSequence, AgentActionSequenceResult, ComponentActionParams, ComponentActionType, ComponentAgentAction, DataActionParams, DataActionType, DataAgentAction, FormActionParams, FormActionType, FormAgentAction, IntentActionMapping, NavigationActionParams, NavigationActionType, NavigationAgentAction, TypedAgentAction, UIActionType, ViewActionParams, ViewActionType, ViewAgentAction, WorkflowActionParams, WorkflowActionType, WorkflowAgentAction } from '@objectstack/spec/ai';

// Validate data
const result = AgentAction.parse(data);

AgentAction

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'navigate_to_object_list' | 'navigate_to_object_form' | 'navigate_to_record_detail' | 'navigate_to_dashboard' | 'navigate_to_report' | 'navigate_to_app' | 'navigate_back' | 'navigate_home' | 'open_tab' | 'close_tab'> | Enum<'change_view_mode' | 'apply_filter' | 'clear_filter' | 'apply_sort' | 'change_grouping' | 'show_columns' | 'expand_record' | 'collapse_record' | 'refresh_view' | 'export_data'> | Enum<'create_record' | 'update_record' | 'delete_record' | 'fill_field' | 'clear_field' | 'submit_form' | 'cancel_form' | 'validate_form' | 'save_draft'> | Enum<'select_record' | 'deselect_record' | 'select_all' | 'deselect_all' | 'bulk_update' | 'bulk_delete' | 'bulk_export'> | Enum<'trigger_flow' | 'trigger_approval' | 'trigger_webhook' | 'run_report' | 'send_email' | 'send_notification' | 'schedule_task'> | Enum<'open_modal' | 'close_modal' | 'open_sidebar' | 'close_sidebar' | 'show_notification' | 'hide_notification' | 'open_dropdown' | 'close_dropdown' | 'toggle_section'>Type of UI action to perform
paramsObject | Object | Object | Object | Object | ObjectAction-specific parameters
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

AgentActionResult

Properties

PropertyTypeRequiredDescription
actionIdstringID of the executed action
statusEnum<'success' | 'error' | 'cancelled' | 'pending'>Execution status
dataanyoptionalAction result data
errorObjectoptionalError details if status is "error"
metadataObjectoptional

AgentActionSequence

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique sequence ID
actionsObject[]Ordered list of actions
modeEnum<'sequential' | 'parallel'>Execution mode
stopOnErrorbooleanStop sequence on first error
atomicbooleanTransaction mode (all-or-nothing)
startTimestringoptionalExecution start time (ISO 8601)
endTimestringoptionalExecution end time (ISO 8601)
metadataObjectoptional

AgentActionSequenceResult

Properties

PropertyTypeRequiredDescription
sequenceIdstringID of the executed sequence
statusEnum<'success' | 'partial_success' | 'error' | 'cancelled'>Overall execution status
resultsObject[]Results for each action
summaryObject
metadataObjectoptional

ComponentActionParams

Properties

PropertyTypeRequiredDescription
componentIdstringoptionalComponent ID
modalConfigObjectoptional
notificationConfigObjectoptional
sidebarConfigObjectoptional

ComponentActionType

Allowed Values

  • open_modal
  • close_modal
  • open_sidebar
  • close_sidebar
  • show_notification
  • hide_notification
  • open_dropdown
  • close_dropdown
  • toggle_section

ComponentAgentAction

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'open_modal' | 'close_modal' | 'open_sidebar' | 'close_sidebar' | 'show_notification' | 'hide_notification' | 'open_dropdown' | 'close_dropdown' | 'toggle_section'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

DataActionParams

Properties

PropertyTypeRequiredDescription
recordIdsstring[]optionalRecord IDs to select/operate on
filtersRecord<string, any>optionalFilter for bulk operations
updateDataRecord<string, any>optionalData for bulk update
exportFormatEnum<'csv' | 'xlsx' | 'pdf' | 'json'>optional

DataActionType

Allowed Values

  • select_record
  • deselect_record
  • select_all
  • deselect_all
  • bulk_update
  • bulk_delete
  • bulk_export

DataAgentAction

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'select_record' | 'deselect_record' | 'select_all' | 'deselect_all' | 'bulk_update' | 'bulk_delete' | 'bulk_export'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

FormActionParams

Properties

PropertyTypeRequiredDescription
objectstringoptionalObject name
recordIdstringoptionalRecord ID (for edit/delete)
fieldValuesRecord<string, any>optionalField name-value pairs
fieldNamestringoptionalSpecific field to fill/clear
fieldValueanyoptionalValue to set
validateOnlybooleanoptionalValidate without saving

FormActionType

Allowed Values

  • create_record
  • update_record
  • delete_record
  • fill_field
  • clear_field
  • submit_form
  • cancel_form
  • validate_form
  • save_draft

FormAgentAction

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'create_record' | 'update_record' | 'delete_record' | 'fill_field' | 'clear_field' | 'submit_form' | 'cancel_form' | 'validate_form' | 'save_draft'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

IntentActionMapping

Properties

PropertyTypeRequiredDescription
intentstringIntent pattern (e.g., "open_new_record_form")
examplesstring[]optionalExample user queries
actionTemplateObjectAction to execute
paramExtractionRecord<string, Object>optionalRules for extracting parameters from user input
minConfidencenumberMinimum confidence to execute

Properties

PropertyTypeRequiredDescription
objectstringoptionalObject name (for object-specific navigation)
recordIdstringoptionalRecord ID (for detail page)
viewTypeEnum<'list' | 'form' | 'detail' | 'kanban' | 'calendar' | 'gantt'>optional
dashboardIdstringoptionalDashboard ID
reportIdstringoptionalReport ID
appNamestringoptionalApp name
modeEnum<'new' | 'edit' | 'view'>optionalForm mode
openInNewTabbooleanoptionalOpen in new tab

Allowed Values

  • navigate_to_object_list
  • navigate_to_object_form
  • navigate_to_record_detail
  • navigate_to_dashboard
  • navigate_to_report
  • navigate_to_app
  • navigate_back
  • navigate_home
  • open_tab
  • close_tab

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'navigate_to_object_list' | 'navigate_to_object_form' | 'navigate_to_record_detail' | 'navigate_to_dashboard' | 'navigate_to_report' | 'navigate_to_app' | 'navigate_back' | 'navigate_home' | 'open_tab' | 'close_tab'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

TypedAgentAction

Union Options

This schema accepts one of the following structures:

Option 1

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'navigate_to_object_list' | 'navigate_to_object_form' | 'navigate_to_record_detail' | 'navigate_to_dashboard' | 'navigate_to_report' | 'navigate_to_app' | 'navigate_back' | 'navigate_home' | 'open_tab' | 'close_tab'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

Option 2

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'change_view_mode' | 'apply_filter' | 'clear_filter' | 'apply_sort' | 'change_grouping' | 'show_columns' | 'expand_record' | 'collapse_record' | 'refresh_view' | 'export_data'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

Option 3

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'create_record' | 'update_record' | 'delete_record' | 'fill_field' | 'clear_field' | 'submit_form' | 'cancel_form' | 'validate_form' | 'save_draft'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

Option 4

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'select_record' | 'deselect_record' | 'select_all' | 'deselect_all' | 'bulk_update' | 'bulk_delete' | 'bulk_export'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

Option 5

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'trigger_flow' | 'trigger_approval' | 'trigger_webhook' | 'run_report' | 'send_email' | 'send_notification' | 'schedule_task'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

Option 6

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'open_modal' | 'close_modal' | 'open_sidebar' | 'close_sidebar' | 'show_notification' | 'hide_notification' | 'open_dropdown' | 'close_dropdown' | 'toggle_section'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional


UIActionType

Union Options

This schema accepts one of the following structures:

Option 1

Allowed Values: navigate_to_object_list, navigate_to_object_form, navigate_to_record_detail, navigate_to_dashboard, navigate_to_report, navigate_to_app, navigate_back, navigate_home, open_tab, close_tab


Option 2

Allowed Values: change_view_mode, apply_filter, clear_filter, apply_sort, change_grouping, show_columns, expand_record, collapse_record, refresh_view, export_data


Option 3

Allowed Values: create_record, update_record, delete_record, fill_field, clear_field, submit_form, cancel_form, validate_form, save_draft


Option 4

Allowed Values: select_record, deselect_record, select_all, deselect_all, bulk_update, bulk_delete, bulk_export


Option 5

Allowed Values: trigger_flow, trigger_approval, trigger_webhook, run_report, send_email, send_notification, schedule_task


Option 6

Allowed Values: open_modal, close_modal, open_sidebar, close_sidebar, show_notification, hide_notification, open_dropdown, close_dropdown, toggle_section



ViewActionParams

Properties

PropertyTypeRequiredDescription
viewModeEnum<'list' | 'kanban' | 'calendar' | 'gantt' | 'pivot'>optional
filtersRecord<string, any>optionalFilter conditions
sortObject[]optional
groupBystringoptionalField to group by
columnsstring[]optionalColumns to show/hide
recordIdstringoptionalRecord to expand/collapse
exportFormatEnum<'csv' | 'xlsx' | 'pdf' | 'json'>optional

ViewActionType

Allowed Values

  • change_view_mode
  • apply_filter
  • clear_filter
  • apply_sort
  • change_grouping
  • show_columns
  • expand_record
  • collapse_record
  • refresh_view
  • export_data

ViewAgentAction

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'change_view_mode' | 'apply_filter' | 'clear_filter' | 'apply_sort' | 'change_grouping' | 'show_columns' | 'expand_record' | 'collapse_record' | 'refresh_view' | 'export_data'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

WorkflowActionParams

Properties

PropertyTypeRequiredDescription
flowNamestringoptionalFlow/workflow name
approvalProcessNamestringoptionalApproval process name
webhookUrlstringoptionalWebhook URL
reportNamestringoptionalReport name
emailTemplatestringoptionalEmail template
recipientsstring[]optionalEmail recipients
subjectstringoptionalEmail subject
messagestringoptionalNotification/email message
taskDataRecord<string, any>optionalTask creation data
scheduleTimestringoptionalSchedule time (ISO 8601)
contextDataRecord<string, any>optionalAdditional context data

WorkflowActionType

Allowed Values

  • trigger_flow
  • trigger_approval
  • trigger_webhook
  • run_report
  • send_email
  • send_notification
  • schedule_task

WorkflowAgentAction

Properties

PropertyTypeRequiredDescription
idstringoptionalUnique action ID
typeEnum<'trigger_flow' | 'trigger_approval' | 'trigger_webhook' | 'run_report' | 'send_email' | 'send_notification' | 'schedule_task'>
paramsObject
requireConfirmationbooleanRequire user confirmation before executing
confirmationMessagestringoptionalMessage to show in confirmation dialog
successMessagestringoptionalMessage to show on success
onErrorEnum<'retry' | 'skip' | 'abort'>Error handling strategy
metadataObjectoptional

On this page