Compare commits

..

4 Commits

970 changed files with 10859 additions and 36344 deletions

View File

@@ -1,46 +0,0 @@
name: Build uv cache
on:
push:
branches:
- main
paths:
- "uv.lock"
- "pyproject.toml"
workflow_dispatch:
permissions:
contents: read
jobs:
build-cache:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "0.8.4"
python-version: ${{ matrix.python-version }}
enable-cache: false
- name: Install dependencies and populate cache
run: |
echo "Building global UV cache for Python ${{ matrix.python-version }}..."
uv sync --all-groups --all-extras --no-install-project
echo "Cache populated successfully"
- name: Save uv caches
uses: actions/cache/save@v4
with:
path: |
~/.cache/uv
~/.local/share/uv
.venv
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}

View File

@@ -1,102 +0,0 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL Advanced"
on:
push:
branches: [ "main" ]
paths-ignore:
- "src/crewai/cli/templates/**"
pull_request:
branches: [ "main" ]
paths-ignore:
- "src/crewai/cli/templates/**"
jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
# only required for workflows in private repositories
actions: read
contents: read
strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: python
build-mode: none
# CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Add any setup steps before running the `github/codeql-action/init` action.
# This includes steps like installing compilers or runtimes (`actions/setup-node`
# or others). This is typically only required for manual builds.
# - name: Setup runtime (example)
# uses: actions/setup-example@v1
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"

View File

@@ -2,9 +2,6 @@ name: Lint
on: [pull_request] on: [pull_request]
permissions:
contents: read
jobs: jobs:
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -18,27 +15,8 @@ jobs:
- name: Fetch Target Branch - name: Fetch Target Branch
run: git fetch origin $TARGET_BRANCH --depth=1 run: git fetch origin $TARGET_BRANCH --depth=1
- name: Restore global uv cache - name: Install Ruff
id: cache-restore run: pip install ruff
uses: actions/cache/restore@v4
with:
path: |
~/.cache/uv
~/.local/share/uv
.venv
key: uv-main-py3.11-${{ hashFiles('uv.lock') }}
restore-keys: |
uv-main-py3.11-
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "0.8.4"
python-version: "3.11"
enable-cache: false
- name: Install dependencies
run: uv sync --all-groups --all-extras --no-install-project
- name: Get Changed Python Files - name: Get Changed Python Files
id: changed-files id: changed-files
@@ -55,14 +33,4 @@ jobs:
echo "${{ steps.changed-files.outputs.files }}" \ echo "${{ steps.changed-files.outputs.files }}" \
| tr ' ' '\n' \ | tr ' ' '\n' \
| grep -v 'src/crewai/cli/templates/' \ | grep -v 'src/crewai/cli/templates/' \
| xargs -I{} uv run ruff check "{}" | xargs -I{} ruff check "{}"
- name: Save uv caches
if: steps.cache-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: |
~/.cache/uv
~/.local/share/uv
.venv
key: uv-main-py3.11-${{ hashFiles('uv.lock') }}

23
.github/workflows/security-checker.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: Security Checker
on: [pull_request]
jobs:
security-check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11.9"
- name: Install dependencies
run: pip install bandit
- name: Run Bandit
run: bandit -c pyproject.toml -r src/ -ll

View File

@@ -3,7 +3,7 @@ name: Run Tests
on: [pull_request] on: [pull_request]
permissions: permissions:
contents: read contents: write
env: env:
OPENAI_API_KEY: fake-api-key OPENAI_API_KEY: fake-api-key
@@ -22,76 +22,29 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history for proper diff
- name: Restore global uv cache
id: cache-restore
uses: actions/cache/restore@v4
with:
path: |
~/.cache/uv
~/.local/share/uv
.venv
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
restore-keys: |
uv-main-py${{ matrix.python-version }}-
- name: Install uv - name: Install uv
uses: astral-sh/setup-uv@v6 uses: astral-sh/setup-uv@v3
with: with:
version: "0.8.4" enable-cache: true
python-version: ${{ matrix.python-version }} cache-dependency-glob: |
enable-cache: false **/pyproject.toml
**/uv.lock
- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}
- name: Install the project - name: Install the project
run: uv sync --all-groups --all-extras run: uv sync --dev --all-extras
- name: Restore test durations
uses: actions/cache/restore@v4
with:
path: .test_durations_py*
key: test-durations-py${{ matrix.python-version }}
- name: Run tests (group ${{ matrix.group }} of 8) - name: Run tests (group ${{ matrix.group }} of 8)
run: | run: |
PYTHON_VERSION_SAFE=$(echo "${{ matrix.python-version }}" | tr '.' '_')
DURATION_FILE=".test_durations_py${PYTHON_VERSION_SAFE}"
# Temporarily always skip cached durations to fix test splitting
# When durations don't match, pytest-split runs duplicate tests instead of splitting
echo "Using even test splitting (duration cache disabled until fix merged)"
DURATIONS_ARG=""
# Original logic (disabled temporarily):
# if [ ! -f "$DURATION_FILE" ]; then
# echo "No cached durations found, tests will be split evenly"
# DURATIONS_ARG=""
# elif git diff origin/${{ github.base_ref }}...HEAD --name-only 2>/dev/null | grep -q "^tests/.*\.py$"; then
# echo "Test files have changed, skipping cached durations to avoid mismatches"
# DURATIONS_ARG=""
# else
# echo "No test changes detected, using cached test durations for optimal splitting"
# DURATIONS_ARG="--durations-path=${DURATION_FILE}"
# fi
uv run pytest \ uv run pytest \
--block-network \ --block-network \
--timeout=30 \ --timeout=30 \
-vv \ -vv \
--splits 8 \ --splits 8 \
--group ${{ matrix.group }} \ --group ${{ matrix.group }} \
$DURATIONS_ARG \
--durations=10 \ --durations=10 \
-n auto \ -n auto \
--maxfail=3 --maxfail=3
- name: Save uv caches
if: steps.cache-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: |
~/.cache/uv
~/.local/share/uv
.venv
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}

View File

@@ -3,99 +3,24 @@ name: Run Type Checks
on: [pull_request] on: [pull_request]
permissions: permissions:
contents: read contents: write
jobs: jobs:
type-checker-matrix: type-checker:
name: type-checker (${{ matrix.python-version }})
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with: with:
fetch-depth: 0 # Fetch all history for proper diff python-version: "3.11.9"
- name: Restore global uv cache - name: Install Requirements
id: cache-restore
uses: actions/cache/restore@v4
with:
path: |
~/.cache/uv
~/.local/share/uv
.venv
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
restore-keys: |
uv-main-py${{ matrix.python-version }}-
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "0.8.4"
python-version: ${{ matrix.python-version }}
enable-cache: false
- name: Install dependencies
run: uv sync --all-groups --all-extras
- name: Get changed Python files
id: changed-files
run: | run: |
# Get the list of changed Python files compared to the base branch pip install mypy
echo "Fetching changed files..."
git diff --name-only --diff-filter=ACMRT origin/${{ github.base_ref }}...HEAD -- '*.py' > changed_files.txt
# Filter for files in src/ directory only (excluding tests/) - name: Run type checks
grep -E "^src/" changed_files.txt > filtered_changed_files.txt || true run: mypy src
# Check if there are any changed files
if [ -s filtered_changed_files.txt ]; then
echo "Changed Python files in src/:"
cat filtered_changed_files.txt
echo "has_changes=true" >> $GITHUB_OUTPUT
# Convert newlines to spaces for mypy command
echo "files=$(cat filtered_changed_files.txt | tr '\n' ' ')" >> $GITHUB_OUTPUT
else
echo "No Python files changed in src/"
echo "has_changes=false" >> $GITHUB_OUTPUT
fi
- name: Run type checks on changed files
if: steps.changed-files.outputs.has_changes == 'true'
run: |
echo "Running mypy on changed files with Python ${{ matrix.python-version }}..."
uv run mypy ${{ steps.changed-files.outputs.files }}
- name: No files to check
if: steps.changed-files.outputs.has_changes == 'false'
run: echo "No Python files in src/ were modified - skipping type checks"
- name: Save uv caches
if: steps.cache-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: |
~/.cache/uv
~/.local/share/uv
.venv
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
# Summary job to provide single status for branch protection
type-checker:
name: type-checker
runs-on: ubuntu-latest
needs: type-checker-matrix
if: always()
steps:
- name: Check matrix results
run: |
if [ "${{ needs.type-checker-matrix.result }}" == "success" ] || [ "${{ needs.type-checker-matrix.result }}" == "skipped" ]; then
echo "✅ All type checks passed"
else
echo "❌ Type checks failed"
exit 1
fi

View File

@@ -1,71 +0,0 @@
name: Update Test Durations
on:
push:
branches:
- main
paths:
- 'tests/**/*.py'
workflow_dispatch:
permissions:
contents: read
jobs:
update-durations:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13']
env:
OPENAI_API_KEY: fake-api-key
PYTHONUNBUFFERED: 1
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Restore global uv cache
id: cache-restore
uses: actions/cache/restore@v4
with:
path: |
~/.cache/uv
~/.local/share/uv
.venv
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
restore-keys: |
uv-main-py${{ matrix.python-version }}-
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "0.8.4"
python-version: ${{ matrix.python-version }}
enable-cache: false
- name: Install the project
run: uv sync --all-groups --all-extras
- name: Run all tests and store durations
run: |
PYTHON_VERSION_SAFE=$(echo "${{ matrix.python-version }}" | tr '.' '_')
uv run pytest --store-durations --durations-path=.test_durations_py${PYTHON_VERSION_SAFE} -n auto
continue-on-error: true
- name: Save durations to cache
if: always()
uses: actions/cache/save@v4
with:
path: .test_durations_py*
key: test-durations-py${{ matrix.python-version }}
- name: Save uv caches
if: steps.cache-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: |
~/.cache/uv
~/.local/share/uv
.venv
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}

View File

@@ -1,19 +1,7 @@
repos: repos:
- repo: local - repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.8.2
hooks: hooks:
- id: ruff - id: ruff
name: ruff args: ["--fix"]
entry: uv run ruff check
language: system
types: [python]
- id: ruff-format - id: ruff-format
name: ruff-format
entry: uv run ruff format
language: system
types: [python]
- id: mypy
name: mypy
entry: uv run mypy
language: system
types: [python]
exclude: ^tests/

4
.ruff.toml Normal file
View File

@@ -0,0 +1,4 @@
exclude = [
"templates",
"__init__.py",
]

View File

@@ -418,10 +418,10 @@ Choose CrewAI to easily build powerful, adaptable, and production-ready AI autom
You can test different real life examples of AI crews in the [CrewAI-examples repo](https://github.com/crewAIInc/crewAI-examples?tab=readme-ov-file): You can test different real life examples of AI crews in the [CrewAI-examples repo](https://github.com/crewAIInc/crewAI-examples?tab=readme-ov-file):
- [Landing Page Generator](https://github.com/crewAIInc/crewAI-examples/tree/main/crews/landing_page_generator) - [Landing Page Generator](https://github.com/crewAIInc/crewAI-examples/tree/main/landing_page_generator)
- [Having Human input on the execution](https://docs.crewai.com/how-to/Human-Input-on-Execution) - [Having Human input on the execution](https://docs.crewai.com/how-to/Human-Input-on-Execution)
- [Trip Planner](https://github.com/crewAIInc/crewAI-examples/tree/main/crews/trip_planner) - [Trip Planner](https://github.com/crewAIInc/crewAI-examples/tree/main/trip_planner)
- [Stock Analysis](https://github.com/crewAIInc/crewAI-examples/tree/main/crews/stock_analysis) - [Stock Analysis](https://github.com/crewAIInc/crewAI-examples/tree/main/stock_analysis)
### Quick Tutorial ### Quick Tutorial
@@ -429,19 +429,19 @@ You can test different real life examples of AI crews in the [CrewAI-examples re
### Write Job Descriptions ### Write Job Descriptions
[Check out code for this example](https://github.com/crewAIInc/crewAI-examples/tree/main/crews/job-posting) or watch a video below: [Check out code for this example](https://github.com/crewAIInc/crewAI-examples/tree/main/job-posting) or watch a video below:
[![Jobs postings](https://img.youtube.com/vi/u98wEMz-9to/maxresdefault.jpg)](https://www.youtube.com/watch?v=u98wEMz-9to "Jobs postings") [![Jobs postings](https://img.youtube.com/vi/u98wEMz-9to/maxresdefault.jpg)](https://www.youtube.com/watch?v=u98wEMz-9to "Jobs postings")
### Trip Planner ### Trip Planner
[Check out code for this example](https://github.com/crewAIInc/crewAI-examples/tree/main/crews/trip_planner) or watch a video below: [Check out code for this example](https://github.com/crewAIInc/crewAI-examples/tree/main/trip_planner) or watch a video below:
[![Trip Planner](https://img.youtube.com/vi/xis7rWp-hjs/maxresdefault.jpg)](https://www.youtube.com/watch?v=xis7rWp-hjs "Trip Planner") [![Trip Planner](https://img.youtube.com/vi/xis7rWp-hjs/maxresdefault.jpg)](https://www.youtube.com/watch?v=xis7rWp-hjs "Trip Planner")
### Stock Analysis ### Stock Analysis
[Check out code for this example](https://github.com/crewAIInc/crewAI-examples/tree/main/crews/stock_analysis) or watch a video below: [Check out code for this example](https://github.com/crewAIInc/crewAI-examples/tree/main/stock_analysis) or watch a video below:
[![Stock Analysis](https://img.youtube.com/vi/e0Uj4yWdaAg/maxresdefault.jpg)](https://www.youtube.com/watch?v=e0Uj4yWdaAg "Stock Analysis") [![Stock Analysis](https://img.youtube.com/vi/e0Uj4yWdaAg/maxresdefault.jpg)](https://www.youtube.com/watch?v=e0Uj4yWdaAg "Stock Analysis")

View File

@@ -1,6 +1,6 @@
{ {
"$schema": "https://mintlify.com/docs.json", "$schema": "https://mintlify.com/docs.json",
"theme": "aspen", "theme": "mint",
"name": "CrewAI", "name": "CrewAI",
"colors": { "colors": {
"primary": "#EB6658", "primary": "#EB6658",
@@ -28,21 +28,20 @@
"icon": "discourse" "icon": "discourse"
}, },
{ {
"anchor": "Blog", "anchor": "Crew GPT",
"href": "https://blog.crewai.com",
"icon": "newspaper"
},
{
"anchor": "CrewGPT",
"href": "https://chatgpt.com/g/g-qqTuUWsBY-crewai-assistant", "href": "https://chatgpt.com/g/g-qqTuUWsBY-crewai-assistant",
"icon": "robot" "icon": "robot"
},
{
"anchor": "Releases",
"href": "https://github.com/crewAIInc/crewAI/releases",
"icon": "tag"
} }
] ]
}, },
"tabs": [ "tabs": [
{ {
"tab": "Documentation", "tab": "Documentation",
"icon": "book-open",
"groups": [ "groups": [
{ {
"group": "Get Started", "group": "Get Started",
@@ -53,22 +52,18 @@
"pages": [ "pages": [
{ {
"group": "Strategy", "group": "Strategy",
"icon": "compass",
"pages": ["en/guides/concepts/evaluating-use-cases"] "pages": ["en/guides/concepts/evaluating-use-cases"]
}, },
{ {
"group": "Agents", "group": "Agents",
"icon": "user",
"pages": ["en/guides/agents/crafting-effective-agents"] "pages": ["en/guides/agents/crafting-effective-agents"]
}, },
{ {
"group": "Crews", "group": "Crews",
"icon": "users",
"pages": ["en/guides/crews/first-crew"] "pages": ["en/guides/crews/first-crew"]
}, },
{ {
"group": "Flows", "group": "Flows",
"icon": "code-branch",
"pages": [ "pages": [
"en/guides/flows/first-flow", "en/guides/flows/first-flow",
"en/guides/flows/mastering-flow-state" "en/guides/flows/mastering-flow-state"
@@ -76,7 +71,6 @@
}, },
{ {
"group": "Advanced", "group": "Advanced",
"icon": "gear",
"pages": [ "pages": [
"en/guides/advanced/customizing-prompts", "en/guides/advanced/customizing-prompts",
"en/guides/advanced/fingerprinting" "en/guides/advanced/fingerprinting"
@@ -122,7 +116,6 @@
"en/tools/overview", "en/tools/overview",
{ {
"group": "File & Document", "group": "File & Document",
"icon": "folder-open",
"pages": [ "pages": [
"en/tools/file-document/overview", "en/tools/file-document/overview",
"en/tools/file-document/filereadtool", "en/tools/file-document/filereadtool",
@@ -142,7 +135,6 @@
}, },
{ {
"group": "Web Scraping & Browsing", "group": "Web Scraping & Browsing",
"icon": "globe",
"pages": [ "pages": [
"en/tools/web-scraping/overview", "en/tools/web-scraping/overview",
"en/tools/web-scraping/scrapewebsitetool", "en/tools/web-scraping/scrapewebsitetool",
@@ -162,7 +154,6 @@
}, },
{ {
"group": "Search & Research", "group": "Search & Research",
"icon": "magnifying-glass",
"pages": [ "pages": [
"en/tools/search-research/overview", "en/tools/search-research/overview",
"en/tools/search-research/serperdevtool", "en/tools/search-research/serperdevtool",
@@ -184,7 +175,6 @@
}, },
{ {
"group": "Database & Data", "group": "Database & Data",
"icon": "database",
"pages": [ "pages": [
"en/tools/database-data/overview", "en/tools/database-data/overview",
"en/tools/database-data/mysqltool", "en/tools/database-data/mysqltool",
@@ -199,7 +189,6 @@
}, },
{ {
"group": "AI & Machine Learning", "group": "AI & Machine Learning",
"icon": "brain",
"pages": [ "pages": [
"en/tools/ai-ml/overview", "en/tools/ai-ml/overview",
"en/tools/ai-ml/dalletool", "en/tools/ai-ml/dalletool",
@@ -213,26 +202,16 @@
}, },
{ {
"group": "Cloud & Storage", "group": "Cloud & Storage",
"icon": "cloud",
"pages": [ "pages": [
"en/tools/cloud-storage/overview", "en/tools/cloud-storage/overview",
"en/tools/cloud-storage/s3readertool", "en/tools/cloud-storage/s3readertool",
"en/tools/cloud-storage/s3writertool", "en/tools/cloud-storage/s3writertool",
"en/tools/cloud-storage/bedrockinvokeagenttool",
"en/tools/cloud-storage/bedrockkbretriever" "en/tools/cloud-storage/bedrockkbretriever"
] ]
}, },
{ {
"group": "Integrations", "group": "Automation & Integration",
"icon": "plug",
"pages": [
"en/tools/tool-integrations/overview",
"en/tools/tool-integrations/bedrockinvokeagenttool",
"en/tools/tool-integrations/crewaiautomationtool"
]
},
{
"group": "Automation",
"icon": "bolt",
"pages": [ "pages": [
"en/tools/automation/overview", "en/tools/automation/overview",
"en/tools/automation/apifyactorstool", "en/tools/automation/apifyactorstool",
@@ -294,7 +273,6 @@
}, },
{ {
"tab": "Enterprise", "tab": "Enterprise",
"icon": "briefcase",
"groups": [ "groups": [
{ {
"group": "Getting Started", "group": "Getting Started",
@@ -342,7 +320,6 @@
"en/enterprise/guides/update-crew", "en/enterprise/guides/update-crew",
"en/enterprise/guides/enable-crew-studio", "en/enterprise/guides/enable-crew-studio",
"en/enterprise/guides/azure-openai-setup", "en/enterprise/guides/azure-openai-setup",
"en/enterprise/guides/automation-triggers",
"en/enterprise/guides/hubspot-trigger", "en/enterprise/guides/hubspot-trigger",
"en/enterprise/guides/react-component-export", "en/enterprise/guides/react-component-export",
"en/enterprise/guides/salesforce-trigger", "en/enterprise/guides/salesforce-trigger",
@@ -361,7 +338,6 @@
}, },
{ {
"tab": "API Reference", "tab": "API Reference",
"icon": "magnifying-glass",
"groups": [ "groups": [
{ {
"group": "Getting Started", "group": "Getting Started",
@@ -376,23 +352,12 @@
}, },
{ {
"tab": "Examples", "tab": "Examples",
"icon": "code",
"groups": [ "groups": [
{ {
"group": "Examples", "group": "Examples",
"pages": ["en/examples/example", "en/examples/cookbooks"] "pages": ["en/examples/example", "en/examples/cookbooks"]
} }
] ]
},
{
"tab": "Changelog",
"icon": "clock",
"groups": [
{
"group": "Release Notes",
"pages": ["en/changelog"]
}
]
} }
] ]
}, },
@@ -411,21 +376,20 @@
"icon": "discourse" "icon": "discourse"
}, },
{ {
"anchor": "Blog", "anchor": "Crew GPT",
"href": "https://blog.crewai.com",
"icon": "newspaper"
},
{
"anchor": "CrewGPT",
"href": "https://chatgpt.com/g/g-qqTuUWsBY-crewai-assistant", "href": "https://chatgpt.com/g/g-qqTuUWsBY-crewai-assistant",
"icon": "robot" "icon": "robot"
},
{
"anchor": "Lançamentos",
"href": "https://github.com/crewAIInc/crewAI/releases",
"icon": "tag"
} }
] ]
}, },
"tabs": [ "tabs": [
{ {
"tab": "Documentação", "tab": "Documentação",
"icon": "book-open",
"groups": [ "groups": [
{ {
"group": "Começando", "group": "Começando",
@@ -440,22 +404,18 @@
"pages": [ "pages": [
{ {
"group": "Estratégia", "group": "Estratégia",
"icon": "compass",
"pages": ["pt-BR/guides/concepts/evaluating-use-cases"] "pages": ["pt-BR/guides/concepts/evaluating-use-cases"]
}, },
{ {
"group": "Agentes", "group": "Agentes",
"icon": "user",
"pages": ["pt-BR/guides/agents/crafting-effective-agents"] "pages": ["pt-BR/guides/agents/crafting-effective-agents"]
}, },
{ {
"group": "Crews", "group": "Crews",
"icon": "users",
"pages": ["pt-BR/guides/crews/first-crew"] "pages": ["pt-BR/guides/crews/first-crew"]
}, },
{ {
"group": "Flows", "group": "Flows",
"icon": "code-branch",
"pages": [ "pages": [
"pt-BR/guides/flows/first-flow", "pt-BR/guides/flows/first-flow",
"pt-BR/guides/flows/mastering-flow-state" "pt-BR/guides/flows/mastering-flow-state"
@@ -463,7 +423,6 @@
}, },
{ {
"group": "Avançado", "group": "Avançado",
"icon": "gear",
"pages": [ "pages": [
"pt-BR/guides/advanced/customizing-prompts", "pt-BR/guides/advanced/customizing-prompts",
"pt-BR/guides/advanced/fingerprinting" "pt-BR/guides/advanced/fingerprinting"
@@ -509,7 +468,6 @@
"pt-BR/tools/overview", "pt-BR/tools/overview",
{ {
"group": "Arquivo & Documento", "group": "Arquivo & Documento",
"icon": "folder-open",
"pages": [ "pages": [
"pt-BR/tools/file-document/overview", "pt-BR/tools/file-document/overview",
"pt-BR/tools/file-document/filereadtool", "pt-BR/tools/file-document/filereadtool",
@@ -527,7 +485,6 @@
}, },
{ {
"group": "Web Scraping & Navegação", "group": "Web Scraping & Navegação",
"icon": "globe",
"pages": [ "pages": [
"pt-BR/tools/web-scraping/overview", "pt-BR/tools/web-scraping/overview",
"pt-BR/tools/web-scraping/scrapewebsitetool", "pt-BR/tools/web-scraping/scrapewebsitetool",
@@ -546,7 +503,6 @@
}, },
{ {
"group": "Pesquisa", "group": "Pesquisa",
"icon": "magnifying-glass",
"pages": [ "pages": [
"pt-BR/tools/search-research/overview", "pt-BR/tools/search-research/overview",
"pt-BR/tools/search-research/serperdevtool", "pt-BR/tools/search-research/serperdevtool",
@@ -562,7 +518,6 @@
}, },
{ {
"group": "Dados", "group": "Dados",
"icon": "database",
"pages": [ "pages": [
"pt-BR/tools/database-data/overview", "pt-BR/tools/database-data/overview",
"pt-BR/tools/database-data/mysqltool", "pt-BR/tools/database-data/mysqltool",
@@ -575,7 +530,6 @@
}, },
{ {
"group": "IA & Machine Learning", "group": "IA & Machine Learning",
"icon": "brain",
"pages": [ "pages": [
"pt-BR/tools/ai-ml/overview", "pt-BR/tools/ai-ml/overview",
"pt-BR/tools/ai-ml/dalletool", "pt-BR/tools/ai-ml/dalletool",
@@ -589,26 +543,16 @@
}, },
{ {
"group": "Cloud & Armazenamento", "group": "Cloud & Armazenamento",
"icon": "cloud",
"pages": [ "pages": [
"pt-BR/tools/cloud-storage/overview", "pt-BR/tools/cloud-storage/overview",
"pt-BR/tools/cloud-storage/s3readertool", "pt-BR/tools/cloud-storage/s3readertool",
"pt-BR/tools/cloud-storage/s3writertool", "pt-BR/tools/cloud-storage/s3writertool",
"pt-BR/tools/cloud-storage/bedrockinvokeagenttool",
"pt-BR/tools/cloud-storage/bedrockkbretriever" "pt-BR/tools/cloud-storage/bedrockkbretriever"
] ]
}, },
{ {
"group": "Integrações", "group": "Automação & Integração",
"icon": "plug",
"pages": [
"pt-BR/tools/tool-integrations/overview",
"pt-BR/tools/tool-integrations/bedrockinvokeagenttool",
"pt-BR/tools/tool-integrations/crewaiautomationtool"
]
},
{
"group": "Automação",
"icon": "bolt",
"pages": [ "pages": [
"pt-BR/tools/automation/overview", "pt-BR/tools/automation/overview",
"pt-BR/tools/automation/apifyactorstool", "pt-BR/tools/automation/apifyactorstool",
@@ -668,7 +612,6 @@
}, },
{ {
"tab": "Enterprise", "tab": "Enterprise",
"icon": "briefcase",
"groups": [ "groups": [
{ {
"group": "Começando", "group": "Começando",
@@ -715,7 +658,6 @@
"pt-BR/enterprise/guides/update-crew", "pt-BR/enterprise/guides/update-crew",
"pt-BR/enterprise/guides/enable-crew-studio", "pt-BR/enterprise/guides/enable-crew-studio",
"pt-BR/enterprise/guides/azure-openai-setup", "pt-BR/enterprise/guides/azure-openai-setup",
"pt-BR/enterprise/guides/automation-triggers",
"pt-BR/enterprise/guides/hubspot-trigger", "pt-BR/enterprise/guides/hubspot-trigger",
"pt-BR/enterprise/guides/react-component-export", "pt-BR/enterprise/guides/react-component-export",
"pt-BR/enterprise/guides/salesforce-trigger", "pt-BR/enterprise/guides/salesforce-trigger",
@@ -736,7 +678,6 @@
}, },
{ {
"tab": "Referência da API", "tab": "Referência da API",
"icon": "magnifying-glass",
"groups": [ "groups": [
{ {
"group": "Começando", "group": "Começando",
@@ -751,23 +692,12 @@
}, },
{ {
"tab": "Exemplos", "tab": "Exemplos",
"icon": "code",
"groups": [ "groups": [
{ {
"group": "Exemplos", "group": "Exemplos",
"pages": ["pt-BR/examples/example", "pt-BR/examples/cookbooks"] "pages": ["pt-BR/examples/example", "pt-BR/examples/cookbooks"]
} }
] ]
},
{
"tab": "Notas de Versão",
"icon": "clock",
"groups": [
{
"group": "Notas de Versão",
"pages": ["pt-BR/changelog"]
}
]
} }
] ]
}, },
@@ -786,21 +716,20 @@
"icon": "discourse" "icon": "discourse"
}, },
{ {
"anchor": "블로그", "anchor": "Crew GPT",
"href": "https://blog.crewai.com",
"icon": "newspaper"
},
{
"anchor": "CrewGPT",
"href": "https://chatgpt.com/g/g-qqTuUWsBY-crewai-assistant", "href": "https://chatgpt.com/g/g-qqTuUWsBY-crewai-assistant",
"icon": "robot" "icon": "robot"
},
{
"anchor": "릴리스",
"href": "https://github.com/crewAIInc/crewAI/releases",
"icon": "tag"
} }
] ]
}, },
"tabs": [ "tabs": [
{ {
"tab": "기술 문서", "tab": "기술 문서",
"icon": "book-open",
"groups": [ "groups": [
{ {
"group": "시작 안내", "group": "시작 안내",
@@ -811,22 +740,18 @@
"pages": [ "pages": [
{ {
"group": "전략", "group": "전략",
"icon": "compass",
"pages": ["ko/guides/concepts/evaluating-use-cases"] "pages": ["ko/guides/concepts/evaluating-use-cases"]
}, },
{ {
"group": "에이전트 (Agents)", "group": "에이전트 (Agents)",
"icon": "user",
"pages": ["ko/guides/agents/crafting-effective-agents"] "pages": ["ko/guides/agents/crafting-effective-agents"]
}, },
{ {
"group": "크루 (Crews)", "group": "크루 (Crews)",
"icon": "users",
"pages": ["ko/guides/crews/first-crew"] "pages": ["ko/guides/crews/first-crew"]
}, },
{ {
"group": "플로우 (Flows)", "group": "플로우 (Flows)",
"icon": "code-branch",
"pages": [ "pages": [
"ko/guides/flows/first-flow", "ko/guides/flows/first-flow",
"ko/guides/flows/mastering-flow-state" "ko/guides/flows/mastering-flow-state"
@@ -834,7 +759,6 @@
}, },
{ {
"group": "고급", "group": "고급",
"icon": "gear",
"pages": [ "pages": [
"ko/guides/advanced/customizing-prompts", "ko/guides/advanced/customizing-prompts",
"ko/guides/advanced/fingerprinting" "ko/guides/advanced/fingerprinting"
@@ -880,7 +804,6 @@
"ko/tools/overview", "ko/tools/overview",
{ {
"group": "파일 & 문서", "group": "파일 & 문서",
"icon": "folder-open",
"pages": [ "pages": [
"ko/tools/file-document/overview", "ko/tools/file-document/overview",
"ko/tools/file-document/filereadtool", "ko/tools/file-document/filereadtool",
@@ -900,7 +823,6 @@
}, },
{ {
"group": "웹 스크래핑 & 브라우징", "group": "웹 스크래핑 & 브라우징",
"icon": "globe",
"pages": [ "pages": [
"ko/tools/web-scraping/overview", "ko/tools/web-scraping/overview",
"ko/tools/web-scraping/scrapewebsitetool", "ko/tools/web-scraping/scrapewebsitetool",
@@ -920,7 +842,6 @@
}, },
{ {
"group": "검색 및 연구", "group": "검색 및 연구",
"icon": "magnifying-glass",
"pages": [ "pages": [
"ko/tools/search-research/overview", "ko/tools/search-research/overview",
"ko/tools/search-research/serperdevtool", "ko/tools/search-research/serperdevtool",
@@ -942,7 +863,6 @@
}, },
{ {
"group": "데이터베이스 & 데이터", "group": "데이터베이스 & 데이터",
"icon": "database",
"pages": [ "pages": [
"ko/tools/database-data/overview", "ko/tools/database-data/overview",
"ko/tools/database-data/mysqltool", "ko/tools/database-data/mysqltool",
@@ -957,7 +877,6 @@
}, },
{ {
"group": "인공지능 & 머신러닝", "group": "인공지능 & 머신러닝",
"icon": "brain",
"pages": [ "pages": [
"ko/tools/ai-ml/overview", "ko/tools/ai-ml/overview",
"ko/tools/ai-ml/dalletool", "ko/tools/ai-ml/dalletool",
@@ -971,7 +890,6 @@
}, },
{ {
"group": "클라우드 & 스토리지", "group": "클라우드 & 스토리지",
"icon": "cloud",
"pages": [ "pages": [
"ko/tools/cloud-storage/overview", "ko/tools/cloud-storage/overview",
"ko/tools/cloud-storage/s3readertool", "ko/tools/cloud-storage/s3readertool",
@@ -981,17 +899,7 @@
] ]
}, },
{ {
"group": "통합", "group": "자동화 & 통합",
"icon": "plug",
"pages": [
"ko/tools/tool-integrations/overview",
"ko/tools/tool-integrations/bedrockinvokeagenttool",
"ko/tools/tool-integrations/crewaiautomationtool"
]
},
{
"group": "자동화",
"icon": "bolt",
"pages": [ "pages": [
"ko/tools/automation/overview", "ko/tools/automation/overview",
"ko/tools/automation/apifyactorstool", "ko/tools/automation/apifyactorstool",
@@ -1052,7 +960,6 @@
}, },
{ {
"tab": "엔터프라이즈", "tab": "엔터프라이즈",
"icon": "briefcase",
"groups": [ "groups": [
{ {
"group": "시작 안내", "group": "시작 안내",
@@ -1100,7 +1007,6 @@
"ko/enterprise/guides/update-crew", "ko/enterprise/guides/update-crew",
"ko/enterprise/guides/enable-crew-studio", "ko/enterprise/guides/enable-crew-studio",
"ko/enterprise/guides/azure-openai-setup", "ko/enterprise/guides/azure-openai-setup",
"ko/enterprise/guides/automation-triggers",
"ko/enterprise/guides/hubspot-trigger", "ko/enterprise/guides/hubspot-trigger",
"ko/enterprise/guides/react-component-export", "ko/enterprise/guides/react-component-export",
"ko/enterprise/guides/salesforce-trigger", "ko/enterprise/guides/salesforce-trigger",
@@ -1119,7 +1025,6 @@
}, },
{ {
"tab": "API 레퍼런스", "tab": "API 레퍼런스",
"icon": "magnifying-glass",
"groups": [ "groups": [
{ {
"group": "시작 안내", "group": "시작 안내",
@@ -1134,23 +1039,12 @@
}, },
{ {
"tab": "예시", "tab": "예시",
"icon": "code",
"groups": [ "groups": [
{ {
"group": "예시", "group": "예시",
"pages": ["ko/examples/example", "ko/examples/cookbooks"] "pages": ["ko/examples/example", "ko/examples/cookbooks"]
} }
] ]
},
{
"tab": "변경 로그",
"icon": "clock",
"groups": [
{
"group": "릴리스 노트",
"pages": ["ko/changelog"]
}
]
} }
] ]
} }
@@ -1160,23 +1054,15 @@
"light": "/images/crew_only_logo.png", "light": "/images/crew_only_logo.png",
"dark": "/images/crew_only_logo.png" "dark": "/images/crew_only_logo.png"
}, },
"fonts": {
"family": "Inter"
},
"appearance": { "appearance": {
"default": "system", "default": "dark",
"strict": false, "strict": false
"layout": "sidenav"
},
"background": {
"decoration": "grid"
}, },
"navbar": { "navbar": {
"links": [ "links": [
{ {
"label": "Start Cloud Trial", "label": "Start Cloud Trial",
"href": "https://app.crewai.com", "href": "https://app.crewai.com"
"icon": "arrow-up-right-from-square"
} }
], ],
"primary": { "primary": {
@@ -1195,20 +1081,7 @@
} }
}, },
"seo": { "seo": {
"indexing": "all", "indexing": "all"
"metatags": {
"og:type": "website",
"og:site_name": "CrewAI Documentation",
"og:image": "https://docs.crewai.com/images/crew_only_logo.png",
"twitter:card": "summary_large_image",
"twitter:site": "@crewAIInc",
"keywords": "AI agents, multi-agent systems, CrewAI, artificial intelligence, automation, Python framework, agent collaboration, AI workflows"
}
},
"feedback": {
"enabled": true,
"thumbsRating": true,
"suggestEdit": true
}, },
"redirects": [ "redirects": [
{ {
@@ -1229,7 +1102,7 @@
}, },
{ {
"source": "/changelog", "source": "/changelog",
"destination": "/en/changelog" "destination": "https://github.com/crewAIInc/crewAI/releases"
}, },
{ {
"source": "/telemetry", "source": "/telemetry",

View File

@@ -2,7 +2,6 @@
title: "GET /inputs" title: "GET /inputs"
description: "Get required inputs for your crew" description: "Get required inputs for your crew"
openapi: "/enterprise-api.en.yaml GET /inputs" openapi: "/enterprise-api.en.yaml GET /inputs"
mode: "wide"
--- ---

View File

@@ -2,7 +2,6 @@
title: "Introduction" title: "Introduction"
description: "Complete reference for the CrewAI Enterprise REST API" description: "Complete reference for the CrewAI Enterprise REST API"
icon: "code" icon: "code"
mode: "wide"
--- ---
# CrewAI Enterprise API # CrewAI Enterprise API

View File

@@ -2,7 +2,6 @@
title: "POST /kickoff" title: "POST /kickoff"
description: "Start a crew execution" description: "Start a crew execution"
openapi: "/enterprise-api.en.yaml POST /kickoff" openapi: "/enterprise-api.en.yaml POST /kickoff"
mode: "wide"
--- ---

View File

@@ -2,7 +2,6 @@
title: "GET /status/{kickoff_id}" title: "GET /status/{kickoff_id}"
description: "Get execution status" description: "Get execution status"
openapi: "/enterprise-api.en.yaml GET /status/{kickoff_id}" openapi: "/enterprise-api.en.yaml GET /status/{kickoff_id}"
mode: "wide"
--- ---

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,6 @@
title: Agents title: Agents
description: Detailed guide on creating and managing agents within the CrewAI framework. description: Detailed guide on creating and managing agents within the CrewAI framework.
icon: robot icon: robot
mode: "wide"
--- ---
## Overview of an Agent ## Overview of an Agent

View File

@@ -2,7 +2,6 @@
title: CLI title: CLI
description: Learn how to use the CrewAI CLI to interact with CrewAI. description: Learn how to use the CrewAI CLI to interact with CrewAI.
icon: terminal icon: terminal
mode: "wide"
--- ---
<Warning>Since release 0.140.0, CrewAI Enterprise started a process of migrating their login provider. As such, the authentication flow via CLI was updated. Users that use Google to login, or that created their account after July 3rd, 2025 will be unable to log in with older versions of the `crewai` library.</Warning> <Warning>Since release 0.140.0, CrewAI Enterprise started a process of migrating their login provider. As such, the authentication flow via CLI was updated. Users that use Google to login, or that created their account after July 3rd, 2025 will be unable to log in with older versions of the `crewai` library.</Warning>
@@ -283,25 +282,7 @@ Watch this video tutorial for a step-by-step demonstration of deploying your cre
allowfullscreen allowfullscreen
></iframe> ></iframe>
### 11. Login ### 11. API Keys
Authenticate with CrewAI Enterprise using a secure device code flow (no email entry required).
```shell Terminal
crewai login
```
What happens:
- A verification URL and short code are displayed in your terminal
- Your browser opens to the verification URL
- Enter/confirm the code to complete authentication
Notes:
- The OAuth2 provider and domain are configured via `crewai config` (defaults use `login.crewai.com`)
- After successful login, the CLI also attempts to authenticate to the Tool Repository automatically
- If you reset your configuration, run `crewai login` again to re-authenticate
### 12. API Keys
When running ```crewai create crew``` command, the CLI will show you a list of available LLM providers to choose from, followed by model selection for your chosen provider. When running ```crewai create crew``` command, the CLI will show you a list of available LLM providers to choose from, followed by model selection for your chosen provider.
@@ -329,7 +310,7 @@ See the following link for each provider's key name:
* [LiteLLM Providers](https://docs.litellm.ai/docs/providers) * [LiteLLM Providers](https://docs.litellm.ai/docs/providers)
### 13. Configuration Management ### 12. Configuration Management
Manage CLI configuration settings for CrewAI. Manage CLI configuration settings for CrewAI.
@@ -370,15 +351,19 @@ crewai config list
``` ```
Example output: Example output:
| Setting | Value | Description | ```
| :------------------ | :----------------------- | :---------------------------------------------------------- | CrewAI CLI Configuration
| enterprise_base_url | https://app.crewai.com | Base URL of the CrewAI Enterprise instance | ┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
| org_name | Not set | Name of the currently active organization | ┃ Setting ┃ Value ┃ Description ┃
| org_uuid | Not set | UUID of the currently active organization | ┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
| oauth2_provider | workos | OAuth2 provider (e.g., workos, okta, auth0) | │ enterprise_base_url│ https://app.crewai.com │ Base URL of the CrewAI Enterprise instance
| oauth2_audience | client_01YYY | Audience identifying the target API/resource | org_name │ Not set │ Name of the currently active organization │
| oauth2_client_id | client_01XXX | OAuth2 client ID issued by the provider | org_uuid │ Not set │ UUID of the currently active organization │
| oauth2_domain | login.crewai.com | Provider domain (e.g., your-org.auth0.com) | oauth2_provider │ workos │ OAuth2 provider used for authentication (e.g., workos, okta, auth0).
│ oauth2_audience │ client_01YYY │ OAuth2 audience value, typically used to identify the target API or resource. │
│ oauth2_client_id │ client_01XXX │ OAuth2 client ID issued by the provider, used during authentication requests. │
│ oauth2_domain │ login.crewai.com │ OAuth2 provider's domain (e.g., your-org.auth0.com) used for issuing tokens. │
```
Set the enterprise base URL: Set the enterprise base URL:
```shell Terminal ```shell Terminal
@@ -400,14 +385,6 @@ Reset all configuration to defaults:
crewai config reset crewai config reset
``` ```
<Tip>
After resetting configuration, re-run `crewai login` to authenticate again.
</Tip>
<Tip>
CrewAI CLI handles authentication to the Tool Repository automatically when adding packages to your project. Just append `crewai` before any `uv` command to use it. E.g. `crewai uv add requests`. For more information, see [Tool Repository](https://docs.crewai.com/enterprise/features/tool-repository) docs.
</Tip>
<Note> <Note>
Configuration settings are stored in `~/.config/crewai/settings.json`. Some settings like organization name and UUID are read-only and managed through authentication and organization commands. Tool repository related settings are hidden and cannot be set directly by users. Configuration settings are stored in `~/.config/crewai/settings.json`. Some settings like organization name and UUID are read-only and managed through authentication and organization commands. Tool repository related settings are hidden and cannot be set directly by users.
</Note> </Note>

View File

@@ -2,7 +2,6 @@
title: Collaboration title: Collaboration
description: How to enable agents to work together, delegate tasks, and communicate effectively within CrewAI teams. description: How to enable agents to work together, delegate tasks, and communicate effectively within CrewAI teams.
icon: screen-users icon: screen-users
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Crews title: Crews
description: Understanding and utilizing crews in the crewAI framework with comprehensive attributes and functionalities. description: Understanding and utilizing crews in the crewAI framework with comprehensive attributes and functionalities.
icon: people-group icon: people-group
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: 'Event Listeners' title: 'Event Listeners'
description: 'Tap into CrewAI events to build custom integrations and monitoring' description: 'Tap into CrewAI events to build custom integrations and monitoring'
icon: spinner icon: spinner
mode: "wide"
--- ---
## Overview ## Overview
@@ -45,12 +44,12 @@ To create a custom event listener, you need to:
Here's a simple example of a custom event listener class: Here's a simple example of a custom event listener class:
```python ```python
from crewai.events import ( from crewai.utilities.events import (
CrewKickoffStartedEvent, CrewKickoffStartedEvent,
CrewKickoffCompletedEvent, CrewKickoffCompletedEvent,
AgentExecutionCompletedEvent, AgentExecutionCompletedEvent,
) )
from crewai.events import BaseEventListener from crewai.utilities.events.base_event_listener import BaseEventListener
class MyCustomListener(BaseEventListener): class MyCustomListener(BaseEventListener):
def __init__(self): def __init__(self):
@@ -147,7 +146,7 @@ my_project/
```python ```python
# my_custom_listener.py # my_custom_listener.py
from crewai.events import BaseEventListener from crewai.utilities.events.base_event_listener import BaseEventListener
# ... import events ... # ... import events ...
class MyCustomListener(BaseEventListener): class MyCustomListener(BaseEventListener):
@@ -280,7 +279,7 @@ Additional fields vary by event type. For example, `CrewKickoffCompletedEvent` i
For temporary event handling (useful for testing or specific operations), you can use the `scoped_handlers` context manager: For temporary event handling (useful for testing or specific operations), you can use the `scoped_handlers` context manager:
```python ```python
from crewai.events import crewai_event_bus, CrewKickoffStartedEvent from crewai.utilities.events import crewai_event_bus, CrewKickoffStartedEvent
with crewai_event_bus.scoped_handlers(): with crewai_event_bus.scoped_handlers():
@crewai_event_bus.on(CrewKickoffStartedEvent) @crewai_event_bus.on(CrewKickoffStartedEvent)

View File

@@ -2,7 +2,6 @@
title: Flows title: Flows
description: Learn how to create and manage AI workflows using CrewAI Flows. description: Learn how to create and manage AI workflows using CrewAI Flows.
icon: arrow-progress icon: arrow-progress
mode: "wide"
--- ---
## Overview ## Overview
@@ -98,13 +97,7 @@ The state's unique ID and stored data can be useful for tracking flow executions
### @start() ### @start()
The `@start()` decorator marks entry points for a Flow. You can: The `@start()` decorator is used to mark a method as the starting point of a Flow. When a Flow is started, all the methods decorated with `@start()` are executed in parallel. You can have multiple start methods in a Flow, and they will all be executed when the Flow is started.
- Declare multiple unconditional starts: `@start()`
- Gate a start on a prior method or router label: `@start("method_or_label")`
- Provide a callable condition to control when a start should fire
All satisfied `@start()` methods will execute (often in parallel) when the Flow begins or resumes.
### @listen() ### @listen()

View File

@@ -2,7 +2,6 @@
title: Knowledge title: Knowledge
description: What is knowledge in CrewAI and how to use it. description: What is knowledge in CrewAI and how to use it.
icon: book icon: book
mode: "wide"
--- ---
## Overview ## Overview
@@ -25,41 +24,6 @@ For file-based Knowledge Sources, make sure to place your files in a `knowledge`
Also, use relative paths from the `knowledge` directory when creating the source. Also, use relative paths from the `knowledge` directory when creating the source.
</Tip> </Tip>
### Vector store (RAG) client configuration
CrewAI exposes a provider-neutral RAG client abstraction for vector stores. The default provider is ChromaDB, and Qdrant is supported as well. You can switch providers using configuration utilities.
Supported today:
- ChromaDB (default)
- Qdrant
```python Code
from crewai.rag.config.utils import set_rag_config, get_rag_client, clear_rag_config
# ChromaDB (default)
from crewai.rag.chromadb.config import ChromaDBConfig
set_rag_config(ChromaDBConfig())
chromadb_client = get_rag_client()
# Qdrant
from crewai.rag.qdrant.config import QdrantConfig
set_rag_config(QdrantConfig())
qdrant_client = get_rag_client()
# Example operations (same API for any provider)
client = qdrant_client # or chromadb_client
client.create_collection(collection_name="docs")
client.add_documents(
collection_name="docs",
documents=[{"id": "1", "content": "CrewAI enables collaborative AI agents."}],
)
results = client.search(collection_name="docs", query="collaborative agents", limit=3)
clear_rag_config() # optional reset
```
This RAG client is separate from Knowledges built-in storage. Use it when you need direct vector-store control or custom retrieval pipelines.
### Basic String Knowledge Example ### Basic String Knowledge Example
```python Code ```python Code
@@ -717,11 +681,11 @@ CrewAI emits events during the knowledge retrieval process that you can listen f
#### Example: Monitoring Knowledge Retrieval #### Example: Monitoring Knowledge Retrieval
```python ```python
from crewai.events import ( from crewai.utilities.events import (
KnowledgeRetrievalStartedEvent, KnowledgeRetrievalStartedEvent,
KnowledgeRetrievalCompletedEvent, KnowledgeRetrievalCompletedEvent,
BaseEventListener,
) )
from crewai.utilities.events.base_event_listener import BaseEventListener
class KnowledgeMonitorListener(BaseEventListener): class KnowledgeMonitorListener(BaseEventListener):
def setup_listeners(self, crewai_event_bus): def setup_listeners(self, crewai_event_bus):

View File

@@ -2,7 +2,6 @@
title: 'LLMs' title: 'LLMs'
description: 'A comprehensive guide to configuring and using Large Language Models (LLMs) in your CrewAI projects' description: 'A comprehensive guide to configuring and using Large Language Models (LLMs) in your CrewAI projects'
icon: 'microchip-ai' icon: 'microchip-ai'
mode: "wide"
--- ---
## Overview ## Overview
@@ -734,10 +733,10 @@ CrewAI supports streaming responses from LLMs, allowing your application to rece
CrewAI emits events for each chunk received during streaming: CrewAI emits events for each chunk received during streaming:
```python ```python
from crewai.events import ( from crewai.utilities.events import (
LLMStreamChunkEvent LLMStreamChunkEvent
) )
from crewai.events import BaseEventListener from crewai.utilities.events.base_event_listener import BaseEventListener
class MyCustomListener(BaseEventListener): class MyCustomListener(BaseEventListener):
def setup_listeners(self, crewai_event_bus): def setup_listeners(self, crewai_event_bus):
@@ -759,8 +758,8 @@ CrewAI supports streaming responses from LLMs, allowing your application to rece
```python ```python
from crewai import LLM, Agent, Task, Crew from crewai import LLM, Agent, Task, Crew
from crewai.events import LLMStreamChunkEvent from crewai.utilities.events import LLMStreamChunkEvent
from crewai.events import BaseEventListener from crewai.utilities.events.base_event_listener import BaseEventListener
class MyCustomListener(BaseEventListener): class MyCustomListener(BaseEventListener):
def setup_listeners(self, crewai_event_bus): def setup_listeners(self, crewai_event_bus):

View File

@@ -2,12 +2,11 @@
title: Memory title: Memory
description: Leveraging memory systems in the CrewAI framework to enhance agent capabilities. description: Leveraging memory systems in the CrewAI framework to enhance agent capabilities.
icon: database icon: database
mode: "wide"
--- ---
## Overview ## Overview
The CrewAI framework provides a sophisticated memory system designed to significantly enhance AI agent capabilities. CrewAI offers **two distinct memory approaches** that serve different use cases: The CrewAI framework provides a sophisticated memory system designed to significantly enhance AI agent capabilities. CrewAI offers **three distinct memory approaches** that serve different use cases:
1. **Basic Memory System** - Built-in short-term, long-term, and entity memory 1. **Basic Memory System** - Built-in short-term, long-term, and entity memory
2. **External Memory** - Standalone external memory providers 2. **External Memory** - Standalone external memory providers
@@ -739,17 +738,6 @@ print(f"OpenAI: {openai_time:.2f}s")
print(f"Ollama: {ollama_time:.2f}s") print(f"Ollama: {ollama_time:.2f}s")
``` ```
### Entity Memory batching behavior
Entity Memory supports batching when saving multiple entities at once. When you pass a list of `EntityMemoryItem`, the system:
- Emits a single MemorySaveStartedEvent with `entity_count`
- Saves each entity internally, collecting any partial errors
- Emits MemorySaveCompletedEvent with aggregate metadata (saved count, errors)
- Raises a partial-save exception if some entities failed (includes counts)
This improves performance and observability when writing many entities in one operation.
## 2. External Memory ## 2. External Memory
External Memory provides a standalone memory system that operates independently from the crew's built-in memory. This is ideal for specialized memory providers or cross-application memory sharing. External Memory provides a standalone memory system that operates independently from the crew's built-in memory. This is ideal for specialized memory providers or cross-application memory sharing.
@@ -1053,8 +1041,8 @@ CrewAI emits the following memory-related events:
Track memory operation timing to optimize your application: Track memory operation timing to optimize your application:
```python ```python
from crewai.events import ( from crewai.utilities.events.base_event_listener import BaseEventListener
BaseEventListener, from crewai.utilities.events import (
MemoryQueryCompletedEvent, MemoryQueryCompletedEvent,
MemorySaveCompletedEvent MemorySaveCompletedEvent
) )
@@ -1088,8 +1076,8 @@ memory_monitor = MemoryPerformanceMonitor()
Log memory operations for debugging and insights: Log memory operations for debugging and insights:
```python ```python
from crewai.events import ( from crewai.utilities.events.base_event_listener import BaseEventListener
BaseEventListener, from crewai.utilities.events import (
MemorySaveStartedEvent, MemorySaveStartedEvent,
MemoryQueryStartedEvent, MemoryQueryStartedEvent,
MemoryRetrievalCompletedEvent MemoryRetrievalCompletedEvent
@@ -1129,8 +1117,8 @@ memory_logger = MemoryLogger()
Capture and respond to memory errors: Capture and respond to memory errors:
```python ```python
from crewai.events import ( from crewai.utilities.events.base_event_listener import BaseEventListener
BaseEventListener, from crewai.utilities.events import (
MemorySaveFailedEvent, MemorySaveFailedEvent,
MemoryQueryFailedEvent MemoryQueryFailedEvent
) )
@@ -1179,8 +1167,8 @@ error_tracker = MemoryErrorTracker(notify_email="admin@example.com")
Memory events can be forwarded to analytics and monitoring platforms to track performance metrics, detect anomalies, and visualize memory usage patterns: Memory events can be forwarded to analytics and monitoring platforms to track performance metrics, detect anomalies, and visualize memory usage patterns:
```python ```python
from crewai.events import ( from crewai.utilities.events.base_event_listener import BaseEventListener
BaseEventListener, from crewai.utilities.events import (
MemoryQueryCompletedEvent, MemoryQueryCompletedEvent,
MemorySaveCompletedEvent MemorySaveCompletedEvent
) )

View File

@@ -2,7 +2,6 @@
title: Planning title: Planning
description: Learn how to add planning to your CrewAI Crew and improve their performance. description: Learn how to add planning to your CrewAI Crew and improve their performance.
icon: ruler-combined icon: ruler-combined
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Processes title: Processes
description: Detailed guide on workflow management through processes in CrewAI, with updated implementation details. description: Detailed guide on workflow management through processes in CrewAI, with updated implementation details.
icon: bars-staggered icon: bars-staggered
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Reasoning title: Reasoning
description: "Learn how to enable and use agent reasoning to improve task execution." description: "Learn how to enable and use agent reasoning to improve task execution."
icon: brain icon: brain
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Tasks title: Tasks
description: Detailed guide on managing and creating tasks within the CrewAI framework. description: Detailed guide on managing and creating tasks within the CrewAI framework.
icon: list-check icon: list-check
mode: "wide"
--- ---
## Overview ## Overview
@@ -60,12 +59,6 @@ crew = Crew(
| **Output Pydantic** _(optional)_ | `output_pydantic` | `Optional[Type[BaseModel]]` | A Pydantic model for task output. | | **Output Pydantic** _(optional)_ | `output_pydantic` | `Optional[Type[BaseModel]]` | A Pydantic model for task output. |
| **Callback** _(optional)_ | `callback` | `Optional[Any]` | Function/object to be executed after task completion. | | **Callback** _(optional)_ | `callback` | `Optional[Any]` | Function/object to be executed after task completion. |
| **Guardrail** _(optional)_ | `guardrail` | `Optional[Callable]` | Function to validate task output before proceeding to next task. | | **Guardrail** _(optional)_ | `guardrail` | `Optional[Callable]` | Function to validate task output before proceeding to next task. |
| **Guardrail Max Retries** _(optional)_ | `guardrail_max_retries` | `Optional[int]` | Maximum number of retries when guardrail validation fails. Defaults to 3. |
<Note type="warning" title="Deprecated: max_retries">
The task attribute `max_retries` is deprecated and will be removed in v1.0.0.
Use `guardrail_max_retries` instead to control retry attempts when a guardrail fails.
</Note>
## Creating Tasks ## Creating Tasks
@@ -438,7 +431,7 @@ When a guardrail returns `(False, error)`:
2. The agent attempts to fix the issue 2. The agent attempts to fix the issue
3. The process repeats until: 3. The process repeats until:
- The guardrail returns `(True, result)` - The guardrail returns `(True, result)`
- Maximum retries are reached (`guardrail_max_retries`) - Maximum retries are reached
Example with retry handling: Example with retry handling:
```python Code ```python Code
@@ -459,7 +452,7 @@ task = Task(
expected_output="A valid JSON object", expected_output="A valid JSON object",
agent=analyst, agent=analyst,
guardrail=validate_json_output, guardrail=validate_json_output,
guardrail_max_retries=3 # Limit retry attempts max_retries=3 # Limit retry attempts
) )
``` ```

View File

@@ -2,7 +2,6 @@
title: Testing title: Testing
description: Learn how to test your CrewAI Crew and evaluate their performance. description: Learn how to test your CrewAI Crew and evaluate their performance.
icon: vial icon: vial
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Tools title: Tools
description: Understanding and leveraging tools within the CrewAI framework for agent collaboration and task execution. description: Understanding and leveraging tools within the CrewAI framework for agent collaboration and task execution.
icon: screwdriver-wrench icon: screwdriver-wrench
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Training title: Training
description: Learn how to train your CrewAI agents by giving them feedback early on and get consistent results. description: Learn how to train your CrewAI agents by giving them feedback early on and get consistent results.
icon: dumbbell icon: dumbbell
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: 'Agent Repositories' title: 'Agent Repositories'
description: 'Learn how to use Agent Repositories to share and reuse your agents across teams and projects' description: 'Learn how to use Agent Repositories to share and reuse your agents across teams and projects'
icon: 'database' icon: 'database'
mode: "wide"
--- ---
Agent Repositories allow enterprise users to store, share, and reuse agent definitions across teams and projects. This feature enables organizations to maintain a centralized library of standardized agents, promoting consistency and reducing duplication of effort. Agent Repositories allow enterprise users to store, share, and reuse agent definitions across teams and projects. This feature enables organizations to maintain a centralized library of standardized agents, promoting consistency and reducing duplication of effort.

View File

@@ -2,7 +2,6 @@
title: Hallucination Guardrail title: Hallucination Guardrail
description: "Prevent and detect AI hallucinations in your CrewAI tasks" description: "Prevent and detect AI hallucinations in your CrewAI tasks"
icon: "shield-check" icon: "shield-check"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Integrations title: Integrations
description: "Connected applications for your agents to take actions." description: "Connected applications for your agents to take actions."
icon: "plug" icon: "plug"
mode: "wide"
--- ---
## Overview ## Overview
@@ -60,7 +59,7 @@ Before using Authentication Integrations, ensure you have:
3. Click **Connect** on your desired service from the Authentication Integrations section 3. Click **Connect** on your desired service from the Authentication Integrations section
4. Complete the OAuth authentication flow 4. Complete the OAuth authentication flow
5. Grant necessary permissions for your use case 5. Grant necessary permissions for your use case
6. All set! Get your Enterprise Token from your [CrewAI Enterprise](https://app.crewai.com) in **Integration** tab 6. Get your Enterprise Token from your [CrewAI Enterprise](https://app.crewai.com) account page - https://app.crewai.com/crewai_plus/settings/account
<Frame> <Frame>
![Integrations](/images/enterprise/enterprise_action_auth_token.png) ![Integrations](/images/enterprise/enterprise_action_auth_token.png)

View File

@@ -2,7 +2,6 @@
title: "Role-Based Access Control (RBAC)" title: "Role-Based Access Control (RBAC)"
description: "Control access to crews, tools, and data with roles, scopes, and granular permissions." description: "Control access to crews, tools, and data with roles, scopes, and granular permissions."
icon: "shield" icon: "shield"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Tool Repository title: Tool Repository
description: "Using the Tool Repository to manage your tools" description: "Using the Tool Repository to manage your tools"
icon: "toolbox" icon: "toolbox"
mode: "wide"
--- ---
## Overview ## Overview
@@ -52,36 +51,6 @@ researcher = Agent(
) )
``` ```
## Adding other packages after installing a tool
After installing a tool from the CrewAI Enterprise Tool Repository, you need to use the `crewai uv` command to add other packages to your project.
Using pure `uv` commands will fail due to authentication to tool repository being handled by the CLI. By using the `crewai uv` command, you can add other packages to your project without having to worry about authentication.
Any `uv` command can be used with the `crewai uv` command, making it a powerful tool for managing your project's dependencies without the hassle of managing authentication through environment variables or other methods.
Say that you have installed a custom tool from the CrewAI Enterprise Tool Repository called "my-tool":
```bash
crewai tool install my-tool
```
And now you want to add another package to your project, you can use the following command:
```bash
crewai uv add requests
```
Other commands like `uv sync` or `uv remove` can also be used with the `crewai uv` command:
```bash
crewai uv sync
```
```bash
crewai uv remove requests
```
This will add the package to your project and update `pyproject.toml` accordingly.
## Creating and Publishing Tools ## Creating and Publishing Tools
To create a new tool project: To create a new tool project:

View File

@@ -2,7 +2,6 @@
title: Traces title: Traces
description: "Using Traces to monitor your Crews" description: "Using Traces to monitor your Crews"
icon: "timeline" icon: "timeline"
mode: "wide"
--- ---
## Overview ## Overview
@@ -142,16 +141,6 @@ Traces are invaluable for troubleshooting issues with your crews:
</Step> </Step>
</Steps> </Steps>
## Performance and batching
CrewAI batches trace uploads to reduce overhead on high-volume runs:
- A TraceBatchManager buffers events and sends them in batches via the Plus API client
- Reduces network chatter and improves reliability on flaky connections
- Automatically enabled in the default trace listener; no configuration needed
This yields more stable tracing under load while preserving detailed task/agent telemetry.
<Card title="Need Help?" icon="headset" href="mailto:support@crewai.com"> <Card title="Need Help?" icon="headset" href="mailto:support@crewai.com">
Contact our support team for assistance with trace analysis or any other CrewAI Enterprise features. Contact our support team for assistance with trace analysis or any other CrewAI Enterprise features.
</Card> </Card>

View File

@@ -2,7 +2,6 @@
title: Webhook Streaming title: Webhook Streaming
description: "Using Webhook Streaming to stream events to your webhook" description: "Using Webhook Streaming to stream events to your webhook"
icon: "webhook" icon: "webhook"
mode: "wide"
--- ---
## Overview ## Overview
@@ -63,96 +62,16 @@ As requests are sent over HTTP, the order of events can't be guaranteed. If you
CrewAI supports both system events and custom events in Enterprise Event Streaming. These events are sent to your configured webhook endpoint during crew and flow execution. CrewAI supports both system events and custom events in Enterprise Event Streaming. These events are sent to your configured webhook endpoint during crew and flow execution.
### Flow Events: - `crew_kickoff_started`
- `crew_step_started`
- flow_created - `crew_step_completed`
- flow_started - `crew_execution_completed`
- flow_finished - `llm_call_started`
- flow_plot - `llm_call_completed`
- method_execution_started - `tool_usage_started`
- method_execution_finished - `tool_usage_completed`
- method_execution_failed - `crew_test_failed`
- *...and others*
### Agent Events:
- agent_execution_started
- agent_execution_completed
- agent_execution_error
- lite_agent_execution_started
- lite_agent_execution_completed
- lite_agent_execution_error
- agent_logs_started
- agent_logs_execution
- agent_evaluation_started
- agent_evaluation_completed
- agent_evaluation_failed
### Crew Events:
- crew_kickoff_started
- crew_kickoff_completed
- crew_kickoff_failed
- crew_train_started
- crew_train_completed
- crew_train_failed
- crew_test_started
- crew_test_completed
- crew_test_failed
- crew_test_result
### Task Events:
- task_started
- task_completed
- task_failed
- task_evaluation
### Tool Usage Events:
- tool_usage_started
- tool_usage_finished
- tool_usage_error
- tool_validate_input_error
- tool_selection_error
- tool_execution_error
### LLM Events:
- llm_call_started
- llm_call_completed
- llm_call_failed
- llm_stream_chunk
### LLM Guardrail Events:
- llm_guardrail_started
- llm_guardrail_completed
### Memory Events:
- memory_query_started
- memory_query_completed
- memory_query_failed
- memory_save_started
- memory_save_completed
- memory_save_failed
- memory_retrieval_started
- memory_retrieval_completed
### Knowledge Events:
- knowledge_search_query_started
- knowledge_search_query_completed
- knowledge_search_query_failed
- knowledge_query_started
- knowledge_query_completed
- knowledge_query_failed
### Reasoning Events:
- agent_reasoning_started
- agent_reasoning_completed
- agent_reasoning_failed
Event names match the internal event bus. See [GitHub source](https://github.com/crewAIInc/crewAI/tree/main/src/crewai/utilities/events) for the full list. Event names match the internal event bus. See [GitHub source](https://github.com/crewAIInc/crewAI/tree/main/src/crewai/utilities/events) for the full list.

View File

@@ -1,179 +0,0 @@
---
title: "Automation Triggers"
description: "Automatically execute your CrewAI workflows when specific events occur in connected integrations"
icon: "bolt"
mode: "wide"
---
Automation triggers enable you to automatically run your CrewAI deployments when specific events occur in your connected integrations, creating powerful event-driven workflows that respond to real-time changes in your business systems.
## Overview
With automation triggers, you can:
- **Respond to real-time events** - Automatically execute workflows when specific conditions are met
- **Integrate with external systems** - Connect with platforms like Gmail, Outlook, OneDrive, JIRA, Slack, Stripe and more
- **Scale your automation** - Handle high-volume events without manual intervention
- **Maintain context** - Access trigger data within your crews and flows
## Managing Automation Triggers
### Viewing Available Triggers
To access and manage your automation triggers:
1. Navigate to your deployment in the CrewAI dashboard
2. Click on the **Triggers** tab to view all available trigger integrations
<Frame>
<img src="/images/enterprise/list-available-triggers.png" alt="List of available automation triggers" />
</Frame>
This view shows all the trigger integrations available for your deployment, along with their current connection status.
### Enabling and Disabling Triggers
Each trigger can be easily enabled or disabled using the toggle switch:
<Frame>
<img src="/images/enterprise/trigger-selected.png" alt="Enable or disable triggers with toggle" />
</Frame>
- **Enabled (blue toggle)**: The trigger is active and will automatically execute your deployment when the specified events occur
- **Disabled (gray toggle)**: The trigger is inactive and will not respond to events
Simply click the toggle to change the trigger state. Changes take effect immediately.
### Monitoring Trigger Executions
Track the performance and history of your triggered executions:
<Frame>
<img src="/images/enterprise/list-executions.png" alt="List of executions triggered by automation" />
</Frame>
## Building Automation
Before building your automation, it's helpful to understand the structure of trigger payloads that your crews and flows will receive.
### Payload Samples Repository
We maintain a comprehensive repository with sample payloads from various trigger sources to help you build and test your automations:
**🔗 [CrewAI Enterprise Trigger Payload Samples](https://github.com/crewAIInc/crewai-enterprise-trigger-payload-samples)**
This repository contains:
- **Real payload examples** from different trigger sources (Gmail, Google Drive, etc.)
- **Payload structure documentation** showing the format and available fields
### Triggers with Crew
Your existing crew definitions work seamlessly with triggers, you just need to have a task to parse the received payload:
```python
@CrewBase
class MyAutomatedCrew:
@agent
def researcher(self) -> Agent:
return Agent(
config=self.agents_config['researcher'],
)
@task
def parse_trigger_payload(self) -> Task:
return Task(
config=self.tasks_config['parse_trigger_payload'],
agent=self.researcher(),
)
@task
def analyze_trigger_content(self) -> Task:
return Task(
config=self.tasks_config['analyze_trigger_data'],
agent=self.researcher(),
)
```
The crew will automatically receive and can access the trigger payload through the standard CrewAI context mechanisms.
<Note>
Crew and Flow inputs can include `crewai_trigger_payload`. CrewAI automatically injects this payload:
- Tasks: appended to the first task's description by default ("Trigger Payload: {crewai_trigger_payload}")
- Control via `allow_crewai_trigger_context`: set `True` to always inject, `False` to never inject
- Flows: any `@start()` method that accepts a `crewai_trigger_payload` parameter will receive it
</Note>
### Integration with Flows
For flows, you have more control over how trigger data is handled:
#### Accessing Trigger Payload
All `@start()` methods in your flows will accept an additional parameter called `crewai_trigger_payload`:
```python
from crewai.flow import Flow, start, listen
class MyAutomatedFlow(Flow):
@start()
def handle_trigger(self, crewai_trigger_payload: dict = None):
"""
This start method can receive trigger data
"""
if crewai_trigger_payload:
# Process the trigger data
trigger_id = crewai_trigger_payload.get('id')
event_data = crewai_trigger_payload.get('payload', {})
# Store in flow state for use by other methods
self.state.trigger_id = trigger_id
self.state.trigger_type = event_data
return event_data
# Handle manual execution
return None
@listen(handle_trigger)
def process_data(self, trigger_data):
"""
Process the data from the trigger
"""
# ... process the trigger
```
#### Triggering Crews from Flows
When kicking off a crew within a flow that was triggered, pass the trigger payload as it:
```python
@start()
def delegate_to_crew(self, crewai_trigger_payload: dict = None):
"""
Delegate processing to a specialized crew
"""
crew = MySpecializedCrew()
# Pass the trigger payload to the crew
result = crew.crew().kickoff(
inputs={
'a_custom_parameter': "custom_value",
'crewai_trigger_payload': crewai_trigger_payload
},
)
return result
```
## Troubleshooting
**Trigger not firing:**
- Verify the trigger is enabled
- Check integration connection status
**Execution failures:**
- Check the execution logs for error details
- If you are developing, make sure the inputs include the `crewai_trigger_payload` parameter with the correct payload
Automation triggers transform your CrewAI deployments into responsive, event-driven systems that can seamlessly integrate with your existing business processes and tools.

View File

@@ -2,7 +2,6 @@
title: "Azure OpenAI Setup" title: "Azure OpenAI Setup"
description: "Configure Azure OpenAI with Crew Studio for enterprise LLM connections" description: "Configure Azure OpenAI with Crew Studio for enterprise LLM connections"
icon: "microsoft" icon: "microsoft"
mode: "wide"
--- ---
This guide walks you through connecting Azure OpenAI with Crew Studio for seamless enterprise AI operations. This guide walks you through connecting Azure OpenAI with Crew Studio for seamless enterprise AI operations.
@@ -10,12 +9,12 @@ This guide walks you through connecting Azure OpenAI with Crew Studio for seamle
## Setup Process ## Setup Process
<Steps> <Steps>
<Step title="Access Azure AI Foundry"> <Step title="Access Azure OpenAI Studio">
1. In Azure, go to [Azure AI Foundry](https://ai.azure.com/) > select your Azure OpenAI deployment. 1. In Azure, go to `Azure AI Services > select your deployment > open Azure OpenAI Studio`.
2. On the left menu, click `Deployments`. If you don't have one, create a deployment with your desired model. 2. On the left menu, click `Deployments`. If you don't have one, create a deployment with your desired model.
3. Once created, select your deployment and locate the `Target URI` and `Key` on the right side of the page. Keep this page open, as you'll need this information. 3. Once created, select your deployment and locate the `Target URI` and `Key` on the right side of the page. Keep this page open, as you'll need this information.
<Frame> <Frame>
<img src="/images/enterprise/azure-openai-studio.png" alt="Azure AI Foundry" /> <img src="/images/enterprise/azure-openai-studio.png" alt="Azure OpenAI Studio" />
</Frame> </Frame>
</Step> </Step>
@@ -49,4 +48,4 @@ If you encounter issues:
- Verify the Target URI format matches the expected pattern - Verify the Target URI format matches the expected pattern
- Check that the API key is correct and has proper permissions - Check that the API key is correct and has proper permissions
- Ensure network access is configured to allow CrewAI connections - Ensure network access is configured to allow CrewAI connections
- Confirm the deployment model matches what you've configured in CrewAI - Confirm the deployment model matches what you've configured in CrewAI

View File

@@ -2,7 +2,6 @@
title: "Build Crew" title: "Build Crew"
description: "A Crew is a group of agents that work together to complete a task." description: "A Crew is a group of agents that work together to complete a task."
icon: "people-arrows" icon: "people-arrows"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: "Deploy Crew" title: "Deploy Crew"
description: "Deploying a Crew on CrewAI Enterprise" description: "Deploying a Crew on CrewAI Enterprise"
icon: "rocket" icon: "rocket"
mode: "wide"
--- ---
<Note> <Note>

View File

@@ -2,7 +2,6 @@
title: "Enable Crew Studio" title: "Enable Crew Studio"
description: "Enabling Crew Studio on CrewAI Enterprise" description: "Enabling Crew Studio on CrewAI Enterprise"
icon: "comments" icon: "comments"
mode: "wide"
--- ---
<Tip> <Tip>

View File

@@ -2,7 +2,6 @@
title: "HubSpot Trigger" title: "HubSpot Trigger"
description: "Trigger CrewAI crews directly from HubSpot Workflows" description: "Trigger CrewAI crews directly from HubSpot Workflows"
icon: "hubspot" icon: "hubspot"
mode: "wide"
--- ---
This guide provides a step-by-step process to set up HubSpot triggers for CrewAI Enterprise, enabling you to initiate crews directly from HubSpot Workflows. This guide provides a step-by-step process to set up HubSpot triggers for CrewAI Enterprise, enabling you to initiate crews directly from HubSpot Workflows.

View File

@@ -2,7 +2,6 @@
title: "HITL Workflows" title: "HITL Workflows"
description: "Learn how to implement Human-In-The-Loop workflows in CrewAI for enhanced decision-making" description: "Learn how to implement Human-In-The-Loop workflows in CrewAI for enhanced decision-making"
icon: "user-check" icon: "user-check"
mode: "wide"
--- ---
Human-In-The-Loop (HITL) is a powerful approach that combines artificial intelligence with human expertise to enhance decision-making and improve task outcomes. This guide shows you how to implement HITL within CrewAI. Human-In-The-Loop (HITL) is a powerful approach that combines artificial intelligence with human expertise to enhance decision-making and improve task outcomes. This guide shows you how to implement HITL within CrewAI.

View File

@@ -2,7 +2,6 @@
title: "Kickoff Crew" title: "Kickoff Crew"
description: "Kickoff a Crew on CrewAI Enterprise" description: "Kickoff a Crew on CrewAI Enterprise"
icon: "flag-checkered" icon: "flag-checkered"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: "React Component Export" title: "React Component Export"
description: "Learn how to export and integrate CrewAI Enterprise React components into your applications" description: "Learn how to export and integrate CrewAI Enterprise React components into your applications"
icon: "react" icon: "react"
mode: "wide"
--- ---
This guide explains how to export CrewAI Enterprise crews as React components and integrate them into your own applications. This guide explains how to export CrewAI Enterprise crews as React components and integrate them into your own applications.

View File

@@ -2,7 +2,6 @@
title: "Salesforce Trigger" title: "Salesforce Trigger"
description: "Trigger CrewAI crews from Salesforce workflows for CRM automation" description: "Trigger CrewAI crews from Salesforce workflows for CRM automation"
icon: "salesforce" icon: "salesforce"
mode: "wide"
--- ---
CrewAI Enterprise can be triggered from Salesforce to automate customer relationship management workflows and enhance your sales operations. CrewAI Enterprise can be triggered from Salesforce to automate customer relationship management workflows and enhance your sales operations.

View File

@@ -2,7 +2,6 @@
title: "Slack Trigger" title: "Slack Trigger"
description: "Trigger CrewAI crews directly from Slack using slash commands" description: "Trigger CrewAI crews directly from Slack using slash commands"
icon: "slack" icon: "slack"
mode: "wide"
--- ---
This guide explains how to start a crew directly from Slack using CrewAI triggers. This guide explains how to start a crew directly from Slack using CrewAI triggers.

View File

@@ -2,7 +2,6 @@
title: "Team Management" title: "Team Management"
description: "Learn how to invite and manage team members in your CrewAI Enterprise organization" description: "Learn how to invite and manage team members in your CrewAI Enterprise organization"
icon: "users" icon: "users"
mode: "wide"
--- ---
As an administrator of a CrewAI Enterprise account, you can easily invite new team members to join your organization. This guide will walk you through the process step-by-step. As an administrator of a CrewAI Enterprise account, you can easily invite new team members to join your organization. This guide will walk you through the process step-by-step.

View File

@@ -2,7 +2,6 @@
title: "Update Crew" title: "Update Crew"
description: "Updating a Crew on CrewAI Enterprise" description: "Updating a Crew on CrewAI Enterprise"
icon: "pencil" icon: "pencil"
mode: "wide"
--- ---
<Note> <Note>

View File

@@ -2,7 +2,6 @@
title: "Webhook Automation" title: "Webhook Automation"
description: "Automate CrewAI Enterprise workflows using webhooks with platforms like ActivePieces, Zapier, and Make.com" description: "Automate CrewAI Enterprise workflows using webhooks with platforms like ActivePieces, Zapier, and Make.com"
icon: "webhook" icon: "webhook"
mode: "wide"
--- ---
CrewAI Enterprise allows you to automate your workflow using webhooks. This article will guide you through the process of setting up and using webhooks to kickoff your crew execution, with a focus on integration with ActivePieces, a workflow automation platform similar to Zapier and Make.com. CrewAI Enterprise allows you to automate your workflow using webhooks. This article will guide you through the process of setting up and using webhooks to kickoff your crew execution, with a focus on integration with ActivePieces, a workflow automation platform similar to Zapier and Make.com.
@@ -80,24 +79,14 @@ CrewAI Enterprise allows you to automate your workflow using webhooks. This arti
## Webhook Output Examples ## Webhook Output Examples
**Note:** Any `meta` object provided in your kickoff request will be included in all webhook payloads, allowing you to track requests and maintain context across the entire crew execution lifecycle.
<Tabs> <Tabs>
<Tab title="Step Webhook"> <Tab title="Step Webhook">
`stepWebhookUrl` - Callback that will be executed upon each agent inner thought `stepWebhookUrl` - Callback that will be executed upon each agent inner thought
```json ```json
{ {
"prompt": "Research the financial industry for potential AI solutions", "action": "**Preliminary Research Report on the Financial Industry for crewai Enterprise Solution**\n1. Industry Overview and Trends\nThe financial industry in ....\nConclusion:\nThe financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.",
"thought": "I need to conduct preliminary research on the financial industry", "task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0"
"tool": "research_tool",
"tool_input": "financial industry AI solutions",
"result": "**Preliminary Research Report on the Financial Industry for crewai Enterprise Solution**\n1. Industry Overview and Trends\nThe financial industry in ....\nConclusion:\nThe financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.",
"kickoff_id": "97eba64f-958c-40a0-b61c-625fe635a3c0",
"meta": {
"requestId": "travel-req-123",
"source": "web-app"
}
} }
``` ```
</Tab> </Tab>
@@ -106,21 +95,8 @@ CrewAI Enterprise allows you to automate your workflow using webhooks. This arti
```json ```json
{ {
"description": "Using the information gathered from the lead's data, conduct preliminary research on the lead's industry, company background, and potential use cases for crewai. Focus on finding relevant data that can aid in scoring the lead and planning a strategy to pitch them crewai.", "description": "Using the information gathered from the lead's data, conduct preliminary research on the lead's industry, company background, and potential use cases for crewai. Focus on finding relevant data that can aid in scoring the lead and planning a strategy to pitch them crewai.The financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.",
"name": "Industry Research Task", "task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0"
"expected_output": "Detailed research report on the financial industry",
"summary": "The financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.",
"agent": "Research Agent",
"output": "**Preliminary Research Report on the Financial Industry for crewai Enterprise Solution**\n1. Industry Overview and Trends\nThe financial industry in ....\nConclusion:\nThe financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance.",
"output_json": {
"industry": "financial",
"key_opportunities": ["digital customer engagement", "risk management", "regulatory compliance"]
},
"kickoff_id": "97eba64f-958c-40a0-b61c-625fe635a3c0",
"meta": {
"requestId": "travel-req-123",
"source": "web-app"
}
} }
``` ```
</Tab> </Tab>
@@ -129,9 +105,8 @@ CrewAI Enterprise allows you to automate your workflow using webhooks. This arti
```json ```json
{ {
"kickoff_id": "97eba64f-958c-40a0-b61c-625fe635a3c0", "task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0",
"result": "**Final Analysis Report**\n\nLead Score: Customer service enhancement and compliance are particularly relevant.\n\nTalking Points:\n- Highlight how crewai's AI solutions can transform customer service\n- Discuss crewai's potential for sustainability goals\n- Emphasize compliance capabilities\n- Stress adaptability for various operation scales", "result": {
"result_json": {
"lead_score": "Customer service enhancement, and compliance are particularly relevant.", "lead_score": "Customer service enhancement, and compliance are particularly relevant.",
"talking_points": [ "talking_points": [
"Highlight how crewai's AI solutions can transform customer service with automated, personalized experiences and 24/7 support, improving both customer satisfaction and operational efficiency.", "Highlight how crewai's AI solutions can transform customer service with automated, personalized experiences and 24/7 support, improving both customer satisfaction and operational efficiency.",
@@ -139,15 +114,6 @@ CrewAI Enterprise allows you to automate your workflow using webhooks. This arti
"Emphasize crewai's ability to enhance compliance with evolving regulations through efficient data processing and reporting, reducing the risk of non-compliance penalties.", "Emphasize crewai's ability to enhance compliance with evolving regulations through efficient data processing and reporting, reducing the risk of non-compliance penalties.",
"Stress the adaptability of crewai to support both extensive multinational operations and smaller, targeted projects, ensuring the solution grows with the institution's needs." "Stress the adaptability of crewai to support both extensive multinational operations and smaller, targeted projects, ensuring the solution grows with the institution's needs."
] ]
},
"token_usage": {
"total_tokens": 1250,
"prompt_tokens": 800,
"completion_tokens": 450
},
"meta": {
"requestId": "travel-req-123",
"source": "web-app"
} }
} }
``` ```

View File

@@ -2,7 +2,6 @@
title: "Zapier Trigger" title: "Zapier Trigger"
description: "Trigger CrewAI crews from Zapier workflows to automate cross-app workflows" description: "Trigger CrewAI crews from Zapier workflows to automate cross-app workflows"
icon: "bolt" icon: "bolt"
mode: "wide"
--- ---
This guide will walk you through the process of setting up Zapier triggers for CrewAI Enterprise, allowing you to automate workflows between CrewAI Enterprise and other applications. This guide will walk you through the process of setting up Zapier triggers for CrewAI Enterprise, allowing you to automate workflows between CrewAI Enterprise and other applications.

View File

@@ -2,7 +2,6 @@
title: Asana Integration title: Asana Integration
description: "Team task and project coordination with Asana integration for CrewAI." description: "Team task and project coordination with Asana integration for CrewAI."
icon: "circle" icon: "circle"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Box Integration title: Box Integration
description: "File storage and document management with Box integration for CrewAI." description: "File storage and document management with Box integration for CrewAI."
icon: "box" icon: "box"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: ClickUp Integration title: ClickUp Integration
description: "Task and productivity management with ClickUp integration for CrewAI." description: "Task and productivity management with ClickUp integration for CrewAI."
icon: "list-check" icon: "list-check"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: GitHub Integration title: GitHub Integration
description: "Repository and issue management with GitHub integration for CrewAI." description: "Repository and issue management with GitHub integration for CrewAI."
icon: "github" icon: "github"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Gmail Integration title: Gmail Integration
description: "Email and contact management with Gmail integration for CrewAI." description: "Email and contact management with Gmail integration for CrewAI."
icon: "envelope" icon: "envelope"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Google Calendar Integration title: Google Calendar Integration
description: "Event and schedule management with Google Calendar integration for CrewAI." description: "Event and schedule management with Google Calendar integration for CrewAI."
icon: "calendar" icon: "calendar"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Google Sheets Integration title: Google Sheets Integration
description: "Spreadsheet data synchronization with Google Sheets integration for CrewAI." description: "Spreadsheet data synchronization with Google Sheets integration for CrewAI."
icon: "google" icon: "google"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: "HubSpot Integration" title: "HubSpot Integration"
description: "Manage companies and contacts in HubSpot with CrewAI." description: "Manage companies and contacts in HubSpot with CrewAI."
icon: "briefcase" icon: "briefcase"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Jira Integration title: Jira Integration
description: "Issue tracking and project management with Jira integration for CrewAI." description: "Issue tracking and project management with Jira integration for CrewAI."
icon: "bug" icon: "bug"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Linear Integration title: Linear Integration
description: "Software project and bug tracking with Linear integration for CrewAI." description: "Software project and bug tracking with Linear integration for CrewAI."
icon: "list-check" icon: "list-check"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Notion Integration title: Notion Integration
description: "Page and database management with Notion integration for CrewAI." description: "Page and database management with Notion integration for CrewAI."
icon: "book" icon: "book"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Salesforce Integration title: Salesforce Integration
description: "CRM and sales automation with Salesforce integration for CrewAI." description: "CRM and sales automation with Salesforce integration for CrewAI."
icon: "salesforce" icon: "salesforce"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Shopify Integration title: Shopify Integration
description: "E-commerce and online store management with Shopify integration for CrewAI." description: "E-commerce and online store management with Shopify integration for CrewAI."
icon: "shopify" icon: "shopify"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Slack Integration title: Slack Integration
description: "Team communication and collaboration with Slack integration for CrewAI." description: "Team communication and collaboration with Slack integration for CrewAI."
icon: "slack" icon: "slack"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Stripe Integration title: Stripe Integration
description: "Payment processing and subscription management with Stripe integration for CrewAI." description: "Payment processing and subscription management with Stripe integration for CrewAI."
icon: "stripe" icon: "stripe"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Zendesk Integration title: Zendesk Integration
description: "Customer support and helpdesk management with Zendesk integration for CrewAI." description: "Customer support and helpdesk management with Zendesk integration for CrewAI."
icon: "headset" icon: "headset"
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: "CrewAI Enterprise" title: "CrewAI Enterprise"
description: "Deploy, monitor, and scale your AI agent workflows" description: "Deploy, monitor, and scale your AI agent workflows"
icon: "globe" icon: "globe"
mode: "wide"
--- ---
## Introduction ## Introduction

View File

@@ -2,7 +2,6 @@
title: FAQs title: FAQs
description: "Frequently asked questions about CrewAI Enterprise" description: "Frequently asked questions about CrewAI Enterprise"
icon: "circle-question" icon: "circle-question"
mode: "wide"
--- ---
<AccordionGroup> <AccordionGroup>

View File

@@ -2,7 +2,6 @@
title: CrewAI Cookbooks title: CrewAI Cookbooks
description: Feature-focused quickstarts and notebooks for learning patterns fast. description: Feature-focused quickstarts and notebooks for learning patterns fast.
icon: book icon: book
mode: "wide"
--- ---
## Quickstarts & Demos ## Quickstarts & Demos

View File

@@ -2,7 +2,6 @@
title: CrewAI Examples title: CrewAI Examples
description: Explore curated examples organized by Crews, Flows, Integrations, and Notebooks. description: Explore curated examples organized by Crews, Flows, Integrations, and Notebooks.
icon: rocket-launch icon: rocket-launch
mode: "wide"
--- ---
## Crews ## Crews

View File

@@ -2,7 +2,6 @@
title: Customizing Prompts title: Customizing Prompts
description: Dive deeper into low-level prompt customization for CrewAI, enabling super custom and complex use cases for different models and languages. description: Dive deeper into low-level prompt customization for CrewAI, enabling super custom and complex use cases for different models and languages.
icon: message-pen icon: message-pen
mode: "wide"
--- ---
## Why Customize Prompts? ## Why Customize Prompts?

View File

@@ -2,7 +2,6 @@
title: Fingerprinting title: Fingerprinting
description: Learn how to use CrewAI's fingerprinting system to uniquely identify and track components throughout their lifecycle. description: Learn how to use CrewAI's fingerprinting system to uniquely identify and track components throughout their lifecycle.
icon: fingerprint icon: fingerprint
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Crafting Effective Agents title: Crafting Effective Agents
description: Learn best practices for designing powerful, specialized AI agents that collaborate effectively to solve complex problems. description: Learn best practices for designing powerful, specialized AI agents that collaborate effectively to solve complex problems.
icon: robot icon: robot
mode: "wide"
--- ---
## The Art and Science of Agent Design ## The Art and Science of Agent Design

View File

@@ -2,7 +2,6 @@
title: Evaluating Use Cases for CrewAI title: Evaluating Use Cases for CrewAI
description: Learn how to assess your AI application needs and choose the right approach between Crews and Flows based on complexity and precision requirements. description: Learn how to assess your AI application needs and choose the right approach between Crews and Flows based on complexity and precision requirements.
icon: scale-balanced icon: scale-balanced
mode: "wide"
--- ---
## Understanding the Decision Framework ## Understanding the Decision Framework

View File

@@ -2,7 +2,6 @@
title: Build Your First Crew title: Build Your First Crew
description: Step-by-step tutorial to create a collaborative AI team that works together to solve complex problems. description: Step-by-step tutorial to create a collaborative AI team that works together to solve complex problems.
icon: users-gear icon: users-gear
mode: "wide"
--- ---
## Unleashing the Power of Collaborative AI ## Unleashing the Power of Collaborative AI

View File

@@ -2,7 +2,6 @@
title: Build Your First Flow title: Build Your First Flow
description: Learn how to create structured, event-driven workflows with precise control over execution. description: Learn how to create structured, event-driven workflows with precise control over execution.
icon: diagram-project icon: diagram-project
mode: "wide"
--- ---
## Taking Control of AI Workflows with Flows ## Taking Control of AI Workflows with Flows

View File

@@ -2,7 +2,6 @@
title: Mastering Flow State Management title: Mastering Flow State Management
description: A comprehensive guide to managing, persisting, and leveraging state in CrewAI Flows for building robust AI applications. description: A comprehensive guide to managing, persisting, and leveraging state in CrewAI Flows for building robust AI applications.
icon: diagram-project icon: diagram-project
mode: "wide"
--- ---
## Understanding the Power of State in Flows ## Understanding the Power of State in Flows
@@ -349,31 +348,6 @@ class SelectivePersistFlow(Flow):
## Advanced State Patterns ## Advanced State Patterns
### Conditional starts and resumable execution
Flows support conditional `@start()` and resumable execution for HITL/cyclic scenarios:
```python
from crewai.flow.flow import Flow, start, listen, and_, or_
class ResumableFlow(Flow):
@start() # unconditional start
def init(self):
...
# Conditional start: run after "init" or external trigger name
@start("init")
def maybe_begin(self):
...
@listen(and_(init, maybe_begin))
def proceed(self):
...
```
- Conditional `@start()` accepts a method name, a router label, or a callable condition.
- During resume, listeners continue from prior checkpoints; cycle/router branches honor resumption flags.
### State-Based Conditional Logic ### State-Based Conditional Logic
You can use state to implement complex conditional logic in your flows: You can use state to implement complex conditional logic in your flows:

View File

@@ -2,7 +2,6 @@
title: Installation title: Installation
description: Get started with CrewAI - Install, configure, and build your first AI crew description: Get started with CrewAI - Install, configure, and build your first AI crew
icon: wrench icon: wrench
mode: "wide"
--- ---
## Video Tutorial ## Video Tutorial
@@ -31,12 +30,6 @@ Watch this video tutorial for a step-by-step demonstration of the installation p
If you need to update Python, visit [python.org/downloads](https://python.org/downloads) If you need to update Python, visit [python.org/downloads](https://python.org/downloads)
</Note> </Note>
<Note>
**OpenAI SDK Requirement**
CrewAI 0.175.0 requires `openai >= 1.13.3`. If you manage dependencies yourself, ensure your environment satisfies this constraint to avoid import/runtime issues.
</Note>
CrewAI uses the `uv` as its dependency management and package handling tool. It simplifies project setup and execution, offering a seamless experience. CrewAI uses the `uv` as its dependency management and package handling tool. It simplifies project setup and execution, offering a seamless experience.
If you haven't installed `uv` yet, follow **step 1** to quickly get it set up on your system, else you can skip to **step 2**. If you haven't installed `uv` yet, follow **step 1** to quickly get it set up on your system, else you can skip to **step 2**.

View File

@@ -2,7 +2,6 @@
title: Introduction title: Introduction
description: Build AI agent teams that work together to tackle complex tasks description: Build AI agent teams that work together to tackle complex tasks
icon: handshake icon: handshake
mode: "wide"
--- ---
# What is CrewAI? # What is CrewAI?

View File

@@ -1,7 +1,6 @@
--- ---
title: Before and After Kickoff Hooks title: Before and After Kickoff Hooks
description: Learn how to use before and after kickoff hooks in CrewAI description: Learn how to use before and after kickoff hooks in CrewAI
mode: "wide"
--- ---
CrewAI provides hooks that allow you to execute code before and after a crew's kickoff. These hooks are useful for preprocessing inputs or post-processing results. CrewAI provides hooks that allow you to execute code before and after a crew's kickoff. These hooks are useful for preprocessing inputs or post-processing results.

View File

@@ -2,7 +2,6 @@
title: Bring your own agent title: Bring your own agent
description: Learn how to bring your own agents that work within a Crew. description: Learn how to bring your own agents that work within a Crew.
icon: robots icon: robots
mode: "wide"
--- ---
Interoperability is a core concept in CrewAI. This guide will show you how to bring your own agents that work within a Crew. Interoperability is a core concept in CrewAI. This guide will show you how to bring your own agents that work within a Crew.

View File

@@ -2,7 +2,6 @@
title: Coding Agents title: Coding Agents
description: Learn how to enable your CrewAI Agents to write and execute code, and explore advanced features for enhanced functionality. description: Learn how to enable your CrewAI Agents to write and execute code, and explore advanced features for enhanced functionality.
icon: rectangle-code icon: rectangle-code
mode: "wide"
--- ---
## Introduction ## Introduction

View File

@@ -2,7 +2,6 @@
title: Conditional Tasks title: Conditional Tasks
description: Learn how to use conditional tasks in a crewAI kickoff description: Learn how to use conditional tasks in a crewAI kickoff
icon: diagram-subtask icon: diagram-subtask
mode: "wide"
--- ---
## Introduction ## Introduction

View File

@@ -2,7 +2,6 @@
title: Create Custom Tools title: Create Custom Tools
description: Comprehensive guide on crafting, using, and managing custom tools within the CrewAI framework, including new functionalities and error handling. description: Comprehensive guide on crafting, using, and managing custom tools within the CrewAI framework, including new functionalities and error handling.
icon: hammer icon: hammer
mode: "wide"
--- ---
## Creating and Utilizing Tools in CrewAI ## Creating and Utilizing Tools in CrewAI

View File

@@ -2,7 +2,6 @@
title: Custom LLM Implementation title: Custom LLM Implementation
description: Learn how to create custom LLM implementations in CrewAI. description: Learn how to create custom LLM implementations in CrewAI.
icon: code icon: code
mode: "wide"
--- ---
## Overview ## Overview

View File

@@ -2,7 +2,6 @@
title: Custom Manager Agent title: Custom Manager Agent
description: Learn how to set a custom agent as the manager in CrewAI, providing more control over task management and coordination. description: Learn how to set a custom agent as the manager in CrewAI, providing more control over task management and coordination.
icon: user-shield icon: user-shield
mode: "wide"
--- ---
# Setting a Specific Agent as Manager in CrewAI # Setting a Specific Agent as Manager in CrewAI

View File

@@ -2,7 +2,6 @@
title: Customize Agents title: Customize Agents
description: A comprehensive guide to tailoring agents for specific roles, tasks, and advanced customizations within the CrewAI framework. description: A comprehensive guide to tailoring agents for specific roles, tasks, and advanced customizations within the CrewAI framework.
icon: user-pen icon: user-pen
mode: "wide"
--- ---
## Customizable Attributes ## Customizable Attributes

View File

@@ -2,7 +2,6 @@
title: "Image Generation with DALL-E" title: "Image Generation with DALL-E"
description: "Learn how to use DALL-E for AI-powered image generation in your CrewAI projects" description: "Learn how to use DALL-E for AI-powered image generation in your CrewAI projects"
icon: "image" icon: "image"
mode: "wide"
--- ---
CrewAI supports integration with OpenAI's DALL-E, allowing your AI agents to generate images as part of their tasks. This guide will walk you through how to set up and use the DALL-E tool in your CrewAI projects. CrewAI supports integration with OpenAI's DALL-E, allowing your AI agents to generate images as part of their tasks. This guide will walk you through how to set up and use the DALL-E tool in your CrewAI projects.

View File

@@ -2,7 +2,6 @@
title: Force Tool Output as Result title: Force Tool Output as Result
description: Learn how to force tool output as the result in an Agent's task in CrewAI. description: Learn how to force tool output as the result in an Agent's task in CrewAI.
icon: wrench-simple icon: wrench-simple
mode: "wide"
--- ---
## Introduction ## Introduction

View File

@@ -2,7 +2,6 @@
title: Hierarchical Process title: Hierarchical Process
description: A comprehensive guide to understanding and applying the hierarchical process within your CrewAI projects, updated to reflect the latest coding practices and functionalities. description: A comprehensive guide to understanding and applying the hierarchical process within your CrewAI projects, updated to reflect the latest coding practices and functionalities.
icon: sitemap icon: sitemap
mode: "wide"
--- ---
## Introduction ## Introduction

View File

@@ -2,7 +2,6 @@
title: "Human-in-the-Loop (HITL) Workflows" title: "Human-in-the-Loop (HITL) Workflows"
description: "Learn how to implement Human-in-the-Loop workflows in CrewAI for enhanced decision-making" description: "Learn how to implement Human-in-the-Loop workflows in CrewAI for enhanced decision-making"
icon: "user-check" icon: "user-check"
mode: "wide"
--- ---
Human-in-the-Loop (HITL) is a powerful approach that combines artificial intelligence with human expertise to enhance decision-making and improve task outcomes. This guide shows you how to implement HITL within CrewAI. Human-in-the-Loop (HITL) is a powerful approach that combines artificial intelligence with human expertise to enhance decision-making and improve task outcomes. This guide shows you how to implement HITL within CrewAI.

View File

@@ -2,7 +2,6 @@
title: Human Input on Execution title: Human Input on Execution
description: Integrating CrewAI with human input during execution in complex decision-making processes and leveraging the full capabilities of the agent's attributes and tools. description: Integrating CrewAI with human input during execution in complex decision-making processes and leveraging the full capabilities of the agent's attributes and tools.
icon: user-check icon: user-check
mode: "wide"
--- ---
## Human input in agent execution ## Human input in agent execution

View File

@@ -2,7 +2,6 @@
title: Kickoff Crew Asynchronously title: Kickoff Crew Asynchronously
description: Kickoff a Crew Asynchronously description: Kickoff a Crew Asynchronously
icon: rocket-launch icon: rocket-launch
mode: "wide"
--- ---
## Introduction ## Introduction

View File

@@ -2,7 +2,6 @@
title: Kickoff Crew for Each title: Kickoff Crew for Each
description: Kickoff Crew for Each Item in a List description: Kickoff Crew for Each Item in a List
icon: at icon: at
mode: "wide"
--- ---
## Introduction ## Introduction

View File

@@ -2,7 +2,6 @@
title: Connect to any LLM title: Connect to any LLM
description: Comprehensive guide on integrating CrewAI with various Large Language Models (LLMs) using LiteLLM, including supported providers and configuration options. description: Comprehensive guide on integrating CrewAI with various Large Language Models (LLMs) using LiteLLM, including supported providers and configuration options.
icon: brain-circuit icon: brain-circuit
mode: "wide"
--- ---
## Connect CrewAI to LLMs ## Connect CrewAI to LLMs

View File

@@ -2,7 +2,6 @@
title: 'Strategic LLM Selection Guide' title: 'Strategic LLM Selection Guide'
description: 'Strategic framework for choosing the right LLM for your CrewAI AI agents and writing effective task and agent definitions' description: 'Strategic framework for choosing the right LLM for your CrewAI AI agents and writing effective task and agent definitions'
icon: 'brain-circuit' icon: 'brain-circuit'
mode: "wide"
--- ---
## The CrewAI Approach to LLM Selection ## The CrewAI Approach to LLM Selection

Some files were not shown because too many files have changed in this diff Show More