Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat(integrations): cover the full Trigger.dev management API surface
Adds batch retrieve/results, run result/events/trace/tags, queue list and
concurrency override/reset, deployments, TRQL query + schema, waitpoint
tokens, env var import, and timezones (44 tools total). Marks
deduplicationKey required on create schedule and switches list-run filters
to the documented comma-separated form, both per the OpenAPI spec.
  • Loading branch information
waleedlatif1 committed Jun 11, 2026
commit b3de6b2f3d34330080d88087cf18df8e76d07d9a
1,107 changes: 1,085 additions & 22 deletions apps/docs/content/docs/en/integrations/trigger_dev.mdx

Large diffs are not rendered by default.

485 changes: 460 additions & 25 deletions apps/sim/blocks/blocks/trigger_dev.ts

Large diffs are not rendered by default.

90 changes: 87 additions & 3 deletions apps/sim/lib/integrations/integrations.json
Original file line number Diff line number Diff line change
Expand Up @@ -2239,7 +2239,7 @@
{
"type": "calcom",
"slug": "cal-com",
"name": "Cal Com",
"name": "Cal.com",
"description": "Manage Cal.com bookings, event types, schedules, and availability",
"longDescription": "Integrate Cal.com into your workflow. Create and manage bookings, event types, schedules, and check availability slots. Supports creating, listing, rescheduling, and canceling bookings, as well as managing event types and schedules. Can also trigger workflows based on Cal.com webhook events (booking created, cancelled, rescheduled). Connect your Cal.com account via OAuth.",
"bgColor": "#292929",
Expand Down Expand Up @@ -14813,7 +14813,7 @@
"slug": "trigger-dev",
"name": "Trigger.dev",
"description": "Trigger tasks and manage runs and schedules",
"longDescription": "Integrate Trigger.dev into the workflow. Trigger and batch trigger background tasks with a JSON payload, retrieve and list runs, cancel, replay, or reschedule runs, manage cron schedules, environment variables, and queues.",
"longDescription": "Integrate Trigger.dev into the workflow. Trigger and batch trigger background tasks, retrieve and control runs (cancel, replay, reschedule, tags, metadata, events, traces), manage cron schedules, environment variables, queues, deployments, and waitpoint tokens, and query run data with TRQL.",
"bgColor": "#000000",
"iconName": "TriggerDevIcon",
"docsUrl": "https://docs.sim.ai/integrations/trigger_dev",
Expand All @@ -14826,10 +14826,30 @@
"name": "Batch Trigger Task",
"description": "Batch trigger a Trigger.dev task with up to 1,000 payloads. All items in the batch run the same task. Returns the batch ID and the created run IDs."
},
{
"name": "Get Batch",
"description": "Retrieve a Trigger.dev batch by its ID, including its status, run IDs, and success and failure counts."
},
{
"name": "Get Batch Results",
"description": "Retrieve the execution results of every run in a Trigger.dev batch, including outputs and error details."
},
{
"name": "Get Run",
"description": "Retrieve a Trigger.dev run by its ID, including status, payload, output, attempts, and timing details."
},
{
"name": "Get Run Result",
"description": "Retrieve the result of a Trigger.dev run: whether it succeeded, its output, and error details. Lighter than Get Run when only the outcome is needed."
},
{
"name": "Get Run Events",
"description": "Retrieve the log and span events of a Trigger.dev run, including messages, levels, durations, and error events."
},
{
"name": "Get Run Trace",
"description": "Retrieve the OpenTelemetry trace of a Trigger.dev run as a tree of spans with timing, errors, and nested children."
},
{
"name": "List Runs",
"description": "List Trigger.dev runs in the environment of the API key, with optional filters for status, task, version, tags, schedule, and creation time."
Expand All @@ -14846,6 +14866,10 @@
"name": "Reschedule Run",
"description": "Reschedule a delayed Trigger.dev run with a new delay. Only valid while the run is in the DELAYED state."
},
{
"name": "Add Run Tags",
"description": "Add tags to an existing Trigger.dev run. Runs can have up to 10 tags."
},
{
"name": "Update Run Metadata",
"description": "Replace the metadata of a Trigger.dev run with a new JSON object."
Expand Down Expand Up @@ -14898,20 +14922,80 @@
"name": "Delete Env Var",
"description": "Delete an environment variable from a Trigger.dev project environment."
},
{
"name": "Import Env Vars",
"description": "Upload multiple environment variables to a Trigger.dev project environment in one request."
},
{
"name": "Get Queue",
"description": "Retrieve a Trigger.dev queue by ID, task identifier, or custom queue name, including its running and queued counts."
},
{
"name": "List Queues",
"description": "List the queues in the environment of the API key, including running and queued counts, with page-based pagination."
},
{
"name": "Pause Queue",
"description": "Pause a Trigger.dev queue so no new runs start. Runs that are currently executing continue to completion."
},
{
"name": "Resume Queue",
"description": "Resume a paused Trigger.dev queue so new runs can start again."
},
{
"name": "Override Queue Concurrency",
"description": "Override the concurrency limit of a Trigger.dev queue with a new value."
},
{
"name": "Reset Queue Concurrency",
"description": "Reset the concurrency limit of a Trigger.dev queue back to its base value, removing any override."
},
{
"name": "List Deployments",
"description": "List Trigger.dev deployments in the environment of the API key, with optional status and creation-time filters."
},
{
"name": "Get Deployment",
"description": "Retrieve a Trigger.dev deployment by its ID, including its status, version, and registered tasks."
},
{
"name": "Get Latest Deployment",
"description": "Retrieve the latest Trigger.dev deployment in the environment of the API key."
},
{
"name": "Promote Deployment",
"description": "Promote a Trigger.dev deployment version so new runs execute on it (e.g., to roll back to a previous version)."
},
{
"name": "Execute Query",
"description": "Execute a TRQL (SQL-like) query against Trigger.dev run data for reporting and analytics."
},
{
"name": "Get Query Schema",
"description": "Retrieve the TRQL query schema: the tables and columns available for Execute Query, with types and allowed values."
},
{
"name": "Create Waitpoint Token",
"description": "Create a Trigger.dev waitpoint token that a task can wait on until it is completed from outside (e.g., a human approval)."
},
{
"name": "Complete Waitpoint Token",
"description": "Complete a Trigger.dev waitpoint token, resuming any task waiting on it and passing it optional JSON data."
},
{
"name": "Get Waitpoint Token",
"description": "Retrieve a Trigger.dev waitpoint token by its ID, including its status, timeout, and completion data."
},
{
"name": "List Waitpoint Tokens",
"description": "List Trigger.dev waitpoint tokens in the environment of the API key, with optional status, tag, and creation-time filters."
},
{
"name": "List Timezones",
"description": "List the IANA timezones supported by Trigger.dev schedules, for use as the timezone of a cron schedule."
}
],
"operationCount": 23,
"operationCount": 44,
"triggers": [],
"triggerCount": 0,
"authType": "api-key",
Expand Down
42 changes: 42 additions & 0 deletions apps/sim/tools/registry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3191,23 +3191,44 @@ import {
} from '@/tools/trello'
import {
triggerDevActivateScheduleTool,
triggerDevAddRunTagsTool,
triggerDevBatchTriggerTaskTool,
triggerDevCancelRunTool,
triggerDevCompleteWaitpointTokenTool,
triggerDevCreateEnvVarTool,
triggerDevCreateScheduleTool,
triggerDevCreateWaitpointTokenTool,
triggerDevDeactivateScheduleTool,
triggerDevDeleteEnvVarTool,
triggerDevDeleteScheduleTool,
triggerDevExecuteQueryTool,
triggerDevGetBatchResultsTool,
triggerDevGetBatchTool,
triggerDevGetDeploymentTool,
triggerDevGetEnvVarTool,
triggerDevGetLatestDeploymentTool,
triggerDevGetQuerySchemaTool,
triggerDevGetQueueTool,
triggerDevGetRunEventsTool,
triggerDevGetRunResultTool,
triggerDevGetRunTool,
triggerDevGetRunTraceTool,
triggerDevGetScheduleTool,
triggerDevGetWaitpointTokenTool,
triggerDevImportEnvVarsTool,
triggerDevListDeploymentsTool,
triggerDevListEnvVarsTool,
triggerDevListQueuesTool,
triggerDevListRunsTool,
triggerDevListSchedulesTool,
triggerDevListTimezonesTool,
triggerDevListWaitpointTokensTool,
triggerDevOverrideQueueConcurrencyTool,
triggerDevPauseQueueTool,
triggerDevPromoteDeploymentTool,
triggerDevReplayRunTool,
triggerDevRescheduleRunTool,
triggerDevResetQueueConcurrencyTool,
triggerDevResumeQueueTool,
triggerDevTriggerTaskTool,
triggerDevUpdateEnvVarTool,
Expand Down Expand Up @@ -5284,11 +5305,17 @@ export const tools: Record<string, ToolConfig> = {
trello_add_comment: trelloAddCommentTool,
trigger_dev_trigger_task: triggerDevTriggerTaskTool,
trigger_dev_batch_trigger_task: triggerDevBatchTriggerTaskTool,
trigger_dev_get_batch: triggerDevGetBatchTool,
trigger_dev_get_batch_results: triggerDevGetBatchResultsTool,
trigger_dev_get_run: triggerDevGetRunTool,
trigger_dev_get_run_result: triggerDevGetRunResultTool,
trigger_dev_get_run_events: triggerDevGetRunEventsTool,
trigger_dev_get_run_trace: triggerDevGetRunTraceTool,
trigger_dev_list_runs: triggerDevListRunsTool,
trigger_dev_cancel_run: triggerDevCancelRunTool,
trigger_dev_replay_run: triggerDevReplayRunTool,
trigger_dev_reschedule_run: triggerDevRescheduleRunTool,
trigger_dev_add_run_tags: triggerDevAddRunTagsTool,
trigger_dev_update_run_metadata: triggerDevUpdateRunMetadataTool,
trigger_dev_create_schedule: triggerDevCreateScheduleTool,
trigger_dev_get_schedule: triggerDevGetScheduleTool,
Expand All @@ -5302,9 +5329,24 @@ export const tools: Record<string, ToolConfig> = {
trigger_dev_get_env_var: triggerDevGetEnvVarTool,
trigger_dev_update_env_var: triggerDevUpdateEnvVarTool,
trigger_dev_delete_env_var: triggerDevDeleteEnvVarTool,
trigger_dev_import_env_vars: triggerDevImportEnvVarsTool,
trigger_dev_get_queue: triggerDevGetQueueTool,
trigger_dev_list_queues: triggerDevListQueuesTool,
trigger_dev_pause_queue: triggerDevPauseQueueTool,
trigger_dev_resume_queue: triggerDevResumeQueueTool,
trigger_dev_override_queue_concurrency: triggerDevOverrideQueueConcurrencyTool,
trigger_dev_reset_queue_concurrency: triggerDevResetQueueConcurrencyTool,
trigger_dev_list_deployments: triggerDevListDeploymentsTool,
trigger_dev_get_deployment: triggerDevGetDeploymentTool,
trigger_dev_get_latest_deployment: triggerDevGetLatestDeploymentTool,
trigger_dev_promote_deployment: triggerDevPromoteDeploymentTool,
trigger_dev_execute_query: triggerDevExecuteQueryTool,
trigger_dev_get_query_schema: triggerDevGetQuerySchemaTool,
trigger_dev_create_waitpoint_token: triggerDevCreateWaitpointTokenTool,
trigger_dev_complete_waitpoint_token: triggerDevCompleteWaitpointTokenTool,
trigger_dev_get_waitpoint_token: triggerDevGetWaitpointTokenTool,
trigger_dev_list_waitpoint_tokens: triggerDevListWaitpointTokensTool,
trigger_dev_list_timezones: triggerDevListTimezonesTool,
vercel_list_deployments: vercelListDeploymentsTool,
vercel_get_deployment: vercelGetDeploymentTool,
vercel_create_deployment: vercelCreateDeploymentTool,
Expand Down
64 changes: 64 additions & 0 deletions apps/sim/tools/trigger_dev/add_run_tags.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import type {
TriggerDevAddRunTagsParams,
TriggerDevAddRunTagsResponse,
} from '@/tools/trigger_dev/types'
import {
buildTriggerDevHeaders,
splitCommaSeparated,
TRIGGER_DEV_API_BASE,
} from '@/tools/trigger_dev/utils'
import type { ToolConfig } from '@/tools/types'

export const triggerDevAddRunTagsTool: ToolConfig<
TriggerDevAddRunTagsParams,
TriggerDevAddRunTagsResponse
> = {
id: 'trigger_dev_add_run_tags',
name: 'Trigger.dev Add Run Tags',
description: 'Add tags to an existing Trigger.dev run. Runs can have up to 10 tags.',
version: '1.0.0',

params: {
apiKey: {
type: 'string',
required: true,
visibility: 'user-only',
description: 'Trigger.dev secret API key (starts with tr_)',
},
runId: {
type: 'string',
required: true,
visibility: 'user-or-llm',
description: 'ID of the run to tag (starts with run_)',
},
tags: {
type: 'string',
required: true,
visibility: 'user-or-llm',
description:
'Comma-separated tags to add to the run (max 10 total, each under 128 characters)',
},
},

request: {
url: (params) =>
`${TRIGGER_DEV_API_BASE}/api/v1/runs/${encodeURIComponent(params.runId.trim())}/tags`,
method: 'POST',
headers: (params) => buildTriggerDevHeaders(params.apiKey),
body: (params) => ({ tags: splitCommaSeparated(params.tags) }),
},

transformResponse: async (response) => {
const data = await response.json()
return {
success: true,
output: {
message: data.message ?? '',
},
}
},

outputs: {
message: { type: 'string', description: 'Confirmation message for the added tags' },
},
}
68 changes: 68 additions & 0 deletions apps/sim/tools/trigger_dev/complete_waitpoint_token.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import type {
TriggerDevCompleteWaitpointTokenParams,
TriggerDevCompleteWaitpointTokenResponse,
} from '@/tools/trigger_dev/types'
import {
buildTriggerDevHeaders,
parseJsonInput,
TRIGGER_DEV_API_BASE,
} from '@/tools/trigger_dev/utils'
import type { ToolConfig } from '@/tools/types'

export const triggerDevCompleteWaitpointTokenTool: ToolConfig<
TriggerDevCompleteWaitpointTokenParams,
TriggerDevCompleteWaitpointTokenResponse
> = {
id: 'trigger_dev_complete_waitpoint_token',
name: 'Trigger.dev Complete Waitpoint Token',
description:
'Complete a Trigger.dev waitpoint token, resuming any task waiting on it and passing it optional JSON data.',
version: '1.0.0',

params: {
apiKey: {
type: 'string',
required: true,
visibility: 'user-only',
description: 'Trigger.dev secret API key (starts with tr_)',
},
waitpointId: {
type: 'string',
required: true,
visibility: 'user-or-llm',
description: 'ID of the waitpoint token to complete (starts with waitpoint_)',
},
data: {
type: 'json',
required: false,
visibility: 'user-or-llm',
description:
'JSON data passed back to the waiting run as the token result. Example: {"status": "approved"}',
},
},

request: {
url: (params) =>
`${TRIGGER_DEV_API_BASE}/api/v1/waitpoints/tokens/${encodeURIComponent(params.waitpointId.trim())}/complete`,
method: 'POST',
headers: (params) => buildTriggerDevHeaders(params.apiKey),
body: (params) => {
const data = parseJsonInput(params.data, 'data')
return data === undefined ? {} : { data }
},
},

transformResponse: async (response) => {
const data = await response.json()
return {
success: true,
output: {
success: data.success ?? true,
},
}
},

outputs: {
success: { type: 'boolean', description: 'Whether the waitpoint token was completed' },
},
}
4 changes: 2 additions & 2 deletions apps/sim/tools/trigger_dev/create_schedule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ export const triggerDevCreateScheduleTool: ToolConfig<
},
deduplicationKey: {
type: 'string',
required: false,
required: true,
visibility: 'user-or-llm',
description:
'Key that prevents duplicate schedules; creating again with the same key updates the existing schedule',
Expand All @@ -69,10 +69,10 @@ export const triggerDevCreateScheduleTool: ToolConfig<
const body: Record<string, unknown> = {
task: params.task,
cron: params.cron,
deduplicationKey: params.deduplicationKey,
}
if (params.timezone) body.timezone = params.timezone
if (params.externalId) body.externalId = params.externalId
if (params.deduplicationKey) body.deduplicationKey = params.deduplicationKey
return body
},
},
Expand Down
Loading