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