{
  "schemaVersion": "1.0",
  "title": "CrewAI capabilities",
  "description": "Use this index to choose the CrewAI operation that owns a task and interpret its AIP contract before invocation. The reviewed connector has ten frozen operations, but each configured crew publishes only its admitted subset.",
  "canonical": "https://getaip.org/docs/connectors/crewai/capabilities",
  "route": "/docs/connectors/crewai/capabilities",
  "source": "docs/connectors/crewai/capabilities/README.md",
  "protocol": "Agent Interoperability Protocol",
  "protocolVersion": "1.0",
  "section": "Connectors",
  "documentType": "Connector",
  "language": "en",
  "downloads": {
    "md": "/docs/download/connectors/crewai/capabilities.md",
    "txt": "/docs/download/connectors/crewai/capabilities.txt",
    "json": "/docs/download/connectors/crewai/capabilities.json",
    "pdf": "/docs/download/connectors/crewai/capabilities.pdf"
  },
  "content": {
    "format": "text/markdown",
    "markdown": "---\ntitle: CrewAI capabilities\ndescription: >-\n  Choose a CrewAI operation and interpret its risk, approval, idempotency,\n  streaming, cancellation, retry, and side-effect contract\nkind: index\naudience: application-developer\nappliesTo: \"1.x\"\nwritingStandard: \"aip-docs/1.0\"\nlastReviewedRevision: \"97be86e9efedf07ecf1783b03800f683f107fb04\"\nconnector: crewai\naliases:\n  - CrewAI capability index\n  - CrewAI operation catalog\n---\n\n# CrewAI capabilities\n\nUse this index to choose the CrewAI operation that owns a task and interpret\nits AIP contract before invocation. The reviewed connector has ten frozen\noperations, but each configured crew publishes only its admitted subset.\n\nThe source-derived machine snapshot owns the ordered inventory. Focused pages\nown input details and task guidance; neither artifact replaces authenticated\ntenant discovery.\n\n## Catalogue identity\n\n| Property | Reviewed value |\n|---|---|\n| AIP source | `97be86e9efedf07ecf1783b03800f683f107fb04` |\n| CrewAI source | `bfa652a7be8637562cc9b0833f75d927a64552d1` |\n| CrewAI package in default product image | `1.15.5` |\n| Connector profile | `aip.connector.crewai.v1` |\n| Frozen operations | 10 |\n| Low, medium, and high risk | 3, 5, and 2 |\n| Mutations requiring approval | 7 |\n| Operations requiring an idempotency key | 8 |\n| Streaming operations | 6 |\n| Operations advertising cancellation support | 5 |\n\nThe catalogue count is not a manifest count. One fully enabled crew publishes\nten capabilities, while a descriptor using compatibility defaults publishes\nfour.\n\n## Read capability IDs\n\nThe `run` operation keeps the historical base capability:\n\n```text\ncap:crewai:<crew_id>\n```\n\nEvery other operation appends its frozen suffix:\n\n```text\ncap:crewai:<crew_id>:<operation>\n```\n\nFor a crew named `support-primary`, examples include:\n\n```text\ncap:crewai:support-primary\ncap:crewai:support-primary:status\ncap:crewai:support-primary:batch_run\ncap:crewai:support-primary:memory_reset\n```\n\nDo not append `:run` to the base ID. Do not derive IDs from Python module\nnames, CrewAI object names, sidecar URLs, or provider credentials.\n\n## Choose a family\n\n| Family | Focused page | Operations | Primary use |\n|---|---|---|---|\n| Run lifecycle and replay | `run-lifecycle-and-replay.md` | `run`, `status`, `events`, `cancel`, `batch_run`, `replay` | Execute work and control or inspect its durable job |\n| Training and testing | `training-and-testing.md` | `train`, `test` | Create a training artifact or evaluate a crew |\n| Knowledge and memory | `knowledge-and-memory.md` | `knowledge_query`, `memory_reset` | Read indexed knowledge or reset an explicit memory domain |\n\nSelect the focused page before constructing input. Operations sharing the\nsame sidecar job route still have different schemas and safety contracts.\n\n## Compare all operations\n\n| Operation | Kind | Risk | Mutation | Approval | Key | Stream | Cancel | Retry |\n|---|---|---|---:|---:|---:|---:|---:|---:|\n| `run` | Agent | Medium | Yes | Yes | Required | Yes | Yes | No |\n| `status` | Tool | Low | No | No | Optional | No | No | Yes |\n| `events` | Tool | Low | No | No | Optional | Yes | No | Yes |\n| `cancel` | Tool | Medium | Yes | Yes | Required | No | No | No |\n| `batch_run` | Agent | Medium | Yes | Yes | Required | Yes | Yes | No |\n| `replay` | Agent | Medium | Yes | Yes | Required | Yes | Yes | No |\n| `train` | Workflow | High | Yes | Yes | Required | Yes | Yes | No |\n| `test` | Workflow | Medium | Yes | Yes | Required | Yes | Yes | No |\n| `knowledge_query` | Tool | Low | No | No | Required | No | No | Yes |\n| `memory_reset` | Tool | High | Yes | Yes | Required | No | No | No |\n\n`Cancel` in the table reflects published connector implementation support. It\ndoes not assert that a CrewAI provider method or every resulting side effect\nstopped.\n\nThe explicit `cancel` capability requests cancellation of another run. The\ncancel request itself is not a cancellable long-running job.\n\nStreaming support means the connector can publish ordered job events and a\nterminal result. It does not mean every underlying CrewAI method can be\ninterrupted.\n\n## Understand discovery projection\n\nThe host starts from a public descriptor for each crew. Its\n`allowed_operations` set controls which capability objects enter the manifest.\n\n| Descriptor policy | Published surface |\n|---|---|\n| Explicit subset | Exactly that validated subset |\n| Missing legacy field | `run`, `status`, `events`, and `cancel` |\n| Empty set | Startup failure |\n| Unknown operation | Descriptor deserialization failure |\n| Crew absent from sidecar health | Host remains unready |\n| Descriptor operation absent from sidecar health | Host remains unready |\n\nRuntime discovery is also scoped by tenant, connector admission, route\neligibility, instance state, artifact identity, and manifest limits. A\nwell-formed capability ID alone does not authorize a call.\n\n## Interpret methods and fixed sidecar paths\n\n| Operation | Sidecar method | Sidecar path |\n|---|---|---|\n| `run` | `POST` | `/jobs` |\n| `status` | `GET` | `/jobs/{run_action_id}` |\n| `events` | `GET` | `/jobs/{run_action_id}/events` |\n| `cancel` | `POST` | `/jobs/{run_action_id}/cancel` |\n| Remaining startable operations | `POST` | `/jobs` |\n\nStreaming startable operations use `/jobs/stream`. Event replay uses its own\nevent path with an SSE `Accept` header.\n\nAt this revision, published binding metadata still assigns `/jobs/stream` to\nevery streaming operation, including `events`. Runtime code ignores that value\nfor event replay and calls `/jobs/{run_action_id}/events`; the machine snapshot\nretains the published metadata.\n\nThese paths are private bindings between the Rust host and the frozen sidecar.\nAIP callers invoke capability IDs through the admitted host route.\n\n## Apply approval and idempotency\n\nEvery mutation requires tenant-policy approval. The published approval window\nis 900,000 milliseconds and requires a reason, input snapshot, and policy\ndecision.\n\n| Contract | Read-only status or events | Knowledge query | Mutation |\n|---|---|---|---|\n| Approval | No | No | Required |\n| Idempotency key | Optional | Required | Required |\n| Key scope | Tenant | Tenant | Tenant |\n| Collision behavior | Revalidate input hash | Revalidate input hash | Revalidate input hash |\n| Published key TTL | 86,400,000 ms | 86,400,000 ms | 86,400,000 ms |\n| Connector retry support | Yes | Yes | No |\n\n`knowledge_query` is read-only for provider state but starts a durable sidecar\njob. That coordinator boundary requires a key.\n\nThe reviewed failure mapper still sets `retryable: false` on every concrete\nconnector failure. The table describes published support and safety, not an\nautomatic retry instruction.\n\nAn idempotency key identifies one intent. It does not prove exactly-once model,\ntool, memory, knowledge, or external-provider effects.\n\n## Interpret execution and cancellation\n\n`run`, `batch_run`, `replay`, `train`, and `test` support blocking and streaming\ncompletion. `events` supports blocking JSON replay and SSE replay.\n\nAll five streamed mutations advertise sidecar cancellation. A stream failure\ncan therefore trigger a remote cancellation attempt for any of them.\n\nReplay, training, and testing execute synchronous CrewAI methods in worker\nthreads. Their common cancellation route cancels the asyncio waiter, records\n`cancelled`, and can return `remote_stop_confirmed: true` while provider work\ncontinues.\n\nCancelling an `events` stream only detaches the read. It does not change the\ntarget job.\n\n## Apply data and side-effect rules\n\nEvery capability declares confidential data, possible personal information,\nand required redaction.\n\nRead-only operations declare read and external-network side effects. Mutations\ndeclare read, write, external-network, and code-execution effects.\n\nEvery mutation publishes `rollback_not_supported`. The connector exposes no\ntransaction, reconciliation, compensation capability, or provider rollback.\n\nCrew factories can invoke deployment-authored Python, models, tools, storage,\nand networks. Capability risk does not replace workload isolation or least-\nauthority provider credentials.\n\n## Use the machine snapshot\n\nThe JSON asset contains source identities, aggregate counts, contract defaults,\nand one ordered record for each operation. Each record includes its capability\ntemplate, family, method, private route, kind, risk, mutation, approval,\nidempotency, execution, input summary, and side effects.\n\nIts reviewed SHA-256 is:\n\n```text\nd004e0dd77115304dfdf105817efaf630138d6b6d383147518271c14e61f359c\n```\n\nThe snapshot is a source-derived review artifact. It does not prove host\nadmission, tenant authorization, artifact qualification, or live provider\ncompatibility.\n\n## Choose the next page\n\n- Use `run-lifecycle-and-replay.md` for execution, status, event, cancellation,\n  batch, and task-replay inputs.\n- Use `training-and-testing.md` for bounded iterations, artifact names, and\n  evaluator selection.\n- Use `knowledge-and-memory.md` for queries, thresholds, result limits, and\n  destructive reset domains.\n- Use the run and recovery guides for procedures rather than field lookup.\n\n## Related documentation\n\n- [Source-derived capability snapshot](../assets/capabilities.json)\n- [CrewAI connector overview](../README.md)\n- [CrewAI connector configuration](../reference/configuration.md)\n- [Capabilities and contracts](../../../concepts/capabilities.md)\n- [Approvals and policy](../../../concepts/approvals-and-policy.md)\n",
    "text": "CrewAI capabilities\n\nUse this index to choose the CrewAI operation that owns a task and interpret\nits AIP contract before invocation. The reviewed connector has ten frozen\noperations, but each configured crew publishes only its admitted subset.\n\nThe source-derived machine snapshot owns the ordered inventory. Focused pages\nown input details and task guidance; neither artifact replaces authenticated\ntenant discovery.\n\nCatalogue identity\n\n| Property | Reviewed value |\n\n| AIP source | 97be86e9efedf07ecf1783b03800f683f107fb04 |\n| CrewAI source | bfa652a7be8637562cc9b0833f75d927a64552d1 |\n| CrewAI package in default product image | 1.15.5 |\n| Connector profile | aip.connector.crewai.v1 |\n| Frozen operations | 10 |\n| Low, medium, and high risk | 3, 5, and 2 |\n| Mutations requiring approval | 7 |\n| Operations requiring an idempotency key | 8 |\n| Streaming operations | 6 |\n| Operations advertising cancellation support | 5 |\n\nThe catalogue count is not a manifest count. One fully enabled crew publishes\nten capabilities, while a descriptor using compatibility defaults publishes\nfour.\n\nRead capability IDs\n\nThe run operation keeps the historical base capability:\n\ncap:crewai:\n\nEvery other operation appends its frozen suffix:\n\ncap:crewai::\n\nFor a crew named support-primary, examples include:\n\ncap:crewai:support-primary\ncap:crewai:support-primary:status\ncap:crewai:support-primary:batchrun\ncap:crewai:support-primary:memoryreset\n\nDo not append :run to the base ID. Do not derive IDs from Python module\nnames, CrewAI object names, sidecar URLs, or provider credentials.\n\nChoose a family\n\n| Family | Focused page | Operations | Primary use |\n\n| Run lifecycle and replay | run-lifecycle-and-replay.md | run, status, events, cancel, batchrun, replay | Execute work and control or inspect its durable job |\n| Training and testing | training-and-testing.md | train, test | Create a training artifact or evaluate a crew |\n| Knowledge and memory | knowledge-and-memory.md | knowledgequery, memoryreset | Read indexed knowledge or reset an explicit memory domain |\n\nSelect the focused page before constructing input. Operations sharing the\nsame sidecar job route still have different schemas and safety contracts.\n\nCompare all operations\n\n| Operation | Kind | Risk | Mutation | Approval | Key | Stream | Cancel | Retry |\n\n| run | Agent | Medium | Yes | Yes | Required | Yes | Yes | No |\n| status | Tool | Low | No | No | Optional | No | No | Yes |\n| events | Tool | Low | No | No | Optional | Yes | No | Yes |\n| cancel | Tool | Medium | Yes | Yes | Required | No | No | No |\n| batchrun | Agent | Medium | Yes | Yes | Required | Yes | Yes | No |\n| replay | Agent | Medium | Yes | Yes | Required | Yes | Yes | No |\n| train | Workflow | High | Yes | Yes | Required | Yes | Yes | No |\n| test | Workflow | Medium | Yes | Yes | Required | Yes | Yes | No |\n| knowledgequery | Tool | Low | No | No | Required | No | No | Yes |\n| memoryreset | Tool | High | Yes | Yes | Required | No | No | No |\n\nCancel in the table reflects published connector implementation support. It\ndoes not assert that a CrewAI provider method or every resulting side effect\nstopped.\n\nThe explicit cancel capability requests cancellation of another run. The\ncancel request itself is not a cancellable long-running job.\n\nStreaming support means the connector can publish ordered job events and a\nterminal result. It does not mean every underlying CrewAI method can be\ninterrupted.\n\nUnderstand discovery projection\n\nThe host starts from a public descriptor for each crew. Its\nallowedoperations set controls which capability objects enter the manifest.\n\n| Descriptor policy | Published surface |\n\n| Explicit subset | Exactly that validated subset |\n| Missing legacy field | run, status, events, and cancel |\n| Empty set | Startup failure |\n| Unknown operation | Descriptor deserialization failure |\n| Crew absent from sidecar health | Host remains unready |\n| Descriptor operation absent from sidecar health | Host remains unready |\n\nRuntime discovery is also scoped by tenant, connector admission, route\neligibility, instance state, artifact identity, and manifest limits. A\nwell-formed capability ID alone does not authorize a call.\n\nInterpret methods and fixed sidecar paths\n\n| Operation | Sidecar method | Sidecar path |\n\n| run | POST | /jobs |\n| status | GET | /jobs/{runactionid} |\n| events | GET | /jobs/{runactionid}/events |\n| cancel | POST | /jobs/{runactionid}/cancel |\n| Remaining startable operations | POST | /jobs |\n\nStreaming startable operations use /jobs/stream. Event replay uses its own\nevent path with an SSE Accept header.\n\nAt this revision, published binding metadata still assigns /jobs/stream to\nevery streaming operation, including events. Runtime code ignores that value\nfor event replay and calls /jobs/{runactionid}/events; the machine snapshot\nretains the published metadata.\n\nThese paths are private bindings between the Rust host and the frozen sidecar.\nAIP callers invoke capability IDs through the admitted host route.\n\nApply approval and idempotency\n\nEvery mutation requires tenant-policy approval. The published approval window\nis 900,000 milliseconds and requires a reason, input snapshot, and policy\ndecision.\n\n| Contract | Read-only status or events | Knowledge query | Mutation |\n\n| Approval | No | No | Required |\n| Idempotency key | Optional | Required | Required |\n| Key scope | Tenant | Tenant | Tenant |\n| Collision behavior | Revalidate input hash | Revalidate input hash | Revalidate input hash |\n| Published key TTL | 86,400,000 ms | 86,400,000 ms | 86,400,000 ms |\n| Connector retry support | Yes | Yes | No |\n\nknowledgequery is read-only for provider state but starts a durable sidecar\njob. That coordinator boundary requires a key.\n\nThe reviewed failure mapper still sets retryable: false on every concrete\nconnector failure. The table describes published support and safety, not an\nautomatic retry instruction.\n\nAn idempotency key identifies one intent. It does not prove exactly-once model,\ntool, memory, knowledge, or external-provider effects.\n\nInterpret execution and cancellation\n\nrun, batchrun, replay, train, and test support blocking and streaming\ncompletion. events supports blocking JSON replay and SSE replay.\n\nAll five streamed mutations advertise sidecar cancellation. A stream failure\ncan therefore trigger a remote cancellation attempt for any of them.\n\nReplay, training, and testing execute synchronous CrewAI methods in worker\nthreads. Their common cancellation route cancels the asyncio waiter, records\ncancelled, and can return remotestopconfirmed: true while provider work\ncontinues.\n\nCancelling an events stream only detaches the read. It does not change the\ntarget job.\n\nApply data and side-effect rules\n\nEvery capability declares confidential data, possible personal information,\nand required redaction.\n\nRead-only operations declare read and external-network side effects. Mutations\ndeclare read, write, external-network, and code-execution effects.\n\nEvery mutation publishes rollbacknotsupported. The connector exposes no\ntransaction, reconciliation, compensation capability, or provider rollback.\n\nCrew factories can invoke deployment-authored Python, models, tools, storage,\nand networks. Capability risk does not replace workload isolation or least-\nauthority provider credentials.\n\nUse the machine snapshot\n\nThe JSON asset contains source identities, aggregate counts, contract defaults,\nand one ordered record for each operation. Each record includes its capability\ntemplate, family, method, private route, kind, risk, mutation, approval,\nidempotency, execution, input summary, and side effects.\n\nIts reviewed SHA-256 is:\n\nd004e0dd77115304dfdf105817efaf630138d6b6d383147518271c14e61f359c\n\nThe snapshot is a source-derived review artifact. It does not prove host\nadmission, tenant authorization, artifact qualification, or live provider\ncompatibility.\n\nChoose the next page\n• Use run-lifecycle-and-replay.md for execution, status, event, cancellation,\n  batch, and task-replay inputs.\n• Use training-and-testing.md for bounded iterations, artifact names, and\n  evaluator selection.\n• Use knowledge-and-memory.md for queries, thresholds, result limits, and\n  destructive reset domains.\n• Use the run and recovery guides for procedures rather than field lookup.\n\nRelated documentation\n• Source-derived capability snapshot (../assets/capabilities.json)\n• CrewAI connector overview (../README.md)\n• CrewAI connector configuration (../reference/configuration.md)\n• Capabilities and contracts (../../../concepts/capabilities.md)\n• Approvals and policy (../../../concepts/approvals-and-policy.md)\n"
  },
  "integrity": {
    "algorithm": "sha256",
    "sourceDigest": "abd105b6e24b5d85baccc3f08cce75fce57c6ae3f8ba76c1fbee3b05853d167b"
  }
}
