Schedules

Creates a Loop that fires a launch run on a cron (cron) or on each event its trigger admits (trigger); provide exactly one. The launch config is either copied from an existing launch run (fromLaunchRunId) or given inline (skill, repo, …); provide exactly one. An event-driven Loop takes an inline launch spec only.

post/experimental/schedules

Request

  • Base URL: https://api.tessl.io
  • URL: https://api.tessl.io/experimental/schedules
  • Auth: none declared

Headers

Authorizationstring

Request body

workspaceNamestring required
cronstring

Cron expression the schedule fires on, interpreted in timezone. Rejected if unparseable or if its tightest interval is under the minimum allowed. Provide exactly one of cron, trigger and triggers.

timezonestring

IANA timezone the cron is interpreted in (e.g. America/New_York). Defaults to UTC.

fromLaunchRunIdstring uuid

Id of an existing launch run whose stored config this schedule copies. Mutually exclusive with the inline launch spec; provide exactly one. The caller must be able to view the launch run's workspace.

labelstring
descriptionstring
metadataobject
timeoutMsinteger nullable
projectIdstring uuid required

Project to attach the Loop to. Must be an active, editable project in the target org.

repostring
sandboxSnapshotstring

Operational override selecting the sandbox runtime image the launch run is created from. When omitted the run falls back to the configured default.

workdirstring
agentstring
modelstring
inputsobject

Skill-specific inputs forwarded to the launched skill, keyed by the skill's own placeholder names (e.g. ISSUE_IDENTIFIER, ISSUE_TITLE, ISSUE_DESCRIPTION).

instructionsstring

Free-text instructions appended to the skill prompt the launch agent runs, mirroring the local --instructions flag. Distinct from the structured inputs channel.

skillstring

The plugin to install and the skill to run. A value starting file:, ./ or ../ is a local plugin path relative to the directory of the project's tessl.json, resolved when each run starts: for a project at apps/cli, file:plugins/factory names apps/cli/plugins/factory. An absolute path (/, ~/) or one that leaves the repository is refused. Any other value is a registry ref, either a full workspace/plugin[@version] or a bare plugin[@version] name resolved across the workspaces the caller can see. Either form may carry a trailing #skill selector that installs the whole plugin and launches the one named skill; it is required when the plugin exposes more than one skill.

baseBranchstring

Branch each run clones and targets its pull request against. When omitted, each fire resolves the linked project's Loop default branch or the repository default.

environmentIdstring uuid

Id of a workspace environment whose sealed .env payload is opened server-side at each run. Must belong to the schedule workspace. Resolved live when each run fires, so environment edits take effect on subsequent runs and a deleted environment fails the launch.

Response

Default Response

Changes

    • breaking

      the request property became required

    • info

      added the new optional request property

    • info

      request property list-of-types was widened by adding types null to media type application/json

    • info

      added the new optional request property /

    • info

      added the new optional request property