skopik

Automations

Automations create tasks on a schedule or in response to an event. Use them for recurring work such as reports, checks, and follow-up tasks.

Quick Links

Action Description
automations.list() List automations.
automations.create() Create a scheduled or triggered automation.
automations.get() Read an automation.
automations.update() Update an automation.
automations.delete() Disable an automation.
automations.run() Run an automation now.
automations.listTasks() List tasks created by an automation.

Reference

automations.list(params?)

List automations in the current workspace.

const { data: automations } = await client.automations.list({ status: 'active' })

Parameters

Field Type Required Notes
status string No active, paused, or disabled.
owner string No Filter by owner.
createdBy string No Filter by creator.

Returns ListResponse<Automation> — see Automation.

automations.create(input)

Create an automation for recurring or event-triggered task creation. Each time the automation fires, Skopik creates a task from template.

const { automation } = await client.automations.create({
	name: 'Daily launch summary',
	trigger: { type: 'schedule', schedule: { kind: 'every', duration: '1d' } },
	template: {
		title: 'Write launch summary',
		prompt: 'Summarize open launch work and blockers.',
		assignedTo: 'agent_31c8d0',
	},
})

Parameters

Field Type Required Notes
name string Yes Automation name.
trigger AutomationTrigger Yes Schedule or event trigger. See AutomationTrigger.
template TaskTemplate Yes Task fields to use each time the automation fires. See TaskTemplate.
description string No Human-readable description.
status string No active, paused, or disabled. Defaults to active.
owner string No Owner id or external owner reference.
serviceIdentityId string No Service identity used to create automation tasks.
conversationId string No Conversation to attach automation activity to.
metadata object No Customer metadata.

Returns { automation: Automation } — see Automation.

automations.get(automationId)

Read an automation.

const { automation } = await client.automations.get('auto_5d81f2')

Returns { automation: Automation } — see Automation.

automations.update(automationId, input)

Update an automation.

const { automation } = await client.automations.update('auto_5d81f2', {
	status: 'paused',
})

Parameters

Field Type Required Notes
name string No New name.
description string No New description.
status string No active, paused, or disabled.
trigger AutomationTrigger No Replacement trigger. See AutomationTrigger.
template TaskTemplate No Replacement task template. See TaskTemplate.
owner string No New owner.
conversationId string No New conversation id.
metadata object No Replacement metadata.

Returns { automation: Automation } — see Automation.

automations.delete(automationId)

Disable an automation. Disabled automations no longer fire.

const { automation } = await client.automations.delete('auto_5d81f2')

Returns { automation: Automation } — the disabled automation. See Automation.

automations.run(automationId)

Fire an automation immediately.

const { task } = await client.automations.run('auto_5d81f2')

Returns { task: Task, session?: Run, operation?: Operation }task is the newly created task; session is the run when the task was dispatched immediately; operation tracks the dispatch. See Task, Run, and Operation.

automations.listTasks(automationId)

List tasks created by an automation.

const { data: tasks } = await client.automations.listTasks('auto_5d81f2')

Returns ListResponse<Task> — single page, no cursor. See Task.

Types

Automation

Field Type Notes
automationId string Automation id.
orgId string Workspace id.
name string Automation name.
description string Description.
status string active, paused, or disabled.
trigger AutomationTrigger Trigger definition. See AutomationTrigger.
template TaskTemplate Task template. See TaskTemplate.
serviceIdentityId string Service identity used to create automation tasks.
owner string Owner id or external owner reference.
conversationId string Attached conversation id.
metadata object Customer metadata.
lastRunAt string Last run timestamp.
nextRunAt string Next scheduled run timestamp.
lastTaskId string Most recent task created by the automation.
runCount number Number of runs fired.
createdBy string Creator id.
createdAt string ISO timestamp.
updatedAt string ISO timestamp.

AutomationTrigger

A trigger is one of two shapes, discriminated by type:

Shape Fields
Schedule trigger { type: 'schedule', schedule } — fires on a time-based schedule. See the schedule variants below.
Event trigger { type: 'event', source, match? } — fires when a matching event arrives from source (for example github).

Schedule variants, discriminated by schedule.kind:

kind Fields Example
in duration { "kind": "in", "duration": "1h" }
at iso { "kind": "at", "iso": "2026-07-03T12:00:00Z" }
every duration { "kind": "every", "duration": "1d" }
cron expression { "kind": "cron", "expression": "rate(1 day)" }

TaskTemplate

Field Type Notes
title string Task title. Required.
prompt string Task prompt.
skill string Skill name or id.
assignedTo string Assigned agent id.
owner string Owner id or external owner reference.
priority string low, medium, high, or urgent.
tags string[] Tags.
todos TaskTodo[] Structured todo list. See TaskTodo.
metadata object Customer metadata.
trace boolean Enable task trace visibility.