Task Lifecycle

Understand how tasks flow through CreateWorker from creation to completion.

Overview

A task represents a unit of work that a worker processes. Tasks move through several states during their lifecycle, with human oversight at key decision points.

Task States

CREATED

Task has been created but not yet assigned to a worker or queued for processing.

QUEUED

Task is waiting in the processing queue for an available worker slot.

PROCESSING

Worker is actively analyzing the task and generating a proposal.

PENDING_APPROVAL

Proposal has been generated and is waiting for human review.

APPROVED

Proposal was approved and the action has been executed.

REJECTED

Proposal was rejected by a human reviewer.

FAILED

An error occurred during processing or execution.

Flow Diagram

CREATED → QUEUED → PROCESSING → PENDING_APPROVAL

APPROVED ← Human Decision → REJECTED

EXECUTED

* Auto-execute workers skip the PENDING_APPROVAL state and proceed directly to execution.

External workers (bring your own agent)

A worker can be marked as an External Worker, so its tasks are executed by your own AI agent (e.g. Claude Code) instead of CreateWorker's models. Those tasks follow a separate flow:

ASSIGNED → IN_PROGRESS → IN_REVIEW → COMPLETED

held for runner · claimed · deliverable submitted · you approve

The task is held as ASSIGNED; your runner polls, claims it (→ IN_PROGRESS), posts progress (or BLOCKED), and submits a deliverable (→ IN_REVIEW). You approve it (→ COMPLETED) or reject it (re-queued to ASSIGNED). See External Workers for the full guide.

Task Sources

Tasks can be created from multiple sources:

  • Manual creation: Users create tasks from the dashboard
  • Email integration: Inbound emails automatically create tasks
  • Slack messages: Messages in monitored channels create tasks
  • GitHub events: Issues, PRs, and comments create tasks
  • Webhooks: External systems trigger task creation
  • Delegation: Workers create subtasks for other workers

Task Metadata

Each task includes metadata that helps workers understand context:

  • Subject: Brief summary of the task
  • Body: Detailed task content
  • Source: Where the task originated (email, Slack, manual, etc.)
  • External ID: Reference to the source system
  • Priority: Task priority level
  • Attachments: Associated files or documents

Task Updates

Tasks can receive updates after creation. For example, follow-up emails in a thread or additional comments on a GitHub issue are added to the existing task rather than creating new ones.

Related