Implementation:CrewAIInc CrewAI Crew Kickoff
| Knowledge Sources | |
|---|---|
| Domains | Orchestration, Multi_Agent_Systems |
| Last Updated | 2026-02-11 00:00 GMT |
Overview
Concrete method for triggering crew workflow execution with input interpolation and process routing provided by the CrewAI framework.
Description
The Crew.kickoff() method is the primary entry point for executing a crew's workflow. It interpolates input variables into task descriptions, selects the execution process (sequential or hierarchical), runs the task pipeline, executes after-kickoff callbacks, and returns a CrewOutput (or CrewStreamingOutput if streaming is enabled). It also manages telemetry spans via OpenTelemetry and handles error events.
Usage
Call crew.kickoff() after assembling a Crew. Pass an optional inputs dictionary whose keys correspond to {variable} placeholders in task descriptions and expected outputs.
Code Reference
Source Location
- Repository: crewAI
- File: lib/crewai/src/crewai/crew.py
- Lines: L696-776
Signature
def kickoff(
self,
inputs: dict[str, Any] | None = None,
input_files: dict[str, FileInput] | None = None,
) -> CrewOutput | CrewStreamingOutput:
"""Execute the crew's workflow.
Args:
inputs: Optional input dictionary for task interpolation.
input_files: Optional dict of named file inputs for the crew.
Returns:
CrewOutput or CrewStreamingOutput if streaming is enabled.
"""
Import
from crewai import Crew
# kickoff is a method on Crew instances
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| inputs | None | No | Input dict for {variable} interpolation in task descriptions |
| input_files | None | No | Named file inputs for multimodal processing |
Outputs
| Name | Type | Description |
|---|---|---|
| result | CrewOutput | Contains raw text, pydantic model, json_dict, tasks_output, token_usage |
| result (streaming) | CrewStreamingOutput | Streaming iterator with real-time chunks |
Usage Examples
Basic Execution
result = crew.kickoff(inputs={"topic": "AI in Healthcare"})
print(result.raw) # Raw text output
print(result.token_usage) # Token consumption metrics
With Structured Output
result = crew.kickoff(inputs={"topic": "AI Agents"})
# If final task has output_pydantic set:
report = result.pydantic # Typed Pydantic model instance
print(report.title)
print(report.findings)