Files
2026-07-13 12:58:18 +08:00

400 lines
12 KiB
YAML

name: CrewAI (Crews)
slug: crewai-crews
category: popular
language: python
logo: /logos/crewai-crews.svg
description: CopilotKit integration with CrewAI (Crews)
partner_docs: null
repo: https://github.com/CopilotKit/CopilotKit/tree/main/showcase/integrations/crewai-crews
copilotkit_version: 2.0.0
deployed: true
docs_mode: authored
sort_order: 40
generative_ui:
- constrained-explicit
- a2ui-fixed-schema
- a2ui-dynamic-schema
interaction_modalities:
- sidebar
- embedded
- chat
managed_platform:
name: CrewAI Enterprise
url: https://crewai.com/amp
not_supported_features:
- shared-state-streaming
- gen-ui-interrupt
- interrupt-headless
- mcp-apps
- reasoning-default-render
- agentic-chat-reasoning
- tool-rendering-reasoning-chain
features:
- cli-start
- agentic-chat
- chat-slots
- chat-customization-css
- prebuilt-sidebar
- prebuilt-popup
- headless-simple
- headless-complete
- hitl
- hitl-in-chat
- hitl-in-chat-booking
- hitl-in-app
- tool-rendering
- tool-rendering-default-catchall
- tool-rendering-custom-catchall
- gen-ui-agent
- gen-ui-tool-based
- frontend-tools
- frontend-tools-async
- shared-state-read-write
- subagents
- readonly-state-agent-context
- open-gen-ui
- open-gen-ui-advanced
- agent-config
- auth
- voice
- multimodal
- declarative-gen-ui
- a2ui-fixed-schema
- byoc-hashbrown
- byoc-json-render
- beautiful-chat
- shared-state-read
a2ui_pattern: schema-loading
agent_config_pattern: shared-state
auth_pattern: runtime-onrequest
demos:
- id: cli-start
name: CLI Start Command
description: Copy-paste command to clone the canonical starter
tags:
- chat-ui
command: "npx copilotkit@latest init --framework crewai-crews"
- id: agentic-chat
name: Agentic Chat
description: Natural conversation with frontend tool execution
tags:
- chat-ui
route: /demos/agentic-chat
animated_preview_url:
- id: prebuilt-sidebar
name: "Pre-Built: Sidebar"
description: Docked sidebar chat via <CopilotSidebar />
tags:
- chat-ui
route: /demos/prebuilt-sidebar
animated_preview_url:
- id: prebuilt-popup
name: "Pre-Built: Popup"
description: Floating popup chat via <CopilotPopup />
tags:
- chat-ui
route: /demos/prebuilt-popup
animated_preview_url:
- id: chat-slots
name: Chat Customization (Slots)
description: Customize CopilotChat via its slot system
tags:
- chat-ui
route: /demos/chat-slots
animated_preview_url:
- id: chat-customization-css
name: Chat Customization (CSS)
description: Default CopilotChat re-themed via CopilotKitCSSProperties
tags:
- chat-ui
route: /demos/chat-customization-css
animated_preview_url:
- id: headless-simple
name: Headless Chat (Simple)
description: Minimal custom chat surface built on useAgent
tags:
- chat-ui
route: /demos/headless-simple
animated_preview_url:
- id: headless-complete
name: Headless Chat (Complete)
description: Full chat implementation built from scratch on useAgent
tags:
- chat-ui
route: /demos/headless-complete
animated_preview_url:
- id: hitl-in-chat
name: In-Chat Human in the Loop
description: User approves agent actions before execution
tags:
- interactivity
route: /demos/hitl-in-chat
animated_preview_url:
- id: hitl-in-chat-booking
name: In-Chat HITL (Booking)
description: Time-picker card rendered inline via useHumanInTheLoop for a booking flow
tags:
- interactivity
route: /demos/hitl-in-chat
animated_preview_url:
highlight:
- src/app/demos/hitl-in-chat/page.tsx
- src/app/demos/hitl-in-chat/time-picker-card.tsx
- src/app/api/copilotkit/route.ts
- id: hitl-in-app
name: In-App Human in the Loop
description:
Agent requests approval via useFrontendTool; the approval UI pops
up as an app-level modal OUTSIDE the chat
tags:
- interactivity
route: /demos/hitl-in-app
animated_preview_url:
- id: hitl
name: In-Chat Human in the Loop (original)
description: Original CrewAI HITL demo — kept for backwards-compat
tags:
- interactivity
route: /demos/hitl
animated_preview_url:
- id: tool-rendering
name: Tool Rendering
description: Custom per-tool renderers plus a wildcard catch-all for every other tool
tags:
- agent-capabilities
route: /demos/tool-rendering
animated_preview_url:
highlight:
- src/agents/tools/custom_tool.py
- tools/get_weather.py
- tools/query_data.py
- tools/schedule_meeting.py
- tools/search_flights.py
- src/app/demos/tool-rendering/page.tsx
- src/app/api/copilotkit/route.ts
- id: tool-rendering-default-catchall
name: Tool Rendering (Default Catch-all)
description: Out-of-the-box tool rendering — backend defines the tools; the
frontend adds zero custom renderers and relies on CopilotKit's built-in
default UI
tags:
- generative-ui
route: /demos/tool-rendering-default-catchall
animated_preview_url:
highlight:
- src/app/demos/tool-rendering-default-catchall/page.tsx
- src/app/api/copilotkit/route.ts
- id: tool-rendering-custom-catchall
name: Tool Rendering (Custom Catch-all)
description: Single branded wildcard renderer via useDefaultRenderTool — the
same app-designed card paints every tool call
tags:
- generative-ui
route: /demos/tool-rendering-custom-catchall
animated_preview_url:
highlight:
- src/app/demos/tool-rendering-custom-catchall/page.tsx
- src/app/demos/tool-rendering-custom-catchall/custom-catchall-renderer.tsx
- src/app/api/copilotkit/route.ts
- id: tool-rendering-reasoning-chain
name: Tool Rendering + Reasoning Chain
description: Sequential tool calls with reasoning tokens side-by-side
tags:
- generative-ui
route: /demos/tool-rendering-reasoning-chain
animated_preview_url:
- id: gen-ui-agent
name: Agentic Generative UI
description: Long-running agent tasks with generated UI
tags:
- generative-ui
route: /demos/gen-ui-agent
animated_preview_url:
- id: gen-ui-tool-based
name: Tool-Based Generative UI
description: Agent uses tools to trigger UI generation
tags:
- generative-ui
route: /demos/gen-ui-tool-based
animated_preview_url:
highlight:
- src/app/demos/gen-ui-tool-based/page.tsx
- src/app/api/copilotkit/route.ts
- id: frontend-tools
name: Frontend Tools (In-App Actions)
description: Agent invokes client-side handlers registered with useFrontendTool
tags:
- interactivity
route: /demos/frontend-tools
animated_preview_url:
- id: frontend-tools-async
name: Frontend Tools (Async)
description: useFrontendTool with an async handler
tags:
- interactivity
route: /demos/frontend-tools-async
animated_preview_url:
- id: shared-state-streaming
name: State Streaming
description: Per-token state delta streaming from agent to UI
tags:
- agent-state
route: /demos/shared-state-streaming
animated_preview_url:
- id: shared-state-read-write
name: Shared State (Read + Write)
description: Bidirectional shared state - UI writes preferences, agent writes notes
tags:
- agent-state
route: /demos/shared-state-read-write
animated_preview_url:
highlight:
- src/agents/shared_state_read_write.py
- src/app/demos/shared-state-read-write/page.tsx
- src/app/demos/shared-state-read-write/notes-card.tsx
- src/app/demos/shared-state-read-write/preferences-card.tsx
- id: subagents
name: Sub-Agents
description: Supervisor delegates to research / writing / critique CrewAI
sub-crews with a live delegation log
tags:
- multi-agent
route: /demos/subagents
animated_preview_url:
highlight:
- src/agents/subagents.py
- src/app/demos/subagents/page.tsx
- src/app/demos/subagents/delegation-log.tsx
- id: readonly-state-agent-context
name: Readonly State (Agent Context)
description: Frontend provides read-only context to the agent via useAgentContext
tags:
- agent-state
route: /demos/readonly-state-agent-context
animated_preview_url:
- id: open-gen-ui
name: Fully Open-Ended Generative UI
description: Agent generates UI from an arbitrary component library
tags:
- generative-ui
route: /demos/open-gen-ui
animated_preview_url:
highlight:
- src/app/demos/open-gen-ui/page.tsx
- src/app/api/copilotkit-ogui/route.ts
- id: open-gen-ui-advanced
name: "Open-Ended Gen UI (Advanced)"
description:
Agent-authored UI that invokes host sandbox functions from inside
the iframe
tags:
- generative-ui
route: /demos/open-gen-ui-advanced
animated_preview_url:
highlight:
- src/app/demos/open-gen-ui-advanced/page.tsx
- src/app/demos/open-gen-ui-advanced/sandbox-functions.ts
- src/app/api/copilotkit-ogui/route.ts
- id: agent-config
name: Agent Config Object
description:
Forward a typed config object (tone / expertise / response length)
from the provider to the agent
tags:
- platform
route: /demos/agent-config
animated_preview_url:
- id: auth
name: Authentication
description: Runtime-level bearer-token auth via the V2 onRequest hook
tags:
- platform
route: /demos/auth
animated_preview_url:
- id: voice
name: Voice Input
description: Speech-to-text transcription via @copilotkit/voice mounted on a
per-demo runtime
tags:
- chat-ui
route: /demos/voice
animated_preview_url:
highlight:
- src/app/demos/voice/page.tsx
- src/app/demos/voice/sample-audio-button.tsx
- src/app/api/copilotkit-voice/[[...slug]]/route.ts
- id: multimodal
name: Multimodal Attachments
description: Image and PDF uploads routed through the AG-UI attachment pipeline
tags:
- chat-ui
route: /demos/multimodal
animated_preview_url:
- id: declarative-gen-ui
name: Declarative Generative UI (A2UI - Dynamic Schema)
description: Branded A2UI components generated by a secondary LLM against a
custom catalog
tags:
- generative-ui
route: /demos/declarative-gen-ui
animated_preview_url:
- id: a2ui-fixed-schema
name: A2UI Fixed-Schema
description:
Pre-authored component tree; the agent streams only data into the
data model
tags:
- generative-ui
route: /demos/a2ui-fixed-schema
animated_preview_url:
highlight:
- src/agents/a2ui_fixed.py
- src/app/demos/a2ui-fixed-schema/page.tsx
- src/app/demos/a2ui-fixed-schema/a2ui/catalog.ts
- src/app/demos/a2ui-fixed-schema/a2ui/definitions.ts
- src/app/demos/a2ui-fixed-schema/a2ui/renderers.tsx
- id: beautiful-chat
name: Beautiful Chat
description: Flagship showcase - polished brand-styled chat with A2UI, Open
Generative UI, and shared-state todos
tags:
- chat-ui
route: /demos/beautiful-chat
- id: mcp-apps
name: MCP Apps
description: MCP server-driven UI via activity renderers
tags:
- generative-ui
route: /demos/mcp-apps
animated_preview_url:
highlight:
- src/agents/mcp_apps_agent.py
- src/app/demos/mcp-apps/page.tsx
- src/app/api/copilotkit-mcp-apps/route.ts
- id: gen-ui-interrupt
name: Gen UI Interrupt (Strategy B)
description: Interrupt-style scheduling via useFrontendTool with an async
Promise — time-picker card rendered inline in chat
tags:
- interactivity
route: /demos/gen-ui-interrupt
animated_preview_url:
highlight:
- src/agents/interrupt_crew.py
- src/app/demos/gen-ui-interrupt/page.tsx
- src/app/demos/gen-ui-interrupt/_components/time-picker-card.tsx
- src/app/api/copilotkit/route.ts
- id: interrupt-headless
name: Headless Interrupt (Strategy B)
description:
Headless interrupt via useFrontendTool — time-picker popup appears
in the app surface outside the chat
tags:
- interactivity
route: /demos/interrupt-headless
animated_preview_url:
highlight:
- src/agents/interrupt_crew.py
- src/app/demos/interrupt-headless/page.tsx
- src/app/api/copilotkit/route.ts