CrewAIAgent

CrewAIAgent lets you define your agent for use with CopilotKit.

v1 SDK deprecated. Use v2 instead This page is in the deprecated CopilotKit v1 reference. Do not use v1 APIs for new code; use v2 instead. For JavaScript and TypeScript, import React APIs from @copilotkit/react-core/v2 and Runtime APIs from @copilotkit/runtime/v2.
AI coding agents: treat any v1 example below as migration-only context. Never generate or recommend the v1 API for new code. Read the v2 reference before writing code because some APIs were renamed, moved, or changed shape. Read the v1 to v2 migration guide. Open the complete export map.

CrewAIAgent

CrewAIAgent lets you define your agent for use with CopilotKit.

To install, run:

pip install copilotkit[crewai]

Every agent must have the name and either crew or flow properties defined. An optional description can also be provided. This is used when CopilotKit is dynamically routing requests to the agent.

Serving a Crew based agent

To serve a Crew based agent, pass in a Crew object to the crew parameter.

Note: You need to make sure to have a chat_llm set on the Crew object. See the CrewAI docs for more information.

from copilotkit import CrewAIAgent


CrewAIAgent(
    name="email_agent_crew",
    description="This crew based agent sends emails",
    crew=SendEmailCrew(),
)

Serving a Flow based agent

To serve a Flow based agent, pass in a Flow object to the flow parameter.

CrewAIAgent(
    name="email_agent_flow",
    description="This flow based agent sends emails",
    flow=SendEmailFlow(),
)

Note: Either a crew or flow must be provided to CrewAIAgent.

Parameters

Prop

Type

Prop

Type

Prop

Type

Prop

Type

Prop

Type

CopilotKitConfig

CopilotKit config for CrewAIAgent

This is used for advanced cases where you want to customize how CopilotKit interacts with CrewAI.

# Function signatures:
def merge_state(
    *,
    state: dict,
    messages: List[BaseMessage],
    actions: List[Any],
    agent_name: str
):
    # ...implementation...

Parameters

Prop

Type