Tasks

The Tasks module lets agents and humans create, list, and complete operational follow-ups.

What it does

Tasks make agent-created next steps visible and accountable. Agents can create follow-ups, list open work, and complete tasks after a business action is done.

Task statuses:

  • open
  • completed
  • canceled

Resource model

The tasks resource is tenant-owned and follows the shared app-plane fields:

FieldPurpose
idTask identifier.
tenant_idWorkspace isolation boundary.
titleShort action label.
descriptionOptional details or context.
statusopen, completed, or canceled.
due_atOptional due date/time.
assignee_idOptional user or actor assignment.
related_resource_typeOptional linked resource type: contact, company, deal, or support_ticket.
related_resource_idOptional linked resource ID.
sourceapi, mcp, or admin.
last_agent_actor_idAgent actor that last touched the task.

Permissions

Use tasks:write to create or complete tasks and tasks:read to list tasks.

Recommended agent scopes for follow-up workflows:

crm:read
tasks:read
tasks:write
activity:write

Example workflow

Prompt:

Create a follow-up task for Jane Doe next Friday and log that it came from a pricing email.

Expected operations:

  1. search_contacts
  2. create_task
  3. log_activity

Audit behavior

Task writes create audit events for create, complete, and status changes. A task completion should preserve:

  • actor and source
  • previous status
  • new status
  • linked resource
  • request ID
  • error status if completion failed

Task audit history is what lets a human see whether an agent merely suggested a task or actually changed workspace state.

MCP tools

create_task

Create a task for a user, agent, contact, company, or deal.

MVP
Idempotent writesNo dry runStrict schema
Required scopes
tasks:write
API equivalent
POST /v1/tasks

Example prompt

Create a follow-up task for Jane Doe next Friday.

Input schema

PropertyTypeRequiredDescription
titlestringYesShort task title written for a human operator.
descriptionstringNoOptional task details or completion criteria.
due_atstring · date-timeNoOptional ISO 8601 due date and time.
assignee_idstringNoUser or agent ID responsible for the task.
related_resource_typestring · contact | company | deal | support_ticketNoResource type the task should be attached to.
related_resource_idstringNoResource ID matching related_resource_type.
idempotency_keystringNoStable client-generated key that makes retries safe for this write.

Additional properties are rejected.

Example input

{
  "title": "Follow up with Jane Doe",
  "related_resource_type": "contact",
  "related_resource_id": "con_123"
}

Example response

{
  "task": {
    "id": "task_123",
    "title": "Follow up with Jane Doe",
    "status": "open"
  },
  "request_id": "req_129"
}

Common errors

The token does not include the scope required for this operation.

The request payload failed schema validation.

The requested resource does not exist in this workspace.

list_tasks

List tasks by status, assignee, due date, or related resource.

MVP
Read operationNo dry runStrict schema
Required scopes
tasks:read
API equivalent
GET /v1/tasks

Example prompt

Show my open tasks.

Input schema

PropertyTypeRequiredDescription
statusstring · open | completed | canceledNoFilter tasks by lifecycle status.
assignee_idstringNoRestrict results to tasks assigned to this user or agent.
limitinteger · min 1 · max 100NoMaximum number of tasks to return.
cursorstringNoOpaque cursor from a previous response's next_cursor.

Additional properties are rejected.

Example input

{
  "status": "open",
  "limit": 25
}

Example response

{
  "tasks": [
    {
      "id": "task_123",
      "title": "Follow up with Jane Doe",
      "status": "open"
    }
  ],
  "request_id": "req_130"
}

Common errors

The token does not include the scope required for this operation.

The request payload failed schema validation.

complete_task

Mark a task complete in the current workspace. Deprecated in favor of update_task.

Deprecated
Idempotent writesNo dry runStrict schema
Use update_task with status completed and an optional completed_note. Use update_task for new integrations.
Required scopes
tasks:write
API equivalent
PATCH /v1/tasks/{task_id}

Example prompt

Complete task_123 and note that Jane replied.

Input schema

PropertyTypeRequiredDescription
task_idstringYesTask ID to mark complete.
completed_notestringNoOptional note describing the completion outcome.
idempotency_keystringNoStable client-generated key that makes retries safe for this write.

Additional properties are rejected.

Example input

{
  "task_id": "task_123",
  "completed_note": "Jane replied."
}

Example response

{
  "task": {
    "id": "task_123",
    "status": "completed"
  },
  "request_id": "req_131"
}

Common errors

The token does not include the scope required for this operation.

The request payload failed schema validation.

The requested resource does not exist in this workspace.

update_task

Update a task status, including canceling or reopening it.

MVP
Idempotent writesNo dry runStrict schema
Required scopes
tasks:write
API equivalent
PATCH /v1/tasks/{task_id}

Example prompt

Complete task_123 and note that Jane confirmed the next call.

Input schema

PropertyTypeRequiredDescription
task_idstringYesTask ID to update.
statusstring · open | completed | canceledNoTarget task status.
completed_notestringNoOptional completion note.
idempotency_keystringNoStable client-generated key that makes retries safe for this write.

Additional properties are rejected.

Example input

{
  "task_id": "task_123",
  "status": "completed",
  "completed_note": "Jane confirmed the next call."
}

Example response

{
  "task": {
    "id": "task_123",
    "status": "completed",
    "completed_note": "Jane confirmed the next call."
  },
  "request_id": "req_131"
}

Common errors

The token does not include the scope required for this operation.

The request payload failed schema validation.

The requested resource does not exist in this workspace.

Was this page helpful?