Skip to content
AdlyseMCP Docs
Product guideMCP reference
⌘K
Open Adlyse
⌘K
Overview
QuickstartAuthentication
adlyse-insights
adlyse-reports
adlyse-ads
adlyse-workflows
list_workflowsget_workflowrun_workflowget_run_status
adlyse-adminadlyse-all
  1. Overview
  2. adlyse-workflows

create_schedule

Put an agent or a workflow on a recurring cadence.

Describe the cadence with frequency rather than writing cron. Pass exactly one of frequency or cron_expression.

A workflow you schedule must use a manual trigger, and the schedule runs its draft — not a release. A workflow whose trigger is an event or an integration is refused at run time.

Parameters#

NameTypeRequiredDefaultDescription
namestringyesHuman-readable name for the schedule
target_typestringyesassistant, workflow or batch_job
target_idstringyesId of the agent, workflow or batch job to run
messagestringno""For an agent target, the instruction it wakes up with. A real prompt, not a label. Lead it with a /<Skill Name>:skill chip (exact name, case-insensitive) to force-load one of that agent’s skills on every run; an unknown name is refused
frequencystringnohourly, daily, weekdays (Mon–Fri), weekly or monthly
hourintegerno9Hour of day, 0–23. Ignored for hourly
minuteintegerno0Minute of the hour, 0–59
weekdayinteger | nullno0=Sunday … 6=Saturday, for frequency: weekly
day_of_monthinteger | nullno1–28, for frequency: monthly
timezonestring | nullnoIANA name (e.g. America/Los_Angeles). Defaults to your organization’s timezone, never UTC by accident
cron_expressionstring | nullnoA 5-field cron expression, instead of frequency
descriptionstringno""Optional longer description
intervalintegerno1Repeat every N units of frequency: 2 with weekly is every other week, 3 with daily is every 3 days. For hourly it becomes */N in the cron (every 6 hours = 0/6/12/18)

Returns#

json
{
  "schedule_id": "sched_abc123",
  "name": "Morning pacing check",
  "cron_expression": "0 7 * * 1-5",
  "timezone": "America/Los_Angeles",
  "interval": 1,
  "interval_start": null,
  "human_readable": "Every weekday at 7:00 AM (America/Los_Angeles)",
  "next_runs": ["2026-08-19T07:00:00-07:00", "2026-08-20T07:00:00-07:00", "2026-08-21T07:00:00-07:00"],
  "status": "active",
  "target_type": "assistant",
  "target_name": "Pacing analyst",
  "url": "/adlyse/schedules"
}
FieldDescription
human_readableThe cadence in words. Show this to whoever asked — a wrong hour or timezone is invisible in cron
intervalEvery N units of the cadence; interval_start is the local date the count starts from (set when interval > 1)
next_runsThe next three fire times, in the schedule’s own timezone
statusactive on creation; see pause_schedule

next_runs is a preview. Across a daylight-saving transition it can report the run an hour out on the transition day only; the schedule itself fires at the local time you asked for.

Errors#

error_typeWhen
auth_errorMissing / invalid API key
feature_not_availableYour plan does not include schedules
not_foundThe target id doesn’t exist or is outside your org
invalid_inputBoth or neither of frequency / cron_expression; a malformed cron expression; an unknown timezone; an out-of-range hour or weekday; an interval > 1 on a cadence that is not daily/weekly/monthly

Example#

Request — a colleague that reviews spend every weekday at 7am:

json
{
  "name": "Morning pacing check",
  "target_type": "assistant",
  "target_id": "assistant_abc",
  "message": "Review yesterday's spend across all connected accounts and post a card for anything that needs a decision.",
  "frequency": "weekdays",
  "hour": 7
}

Response:

json
{
  "schedule_id": "sched_abc123",
  "cron_expression": "0 7 * * 1-5",
  "human_readable": "Every weekday at 7:00 AM (America/Los_Angeles)",
  "status": "active"
}