Triggers
Dispatch workspace actions from cron schedules, matching live events, or authenticated manual fire requests, with durable run history.
Endpoints
Create Trigger
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Closed set of world events that trigger definitions may subscribe to.
The database column intentionally remains text for compatibility with old rows, but API writes must choose from this list so typoed event names do not silently create never-matching triggers.
UTCSuccessful Response
Trigger display name
Human-readable description
Event type pattern to match
Action (skill) to invoke when fired
Cron schedule expression (e.g. '0 9 * * 1-5')
IANA timezone for schedule evaluation
Next scheduled fire time
Whether the trigger is active
Entity ID of the creator
When the trigger was created
When the trigger was last updated
Validation error
Rate limited
POST /v1/{workspace_id}/triggers HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 266
{
"name": "text",
"description": "text",
"event_type": "amigo.trigger.cron",
"event_filter": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"action_id": "123e4567-e89b-12d3-a456-426614174000",
"input_template": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"schedule": "text",
"timezone": "UTC"
}{
"id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"description": "text",
"event_type": "text",
"event_filter": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"action_id": "123e4567-e89b-12d3-a456-426614174000",
"input_template": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"schedule": "text",
"timezone": "text",
"next_fire_at": "2026-01-01T00:00:00.000Z",
"is_active": true,
"created_by": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}List Triggers
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
50Successful Response
Validation Error
Rate limited
GET /v1/{workspace_id}/triggers HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"description": "text",
"event_type": "text",
"event_filter": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"action_id": "123e4567-e89b-12d3-a456-426614174000",
"input_template": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"schedule": "text",
"timezone": "text",
"next_fire_at": "2026-01-01T00:00:00.000Z",
"is_active": true,
"created_by": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"has_more": true,
"continuation_token": null
}Get Trigger
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Trigger display name
Human-readable description
Event type pattern to match
Action (skill) to invoke when fired
Cron schedule expression (e.g. '0 9 * * 1-5')
IANA timezone for schedule evaluation
Next scheduled fire time
Whether the trigger is active
Entity ID of the creator
When the trigger was created
When the trigger was last updated
Trigger not found
Validation Error
Rate limited
GET /v1/{workspace_id}/triggers/{trigger_id} HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"description": "text",
"event_type": "text",
"event_filter": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"action_id": "123e4567-e89b-12d3-a456-426614174000",
"input_template": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"schedule": "text",
"timezone": "text",
"next_fire_at": "2026-01-01T00:00:00.000Z",
"is_active": true,
"created_by": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Update Trigger
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Closed set of world events that trigger definitions may subscribe to.
The database column intentionally remains text for compatibility with old rows, but API writes must choose from this list so typoed event names do not silently create never-matching triggers.
Successful Response
Trigger display name
Human-readable description
Event type pattern to match
Action (skill) to invoke when fired
Cron schedule expression (e.g. '0 9 * * 1-5')
IANA timezone for schedule evaluation
Next scheduled fire time
Whether the trigger is active
Entity ID of the creator
When the trigger was created
When the trigger was last updated
Trigger not found
Validation error
Rate limited
PUT /v1/{workspace_id}/triggers/{trigger_id} HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 267
{
"name": "text",
"description": "text",
"event_type": "amigo.trigger.cron",
"event_filter": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"action_id": "123e4567-e89b-12d3-a456-426614174000",
"input_template": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"schedule": "text",
"timezone": "text"
}{
"id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"description": "text",
"event_type": "text",
"event_filter": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"action_id": "123e4567-e89b-12d3-a456-426614174000",
"input_template": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"schedule": "text",
"timezone": "text",
"next_fire_at": "2026-01-01T00:00:00.000Z",
"is_active": true,
"created_by": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Delete Trigger
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
No content
Validation Error
Rate limited
DELETE /v1/{workspace_id}/triggers/{trigger_id} HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Pause Trigger
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Trigger display name
Human-readable description
Event type pattern to match
Action (skill) to invoke when fired
Cron schedule expression (e.g. '0 9 * * 1-5')
IANA timezone for schedule evaluation
Next scheduled fire time
Whether the trigger is active
Entity ID of the creator
When the trigger was created
When the trigger was last updated
Trigger not found
Validation error
Rate limited
POST /v1/{workspace_id}/triggers/{trigger_id}/pause HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"description": "text",
"event_type": "text",
"event_filter": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"action_id": "123e4567-e89b-12d3-a456-426614174000",
"input_template": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"schedule": "text",
"timezone": "text",
"next_fire_at": "2026-01-01T00:00:00.000Z",
"is_active": true,
"created_by": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Resume Trigger
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Trigger display name
Human-readable description
Event type pattern to match
Action (skill) to invoke when fired
Cron schedule expression (e.g. '0 9 * * 1-5')
IANA timezone for schedule evaluation
Next scheduled fire time
Whether the trigger is active
Entity ID of the creator
When the trigger was created
When the trigger was last updated
Trigger not found
Validation error
Rate limited
POST /v1/{workspace_id}/triggers/{trigger_id}/resume HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"description": "text",
"event_type": "text",
"event_filter": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"action_id": "123e4567-e89b-12d3-a456-426614174000",
"input_template": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"schedule": "text",
"timezone": "text",
"next_fire_at": "2026-01-01T00:00:00.000Z",
"is_active": true,
"created_by": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Fire Trigger (Manual)
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
firedTrigger not found
Validation error
Rate limited
Trigger scheduler not initialized
POST /v1/{workspace_id}/triggers/{trigger_id}/fire HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 48
{
"input": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}{
"fired_event_id": "123e4567-e89b-12d3-a456-426614174000",
"trigger_id": "123e4567-e89b-12d3-a456-426614174000",
"status": "fired"
}Execution History
Execution history from the durable trigger run table.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
50Successful Response
Validation Error
Rate limited
GET /v1/{workspace_id}/triggers/{trigger_id}/runs HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"trigger_id": "123e4567-e89b-12d3-a456-426614174000",
"fired_event_id": "123e4567-e89b-12d3-a456-426614174000",
"source": "cron",
"input_override": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"status": "queued",
"attempt_count": 1,
"max_attempts": 1,
"next_attempt_at": "2026-01-01T00:00:00.000Z",
"claimed_by": "text",
"claimed_at": "2026-01-01T00:00:00.000Z",
"lease_expires_at": "2026-01-01T00:00:00.000Z",
"result_text": "text",
"error": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"has_more": true,
"continuation_token": null
}Event Types and Schedules
External Activation
External System to Outbound Call
1. Identify a compatible action skill
2. Create a trigger bound to the skill
3. Fire the trigger from the external system
What happens after the fire
Input fields for outbound actions
Tracing a fire through the system
Provenance
CLI
Last updated
Was this helpful?

