ArtieHelp center
Developers · 4 min read

Delegate, schedule and control tasks

Create one-off and recurring tasks, revise briefs and control future work.

Give an Artisan a clear outcome, then track or revise the same task. One-off schedules and recurring responsibilities share the normal task lifecycle.

On this page

Select files and context deliberately

An input reference can be a staged upload, a permitted stored file, or a selected source returned by search. Example refs.json:

[{"kind":"artie-file","fileId":"FILE_UUID","revision":"RETURNED_REVISION"}]
artie task create --artisan ARTISAN_UUID --instructions-file brief.txt --input-refs-file refs.json --acceptance-file criteria.json --key selected-input-task-001 --json

Upload acceptance is staging only; parsing may be not_started, and the response includes expiry. Use the returned upload reference and retain the original bytes/key. Do not infer a file/upload association by matching names or content.

When the serving schema supports includeResolvedFiles / task show --resolved-files, it exposes selected file IDs, revisions and digests for the current task instructions. This does not identify historical-run inputs. Check your environment’s schema before using an optional field.

Answer and refine

artie task input TASK_UUID --kind answer --file answer.txt --run RUN_UUID --expected-revision CURRENT_REVISION --key answer-001 --json
artie task refine TASK_UUID --file complete-brief.txt --expected-revision CURRENT_REVISION --key refine-001 --json
artie task refine TASK_UUID --file extra-note.txt --append --key append-001 --json

Answer supplies the requested information to the same occurrence. Refine replaces the complete brief. Append reads the full existing brief and revision before submitting the combined text. On refinement, omitted inputRefs preserves the selected set, a supplied array replaces it, and an explicit empty array removes all selected inputs. None of these approves a waiting human decision.

Monthly responsibility example

Create responsibility.json containing {"ongoing":true} and describe the actual outcome in brief.txt:

artie task create --artisan ARTISAN_UUID --instructions-file brief.txt --responsibility-file responsibility.json --schedule 'on the 1st of every month at 9am' --time-zone America/Los_Angeles --key monthly-summary-001 --json

Equivalent MCP arguments:

{
  "artisanId": "ARTISAN_UUID",
  "instructions": "Prepare my monthly project summary from the sources selected for this task.",
  "responsibility": {"ongoing": true},
  "schedulePhrase": "on the 1st of every month at 9am",
  "timeZone": "America/Los_Angeles",
  "inputRefs": [],
  "idempotencyKey": "monthly-summary-001"
}

A calendar month is different from a fixed number of days. The owning scheduler skips a requested day that is absent in a short month rather than moving it to another date. Use an explicit IANA timezone and inspect the proposed schedule and next occurrence rather than guessing UTC offsets or daylight-saving behavior.

A schedule proposal is not armed work. Confirm it through the normal person decision flow. Delegated MCP/REST/CLI automation cannot substitute for that confirmation. After confirmation, read the canonical schedule/nextRunAt. At the due time inspect the occurrence run and result, then distinguish execution success from your acceptance.

Schedules may have a bounded end using scheduleEnd, for example {"kind":"runs","runs":3}. This field and responsibility details should be checked against the served schema before use. A responsibility describes owned continuing work; a cadence determines occurrences. Neither is inferred merely from a UI label.

Controls

artie task pause TASK_UUID --expected-revision CURRENT_REVISION --key pause-001 --json
artie task resume TASK_UUID --expected-revision CURRENT_REVISION --key resume-001 --json
artie task cancel TASK_UUID --expected-revision CURRENT_REVISION --key cancel-001 --json
artie task schedule-propose TASK_UUID --schedule 'on the 1st of every month at 9am' --time-zone America/Los_Angeles --key schedule-change-001 --json
artie task schedule-cancel TASK_UUID --key decline-proposal-001 --json
artie task set-ongoing TASK_UUID --ongoing false --key ongoing-change-001 --json

cancel stops the work and cadence. schedule-cancel declines a pending schedule proposal; it does not cancel an already confirmed recurrence. schedule-end changes the recurrence end, with --schedule-end-file supplying the typed end or omission clearing it. Retry/reopen are explicit new control actions: use them only when the existing outcome and any external effects have been reconciled.

A stop/cancel receipt does not undo an email already sent, nor prove a currently running external process has stopped. Check the canonical operation, run and effect evidence. A watch timeout or Ctrl-C ends observation, not accepted Artie work.

Need help with your workspace?

Contact support