Compare commits

...

11 Commits

Author SHA1 Message Date
Tony Kipkemboi
b5161c320d Merge branch 'main' into release/v1.0.0 2025-10-01 10:53:44 -04:00
Tony Kipkemboi
c793c829ea WIP: v1 docs (#3626)
(cherry picked from commit d46e20fa09bcd2f5916282f5553ddeb7183bd92c)
2025-10-01 10:25:28 -04:00
Lorenze Jay
0fe9352149 chore: bump version to 1.0.0a1 across all packages
- Updated version to 1.0.0a1 in pyproject.toml for crewai and crewai-tools
- Adjusted version in __init__.py files for consistency
2025-09-28 11:53:35 -04:00
Greyson LaLonde
548170e989 fix: add permission to action 2025-09-28 01:08:19 -04:00
Greyson LaLonde
417a4e3d91 chore: ci publish and pin versions 2025-09-28 00:59:25 -04:00
Greyson LaLonde
68dce92003 chore: update CI workflows and docs for monorepo structure
* chore: update CI workflows and docs for monorepo structure

* fix: actions syntax
2025-09-28 00:28:49 -04:00
Greyson LaLonde
289b90f00a feat: add crewai-tools workspace and fix tests/dependencies
* feat: add crewai-tools workspace structure

* Squashed 'temp-crewai-tools/' content from commit 9bae5633

git-subtree-dir: temp-crewai-tools
git-subtree-split: 9bae56339096cb70f03873e600192bd2cd207ac9

* feat: configure crewai-tools workspace package with dependencies

* fix: apply ruff auto-formatting to crewai-tools code

* chore: update lockfile

* fix: don't allow tool tests yet

* fix: comment out extra pytest flags for now

* fix: remove conflicting conftest.py from crewai-tools tests

* fix: resolve dependency conflicts and test issues

- Pin vcrpy to 7.0.0 to fix pytest-recording compatibility
- Comment out types-requests to resolve urllib3 conflict
- Update requests requirement in crewai-tools to >=2.32.0
2025-09-28 00:05:42 -04:00
Greyson LaLonde
c591c1ac87 chore: update python version to 3.13 and package metadata 2025-09-27 23:09:52 -04:00
Greyson LaLonde
86f0dfc2d7 feat: monorepo restructure and test/ci updates
- Add crewai workspace member
- Fix vcr cassette paths and restore test dirs
- Resolve ci failures and update linter/pytest rules
2025-09-27 22:53:02 -04:00
Greyson LaLonde
74b5c88834 Merge branch 'main' into release/v1.0.0-alpha.1 2025-09-26 13:32:05 -04:00
Lucas Gomide
13e5ec711d feat: add apps & actions attributes to Agent (#3504)
* feat: add app attributes to Agent

* feat: add actions attribute to Agent

* chore: resolve linter issues

* refactor: merge the apps and actions parameters into a single one

* fix: remove unnecessary print

* feat: logging error when CrewaiPlatformTools fails

* chore: export CrewaiPlatformTools directly from crewai_tools

* style: resolver linter issues

* test: fix broken tests

* style: solve linter issues

* fix: fix broken test
2025-09-25 16:46:51 -04:00
1164 changed files with 52829 additions and 2059 deletions

View File

@@ -15,11 +15,11 @@ on:
push:
branches: [ "main" ]
paths-ignore:
- "src/crewai/cli/templates/**"
- "lib/crewai/src/crewai/cli/templates/**"
pull_request:
branches: [ "main" ]
paths-ignore:
- "src/crewai/cli/templates/**"
- "lib/crewai/src/crewai/cli/templates/**"
jobs:
analyze:

View File

@@ -52,10 +52,10 @@ jobs:
- name: Run Ruff on Changed Files
if: ${{ steps.changed-files.outputs.files != '' }}
run: |
echo "${{ steps.changed-files.outputs.files }}" \
| tr ' ' '\n' \
| grep -v 'src/crewai/cli/templates/' \
| xargs -I{} uv run ruff check "{}"
echo "${{ steps.changed-files.outputs.files }}" \
| tr ' ' '\n' \
| grep -v 'src/crewai/cli/templates/' \
| xargs -I{} uv run ruff check "{}"
- name: Save uv caches
if: steps.cache-restore.outputs.cache-hit != 'true'

71
.github/workflows/publish.yml vendored Normal file
View File

@@ -0,0 +1,71 @@
name: Publish to PyPI
on:
release:
types: [ published ]
workflow_dispatch:
jobs:
build:
if: github.event.release.prerelease == true
name: Build packages
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Build packages
run: |
uv build --all-packages
rm dist/.gitignore
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
publish:
if: github.event.release.prerelease == true
name: Publish to PyPI
needs: build
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/crewai
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "0.8.4"
python-version: "3.12"
enable-cache: false
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: dist
path: dist
- name: Publish to PyPI
env:
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
run: |
for package in dist/*; do
echo "Publishing $package"
uv publish "$package"
done

View File

@@ -8,6 +8,14 @@ permissions:
env:
OPENAI_API_KEY: fake-api-key
PYTHONUNBUFFERED: 1
BRAVE_API_KEY: fake-brave-key
SNOWFLAKE_USER: fake-snowflake-user
SNOWFLAKE_PASSWORD: fake-snowflake-password
SNOWFLAKE_ACCOUNT: fake-snowflake-account
SNOWFLAKE_WAREHOUSE: fake-snowflake-warehouse
SNOWFLAKE_DATABASE: fake-snowflake-database
SNOWFLAKE_SCHEMA: fake-snowflake-schema
EMBEDCHAIN_DB_URI: sqlite:///test.db
jobs:
tests:
@@ -56,13 +64,13 @@ jobs:
- name: Run tests (group ${{ matrix.group }} of 8)
run: |
PYTHON_VERSION_SAFE=$(echo "${{ matrix.python-version }}" | tr '.' '_')
DURATION_FILE=".test_durations_py${PYTHON_VERSION_SAFE}"
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"
@@ -74,8 +82,8 @@ jobs:
# echo "No test changes detected, using cached test durations for optimal splitting"
# DURATIONS_ARG="--durations-path=${DURATION_FILE}"
# fi
uv run pytest \
cd lib/crewai && uv run pytest \
--block-network \
--timeout=30 \
-vv \
@@ -86,6 +94,19 @@ jobs:
-n auto \
--maxfail=3
- name: Run tool tests (group ${{ matrix.group }} of 8)
run: |
cd lib/crewai-tools && uv run pytest \
--block-network \
--timeout=30 \
-vv \
--splits 8 \
--group ${{ matrix.group }} \
--durations=10 \
-n auto \
--maxfail=3
- name: Save uv caches
if: steps.cache-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4

1
.gitignore vendored
View File

@@ -2,7 +2,6 @@
.pytest_cache
__pycache__
dist/
lib/
.env
assets/*
.idea

View File

@@ -6,14 +6,16 @@ repos:
entry: uv run ruff check
language: system
types: [python]
exclude: ^lib/crewai/
- id: ruff-format
name: ruff-format
entry: uv run ruff format
language: system
types: [python]
exclude: ^lib/crewai/
- id: mypy
name: mypy
entry: uv run mypy
language: system
types: [python]
exclude: ^tests/
exclude: ^lib/crewai/

View File

@@ -40,6 +40,16 @@
]
},
"tabs": [
{
"tab": "Home",
"icon": "house",
"groups": [
{
"group": "Welcome",
"pages": ["index"]
}
]
},
{
"tab": "Documentation",
"icon": "book-open",
@@ -225,9 +235,9 @@
"group": "Integrations",
"icon": "plug",
"pages": [
"en/tools/tool-integrations/overview",
"en/tools/tool-integrations/bedrockinvokeagenttool",
"en/tools/tool-integrations/crewaiautomationtool"
"en/tools/integration/overview",
"en/tools/integration/bedrockinvokeagenttool",
"en/tools/integration/crewaiautomationtool"
]
},
{
@@ -301,15 +311,27 @@
"pages": ["en/enterprise/introduction"]
},
{
"group": "Features",
"group": "Build",
"pages": [
"en/enterprise/features/automations",
"en/enterprise/features/crew-studio",
"en/enterprise/features/marketplace",
"en/enterprise/features/agent-repositories",
"en/enterprise/features/tools-and-integrations"
]
},
{
"group": "Operate",
"pages": [
"en/enterprise/features/rbac",
"en/enterprise/features/tool-repository",
"en/enterprise/features/webhook-streaming",
"en/enterprise/features/traces",
"en/enterprise/features/hallucination-guardrail",
"en/enterprise/features/integrations",
"en/enterprise/features/agent-repositories"
"en/enterprise/features/webhook-streaming",
"en/enterprise/features/hallucination-guardrail"
]
},
{
"group": "Manage",
"pages": [
"en/enterprise/features/rbac"
]
},
{
@@ -333,6 +355,22 @@
"en/enterprise/integrations/zendesk"
]
},
{
"group": "Triggers",
"pages": [
"en/enterprise/guides/automation-triggers",
"en/enterprise/guides/gmail-trigger",
"en/enterprise/guides/google-calendar-trigger",
"en/enterprise/guides/google-drive-trigger",
"en/enterprise/guides/outlook-trigger",
"en/enterprise/guides/onedrive-trigger",
"en/enterprise/guides/microsoft-teams-trigger",
"en/enterprise/guides/slack-trigger",
"en/enterprise/guides/hubspot-trigger",
"en/enterprise/guides/salesforce-trigger",
"en/enterprise/guides/zapier-trigger"
]
},
{
"group": "How-To Guides",
"pages": [
@@ -342,15 +380,11 @@
"en/enterprise/guides/update-crew",
"en/enterprise/guides/enable-crew-studio",
"en/enterprise/guides/azure-openai-setup",
"en/enterprise/guides/automation-triggers",
"en/enterprise/guides/hubspot-trigger",
"en/enterprise/guides/tool-repository",
"en/enterprise/guides/react-component-export",
"en/enterprise/guides/salesforce-trigger",
"en/enterprise/guides/slack-trigger",
"en/enterprise/guides/team-management",
"en/enterprise/guides/webhook-automation",
"en/enterprise/guides/human-in-the-loop",
"en/enterprise/guides/zapier-trigger"
"en/enterprise/guides/webhook-automation"
]
},
{
@@ -423,6 +457,16 @@
]
},
"tabs": [
{
"tab": "Início",
"icon": "house",
"groups": [
{
"group": "Bem-vindo",
"pages": ["pt-BR/index"]
}
]
},
{
"tab": "Documentação",
"icon": "book-open",
@@ -598,12 +642,12 @@
]
},
{
"group": "Integrações",
"group": "Integrations",
"icon": "plug",
"pages": [
"pt-BR/tools/tool-integrations/overview",
"pt-BR/tools/tool-integrations/bedrockinvokeagenttool",
"pt-BR/tools/tool-integrations/crewaiautomationtool"
"pt-BR/tools/integration/overview",
"pt-BR/tools/integration/bedrockinvokeagenttool",
"pt-BR/tools/integration/crewaiautomationtool"
]
},
{
@@ -675,14 +719,27 @@
"pages": ["pt-BR/enterprise/introduction"]
},
{
"group": "Funcionalidades",
"group": "Construir",
"pages": [
"pt-BR/enterprise/features/automations",
"pt-BR/enterprise/features/crew-studio",
"pt-BR/enterprise/features/marketplace",
"pt-BR/enterprise/features/agent-repositories",
"pt-BR/enterprise/features/tools-and-integrations"
]
},
{
"group": "Operar",
"pages": [
"pt-BR/enterprise/features/rbac",
"pt-BR/enterprise/features/tool-repository",
"pt-BR/enterprise/features/webhook-streaming",
"pt-BR/enterprise/features/traces",
"pt-BR/enterprise/features/hallucination-guardrail",
"pt-BR/enterprise/features/integrations"
"pt-BR/enterprise/features/webhook-streaming",
"pt-BR/enterprise/features/hallucination-guardrail"
]
},
{
"group": "Gerenciar",
"pages": [
"pt-BR/enterprise/features/rbac"
]
},
{
@@ -715,14 +772,20 @@
"pt-BR/enterprise/guides/update-crew",
"pt-BR/enterprise/guides/enable-crew-studio",
"pt-BR/enterprise/guides/azure-openai-setup",
"pt-BR/enterprise/guides/automation-triggers",
"pt-BR/enterprise/guides/hubspot-trigger",
"pt-BR/enterprise/guides/tool-repository",
"pt-BR/enterprise/guides/react-component-export",
"pt-BR/enterprise/guides/salesforce-trigger",
"pt-BR/enterprise/guides/slack-trigger",
"pt-BR/enterprise/guides/team-management",
"pt-BR/enterprise/guides/webhook-automation",
"pt-BR/enterprise/guides/human-in-the-loop",
"pt-BR/enterprise/guides/webhook-automation"
]
},
{
"group": "Triggers",
"pages": [
"pt-BR/enterprise/guides/automation-triggers",
"pt-BR/enterprise/guides/slack-trigger",
"pt-BR/enterprise/guides/hubspot-trigger",
"pt-BR/enterprise/guides/salesforce-trigger",
"pt-BR/enterprise/guides/zapier-trigger"
]
},
@@ -798,6 +861,16 @@
]
},
"tabs": [
{
"tab": "홈",
"icon": "house",
"groups": [
{
"group": "환영합니다",
"pages": ["ko/index"]
}
]
},
{
"tab": "기술 문서",
"icon": "book-open",
@@ -981,12 +1054,12 @@
]
},
{
"group": "통합",
"group": "Integrations",
"icon": "plug",
"pages": [
"ko/tools/tool-integrations/overview",
"ko/tools/tool-integrations/bedrockinvokeagenttool",
"ko/tools/tool-integrations/crewaiautomationtool"
"ko/tools/integration/overview",
"ko/tools/integration/bedrockinvokeagenttool",
"ko/tools/integration/crewaiautomationtool"
]
},
{
@@ -1059,15 +1132,27 @@
"pages": ["ko/enterprise/introduction"]
},
{
"group": "특징",
"group": "빌드",
"pages": [
"ko/enterprise/features/automations",
"ko/enterprise/features/crew-studio",
"ko/enterprise/features/marketplace",
"ko/enterprise/features/agent-repositories",
"ko/enterprise/features/tools-and-integrations"
]
},
{
"group": "운영",
"pages": [
"ko/enterprise/features/rbac",
"ko/enterprise/features/tool-repository",
"ko/enterprise/features/webhook-streaming",
"ko/enterprise/features/traces",
"ko/enterprise/features/hallucination-guardrail",
"ko/enterprise/features/integrations",
"ko/enterprise/features/agent-repositories"
"ko/enterprise/features/webhook-streaming",
"ko/enterprise/features/hallucination-guardrail"
]
},
{
"group": "관리",
"pages": [
"ko/enterprise/features/rbac"
]
},
{
@@ -1100,14 +1185,20 @@
"ko/enterprise/guides/update-crew",
"ko/enterprise/guides/enable-crew-studio",
"ko/enterprise/guides/azure-openai-setup",
"ko/enterprise/guides/automation-triggers",
"ko/enterprise/guides/hubspot-trigger",
"ko/enterprise/guides/tool-repository",
"ko/enterprise/guides/react-component-export",
"ko/enterprise/guides/salesforce-trigger",
"ko/enterprise/guides/slack-trigger",
"ko/enterprise/guides/team-management",
"ko/enterprise/guides/webhook-automation",
"ko/enterprise/guides/human-in-the-loop",
"ko/enterprise/guides/webhook-automation"
]
},
{
"group": "트리거",
"pages": [
"ko/enterprise/guides/automation-triggers",
"ko/enterprise/guides/slack-trigger",
"ko/enterprise/guides/hubspot-trigger",
"ko/enterprise/guides/salesforce-trigger",
"ko/enterprise/guides/zapier-trigger"
]
},

View File

@@ -273,14 +273,12 @@ You must be authenticated to CrewAI Enterprise to use these organization managem
Watch this video tutorial for a step-by-step demonstration of deploying your crew to [CrewAI Enterprise](http://app.crewai.com) using the CLI.
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/3EqSV-CYDZA"
title="CrewAI Deployment Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
### 11. Login

View File

@@ -875,14 +875,13 @@ By exploring these examples, you can gain insights into how to leverage CrewAI F
Also, check out our YouTube video on how to use flows in CrewAI below!
<iframe
width="560"
height="315"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/MTb5my6VOT8"
title="YouTube video player"
frameborder="0"
title="CrewAI Flows overview"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
referrerPolicy="strict-origin-when-cross-origin"
allowFullScreen
></iframe>
## Running Flows

View File

@@ -897,14 +897,13 @@ except RuntimeError as e:
Check out the video below to see how to use structured outputs in CrewAI:
<iframe
width="560"
height="315"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="YouTube video player"
frameborder="0"
title="Structured outputs in CrewAI"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
referrerPolicy="strict-origin-when-cross-origin"
allowFullScreen
></iframe>
## Conclusion

View File

@@ -1,12 +1,16 @@
---
title: 'Agent Repositories'
description: 'Learn how to use Agent Repositories to share and reuse your agents across teams and projects'
icon: 'database'
icon: 'people-group'
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.
<Frame>
![Agent Repositories](/images/enterprise/agent-repositories.png)
</Frame>
## Benefits of Agent Repositories
- **Standardization**: Maintain consistent agent definitions across your organization
@@ -14,25 +18,21 @@ Agent Repositories allow enterprise users to store, share, and reuse agent defin
- **Governance**: Implement organization-wide policies for agent configurations
- **Collaboration**: Enable teams to share and build upon each other's work
## Using Agent Repositories
### Prerequisites
## Creating and Use Agent Repositories
1. You must have an account at CrewAI, try the [free plan](https://app.crewai.com).
2. You need to be authenticated using the CrewAI CLI.
3. If you have more than one organization, make sure you are switched to the correct organization using the CLI command:
2. Create agents with specific roles and goals for your workflows.
3. Configure tools and capabilities for each specialized assistant.
4. Deploy agents across projects via visual interface or API integration.
```bash
crewai org switch <org_id>
```
<Frame>
![Agent Repositories](/images/enterprise/create-agent-repository.png)
</Frame>
### Creating and Managing Agents in Repositories
To create and manage agents in repositories,Enterprise Dashboard.
### Loading Agents from Repositories
You can load agents from repositories in your code using the `from_repository` parameter:
You can load agents from repositories in your code using the `from_repository` parameter to run locally:
```python
from crewai import Agent
@@ -42,7 +42,6 @@ from crewai import Agent
researcher = Agent(
from_repository="market-research-agent"
)
```
### Overriding Repository Settings

View File

@@ -0,0 +1,106 @@
---
title: Automations
description: "Manage, deploy, and monitor your live crews (automations) in one place."
icon: "rocket"
mode: "wide"
---
## Overview
Automations is the live operations hub for your deployed crews. Use it to deploy from GitHub or a ZIP file, manage environment variables, redeploy when needed, and monitor the status of each automation.
<Frame>
![Automations Overview](/images/enterprise/automations-overview.png)
</Frame>
## Deployment Methods
### Deploy from GitHub
Use this for versioncontrolled projects and continuous deployment.
<Steps>
<Step title="Connect GitHub">
Click <b>Configure GitHub</b> and authorize access.
</Step>
<Step title="Select Repository & Branch">
Choose the <b>Repository</b> and <b>Branch</b> you want to deploy from.
</Step>
<Step title="Enable Autodeploy (optional)">
Turn on <b>Automatically deploy new commits</b> to ship updates on every push.
</Step>
<Step title="Add Environment Variables">
Add secrets individually or use <b>Bulk View</b> for multiple variables.
</Step>
<Step title="Deploy">
Click <b>Deploy</b> to create your live automation.
</Step>
</Steps>
<Frame>
![GitHub Deployment](/images/enterprise/deploy-from-github.png)
</Frame>
### Deploy from ZIP
Ship quickly without Git—upload a compressed package of your project.
<Steps>
<Step title="Choose File">
Select the ZIP archive from your computer.
</Step>
<Step title="Add Environment Variables">
Provide any required variables or keys.
</Step>
<Step title="Deploy">
Click <b>Deploy</b> to create your live automation.
</Step>
</Steps>
<Frame>
![ZIP Deployment](/images/enterprise/deploy-from-zip.png)
</Frame>
## Automations Dashboard
The table lists all live automations with key details:
- **CREW**: Automation name
- **STATUS**: Online / Failed / In Progress
- **URL**: Endpoint for kickoff/status
- **TOKEN**: Automation token
- **ACTIONS**: Redeploy, delete, and more
Use the topright controls to filter and search:
- Search by name
- Filter by <b>Status</b>
- Filter by <b>Source</b> (GitHub / Studio / ZIP)
Once deployed, you can view the automation details and have the **Options** dropdown menu to `chat with this crew`, `Export React Component` and `Export as MCP`.
<Frame>
![Automations Table](/images/enterprise/automations-table.png)
</Frame>
## Best Practices
- Prefer GitHub deployments for version control and CI/CD
- Use redeploy to roll forward after code or config updates or set it to auto-deploy on every push
## Related
<CardGroup cols={3}>
<Card title="Deploy a Crew" href="/en/enterprise/guides/deploy-crew" icon="rocket">
Deploy a Crew from GitHub or ZIP file.
</Card>
<Card title="Automation Triggers" href="/en/enterprise/guides/automation-triggers" icon="trigger">
Trigger automations via webhooks or API.
</Card>
<Card title="Webhook Automation" href="/en/enterprise/guides/webhook-automation" icon="webhook">
Stream real-time events and updates to your systems.
</Card>
</CardGroup>

View File

@@ -0,0 +1,90 @@
---
title: Crew Studio
description: "Build new automations with AI assistance, a visual editor, and integrated testing."
icon: "pencil"
mode: "wide"
---
## Overview
Crew Studio is an interactive, AIassisted workspace for creating new automations from scratch using natural language and a visual workflow editor.
<Frame>
![Crew Studio Overview](/images/enterprise/crew-studio-overview.png)
</Frame>
## Promptbased Creation
- Describe the automation you want; the AI generates agents, tasks, and tools.
- Use voice input via the microphone icon if preferred.
- Start from builtin prompts for common use cases.
<Frame>
![Prompt Builder](/images/enterprise/crew-studio-prompt.png)
</Frame>
## Visual Editor
The canvas reflects the workflow as nodes and edges with three supporting panels that allow you to configure the workflow easily without writing code; a.k.a. "**vibe coding AI Agents**".
You can use the drag-and-drop functionality to add agents, tasks, and tools to the canvas or you can use the chat section to build the agents. Both approaches share state and can be used interchangeably.
- **AI Thoughts (left)**: streaming reasoning as the workflow is designed
- **Canvas (center)**: agents and tasks as connected nodes
- **Resources (right)**: draganddrop components (agents, tasks, tools)
<Frame>
![Visual Canvas](/images/enterprise/crew-studio-canvas.png)
</Frame>
## Execution & Debugging
Switch to the <b>Execution</b> view to run and observe the workflow:
- Event timeline
- Detailed logs (Details, Messages, Raw Data)
- Local test runs before publishing
<Frame>
![Execution View](/images/enterprise/crew-studio-execution.png)
</Frame>
## Publish & Export
- <b>Publish</b> to deploy a live automation
- <b>Download</b> source as a ZIP for local development or customization
<Frame>
![Publish & Download](/images/enterprise/crew-studio-publish.png)
</Frame>
Once published, you can view the automation details and have the **Options** dropdown menu to `chat with this crew`, `Export React Component` and `Export as MCP`.
<Frame>
![Published Automation](/images/enterprise/crew-studio-published.png)
</Frame>
## Best Practices
- Iterate quickly in Studio; publish only when stable
- Keep tools constrained to minimum permissions needed
- Use Traces to validate behavior and performance
## Related
<CardGroup cols={4}>
<Card title="Enable Crew Studio" href="/en/enterprise/guides/enable-crew-studio" icon="palette">
Enable Crew Studio.
</Card>
<Card title="Build a Crew" href="/en/enterprise/guides/build-crew" icon="paintbrush">
Build a Crew.
</Card>
<Card title="Deploy a Crew" href="/en/enterprise/guides/deploy-crew" icon="rocket">
Deploy a Crew from GitHub or ZIP file.
</Card>
<Card title="Export a React Component" href="/en/enterprise/guides/react-component-export" icon="download">
Export a React Component.
</Card>
</CardGroup>

View File

@@ -1,186 +0,0 @@
---
title: Integrations
description: "Connected applications for your agents to take actions."
icon: "plug"
mode: "wide"
---
## Overview
Enable your agents to authenticate with any OAuth enabled provider and take actions. From Salesforce and HubSpot to Google and GitHub, we've got you covered with 16+ integrated services.
<Frame>
![Integrations](/images/enterprise/crew_connectors.png)
</Frame>
## Supported Integrations
### **Communication & Collaboration**
- **Gmail** - Manage emails and drafts
- **Slack** - Workspace notifications and alerts
- **Microsoft** - Office 365 and Teams integration
### **Project Management**
- **Jira** - Issue tracking and project management
- **ClickUp** - Task and productivity management
- **Asana** - Team task and project coordination
- **Notion** - Page and database management
- **Linear** - Software project and bug tracking
- **GitHub** - Repository and issue management
### **Customer Relationship Management**
- **Salesforce** - CRM account and opportunity management
- **HubSpot** - Sales pipeline and contact management
- **Zendesk** - Customer support ticket management
### **Business & Finance**
- **Stripe** - Payment processing and customer management
- **Shopify** - E-commerce store and product management
### **Productivity & Storage**
- **Google Sheets** - Spreadsheet data synchronization
- **Google Calendar** - Event and schedule management
- **Box** - File storage and document management
and more to come!
## Prerequisites
Before using Authentication Integrations, ensure you have:
- A [CrewAI Enterprise](https://app.crewai.com) account. You can get started with a free trial.
## Setting Up Integrations
### 1. Connect Your Account
1. Navigate to [CrewAI Enterprise](https://app.crewai.com)
2. Go to **Integrations** tab - https://app.crewai.com/crewai_plus/connectors
3. Click **Connect** on your desired service from the Authentication Integrations section
4. Complete the OAuth authentication flow
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
<Frame>
![Integrations](/images/enterprise/enterprise_action_auth_token.png)
</Frame>
### 2. Install Integration Tools
All you need is the latest version of `crewai-tools` package.
```bash
uv add crewai-tools
```
## Usage Examples
### Basic Usage
<Tip>
All the services you are authenticated into will be available as tools. So all you need to do is add the `CrewaiEnterpriseTools` to your agent and you are good to go.
</Tip>
```python
from crewai import Agent, Task, Crew
from crewai_tools import CrewaiEnterpriseTools
# Get enterprise tools (Gmail tool will be included)
enterprise_tools = CrewaiEnterpriseTools(
enterprise_token="your_enterprise_token"
)
# print the tools
print(enterprise_tools)
# Create an agent with Gmail capabilities
email_agent = Agent(
role="Email Manager",
goal="Manage and organize email communications",
backstory="An AI assistant specialized in email management and communication.",
tools=enterprise_tools
)
# Task to send an email
email_task = Task(
description="Draft and send a follow-up email to john@example.com about the project update",
agent=email_agent,
expected_output="Confirmation that email was sent successfully"
)
# Run the task
crew = Crew(
agents=[email_agent],
tasks=[email_task]
)
# Run the crew
crew.kickoff()
```
### Filtering Tools
```python
from crewai_tools import CrewaiEnterpriseTools
enterprise_tools = CrewaiEnterpriseTools(
actions_list=["gmail_find_email"] # only gmail_find_email tool will be available
)
gmail_tool = enterprise_tools["gmail_find_email"]
gmail_agent = Agent(
role="Gmail Manager",
goal="Manage gmail communications and notifications",
backstory="An AI assistant that helps coordinate gmail communications.",
tools=[gmail_tool]
)
notification_task = Task(
description="Find the email from john@example.com",
agent=gmail_agent,
expected_output="Email found from john@example.com"
)
# Run the task
crew = Crew(
agents=[slack_agent],
tasks=[notification_task]
)
```
## Best Practices
### Security
- **Principle of Least Privilege**: Only grant the minimum permissions required for your agents' tasks
- **Regular Audits**: Periodically review connected integrations and their permissions
- **Secure Credentials**: Never hardcode credentials; use CrewAI's secure authentication flow
### Filtering Tools
On a deployed crew, you can specify which actions are avialbel for each integration from the settings page of the service you connected to.
<Frame>
![Integrations](/images/enterprise/filtering_enterprise_action_tools.png)
</Frame>
### Scoped Deployments for multi user organizations
You can deploy your crew and scope each integration to a specific user. For example, a crew that connects to google can use a specific user's gmail account.
<Tip>
This is useful for multi user organizations where you want to scope the integration to a specific user.
</Tip>
Use the `user_bearer_token` to scope the integration to a specific user so that when the crew is kicked off, it will use the user's bearer token to authenticate with the integration. If user is not logged in, then the crew will not use any connected integrations. Use the default bearer token to authenticate with the integrations thats deployed with the crew.
<Frame>
![Integrations](/images/enterprise/user_bearer_token.png)
</Frame>
### Getting Help
<Card title="Need Help?" icon="headset" href="mailto:support@crewai.com">
Contact our support team for assistance with integration setup or troubleshooting.
</Card>

View File

@@ -0,0 +1,48 @@
---
title: Marketplace
description: "Discover, install, and govern reusable assets for your enterprise crews."
icon: "store"
mode: "wide"
---
## Overview
The Marketplace provides a curated surface for discovering integrations, internal tools, and reusable assets that accelerate crew development.
<Frame>
![Marketplace Overview](/images/enterprise/marketplace-overview.png)
</Frame>
## Discoverability
- Browse by category and capability
- Search for assets by name or keyword
## Install & Enable
- Oneclick install for approved assets
- Enable or disable per crew as needed
- Configure required environment variables and scopes
<Frame>
![Install & Configure](/images/enterprise/marketplace-install.png)
</Frame>
You can also download the templates directly from the marketplace by clicking on the `Download` button so
you can use them locally or refine them to your needs.
## Related
<CardGroup cols={3}>
<Card title="Tools & Integrations" href="/en/enterprise/features/tools-and-integrations" icon="wrench">
Connect external apps and manage internal tools your agents can use.
</Card>
<Card title="Tool Repository" href="/en/enterprise/features/tool-repository" icon="toolbox">
Publish and install tools to enhance your crews' capabilities.
</Card>
<Card title="Agents Repository" href="/en/enterprise/features/agent-repositories" icon="people-group">
Store, share, and reuse agent definitions across teams and projects.
</Card>
</CardGroup>

View File

@@ -0,0 +1,250 @@
---
title: Tools & Integrations
description: "Connect external apps and manage internal tools your agents can use."
icon: "wrench"
mode: "wide"
---
## Overview
Tools & Integrations is the central hub for connecting thirdparty apps and managing internal tools that your agents can use at runtime.
<Frame>
![Tools & Integrations Overview](/images/enterprise/crew_connectors.png)
</Frame>
## Explore
<Tabs>
<Tab title="Integrations" icon="plug">
## Agent Apps (Integrations)
Connect enterprisegrade applications (e.g., Gmail, Google Drive, HubSpot, Slack) via OAuth to enable agent actions.
<Steps>
<Step title="Connect">
Click <b>Connect</b> on an app and complete OAuth.
</Step>
<Step title="Configure">
Optionally adjust scopes, triggers, and action availability.
</Step>
<Step title="Use in Agents">
Connected services become available as tools for your agents.
</Step>
</Steps>
<Frame>
![Integrations Grid](/images/enterprise/agent-apps.png)
</Frame>
### Connect your Account
1. Go to <Link href="https://app.crewai.com/crewai_plus/connectors">Integrations</Link>
2. Click <b>Connect</b> on the desired service
3. Complete the OAuth flow and grant scopes
4. Copy your Enterprise Token from the <b>Integration</b> tab
<Frame>
![Enterprise Token](/images/enterprise/enterprise_action_auth_token.png)
</Frame>
### Install Integration Tools
To use the integrations locally, you need to install the latest `crewai-tools` package.
```bash
uv add crewai-tools
```
### Usage Example
<Tip>
All services you have authenticated will be available as tools. Add `CrewaiEnterpriseTools` to your agent and youre set.
</Tip>
```python
from crewai import Agent, Task, Crew
from crewai_tools import CrewaiEnterpriseTools
# Get enterprise tools (Gmail tool will be included)
enterprise_tools = CrewaiEnterpriseTools(
enterprise_token="your_enterprise_token"
)
# print the tools
print(enterprise_tools)
# Create an agent with Gmail capabilities
email_agent = Agent(
role="Email Manager",
goal="Manage and organize email communications",
backstory="An AI assistant specialized in email management and communication.",
tools=enterprise_tools
)
# Task to send an email
email_task = Task(
description="Draft and send a follow-up email to john@example.com about the project update",
agent=email_agent,
expected_output="Confirmation that email was sent successfully"
)
# Run the task
crew = Crew(
agents=[email_agent],
tasks=[email_task]
)
# Run the crew
crew.kickoff()
```
### Filtering Tools
```python
from crewai_tools import CrewaiEnterpriseTools
enterprise_tools = CrewaiEnterpriseTools(
actions_list=["gmail_find_email"] # only gmail_find_email tool will be available
)
gmail_tool = enterprise_tools["gmail_find_email"]
gmail_agent = Agent(
role="Gmail Manager",
goal="Manage gmail communications and notifications",
backstory="An AI assistant that helps coordinate gmail communications.",
tools=[gmail_tool]
)
notification_task = Task(
description="Find the email from john@example.com",
agent=gmail_agent,
expected_output="Email found from john@example.com"
)
crew = Crew(
agents=[gmail_agent],
tasks=[notification_task]
)
```
On a deployed crew, you can specify which actions are available for each integration from the service settings page.
<Frame>
![Filter Actions](/images/enterprise/filtering_enterprise_action_tools.png)
</Frame>
### Scoped Deployments (multiuser orgs)
You can scope each integration to a specific user. For example, a crew that connects to Google can use a specific users Gmail account.
<Tip>
Useful when different teams/users must keep data access separated.
</Tip>
Use the `user_bearer_token` to scope authentication to the requesting user. If the user isnt logged in, the crew wont use connected integrations. Otherwise it falls back to the default bearer token configured for the deployment.
<Frame>
![User Bearer Token](/images/enterprise/user_bearer_token.png)
</Frame>
<div id="catalog"></div>
### Catalog
#### Communication & Collaboration
- Gmail — Manage emails and drafts
- Slack — Workspace notifications and alerts
- Microsoft — Office 365 and Teams integration
#### Project Management
- Jira — Issue tracking and project management
- ClickUp — Task and productivity management
- Asana — Team task and project coordination
- Notion — Page and database management
- Linear — Software project and bug tracking
- GitHub — Repository and issue management
#### Customer Relationship Management
- Salesforce — CRM account and opportunity management
- HubSpot — Sales pipeline and contact management
- Zendesk — Customer support ticket management
#### Business & Finance
- Stripe — Payment processing and customer management
- Shopify — Ecommerce store and product management
#### Productivity & Storage
- Google Sheets — Spreadsheet data synchronization
- Google Calendar — Event and schedule management
- Box — File storage and document management
…and more to come!
</Tab>
<Tab title="Internal Tools" icon="toolbox">
## Internal Tools
Create custom tools locally, publish them on CrewAI Enterprise Tool Repository and use them in your agents.
<Tip>
Before running the commands below, make sure you log in to your CrewAI Enterprise account by running this command:
```bash
crewai login
```
</Tip>
<Frame>
![Internal Tool Detail](/images/enterprise/tools-integrations-internal.png)
</Frame>
<Steps>
<Step title="Create">
Create a new tool locally.
```bash
crewai tool create your-tool
```
</Step>
<Step title="Publish">
Publish the tool to the CrewAI Enterprise Tool Repository.
```bash
crewai tool publish
```
</Step>
<Step title="Install">
Install the tool from the CrewAI Enterprise Tool Repository.
```bash
crewai tool install your-tool
```
</Step>
</Steps>
Manage:
- Name and description
- Visibility (Private / Public)
- Required environment variables
- Version history and downloads
- Team and role access
<Frame>
![Internal Tool Detail](/images/enterprise/tool-configs.png)
</Frame>
</Tab>
</Tabs>
## Related
<CardGroup cols={2}>
<Card title="Tool Repository" href="/en/enterprise/features/tool-repository" icon="toolbox">
Create, publish, and version custom tools for your organization.
</Card>
<Card title="Webhook Automation" href="/en/enterprise/guides/webhook-automation" icon="bolt">
Automate workflows and integrate with external platforms and services.
</Card>
</CardGroup>

View File

@@ -65,99 +65,104 @@ CrewAI supports both system events and custom events in Enterprise Event Streami
### Flow Events:
- flow_created
- flow_started
- flow_finished
- flow_plot
- method_execution_started
- method_execution_finished
- method_execution_failed
- `flow_created`
- `flow_started`
- `flow_finished`
- `flow_plot`
- `method_execution_started`
- `method_execution_finished`
- `method_execution_failed`
### 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
- `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
- `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
- `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
- `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_call_started`
- `llm_call_completed`
- `llm_call_failed`
- `llm_stream_chunk`
### LLM Guardrail Events:
- llm_guardrail_started
- llm_guardrail_completed
- `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
- `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
- `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
- `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 for the full list of events.
You can emit your own custom events, and they will be delivered through the webhook stream alongside system events.
<CardGroup>
<Card title="GitHub" icon="github" href="https://github.com/crewAIInc/crewAI/tree/main/src/crewai/utilities/events">
Full list of events
</Card>
<Card title="Need Help?" icon="headset" href="mailto:support@crewai.com">
Contact our support team for assistance with webhook integration or troubleshooting.
</Card>
</Card>
</CardGroup>

View File

@@ -1,22 +1,72 @@
---
title: "Automation Triggers"
description: "Automatically execute your CrewAI workflows when specific events occur in connected integrations"
icon: "bolt"
title: "Triggers Overview"
description: "Understand how CrewAI Enterprise triggers work, how to manage them, and where to find integration-specific playbooks"
icon: "face-smile"
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.
CrewAI Enterprise triggers connect your automations to real-time events across the tools your teams already use. Instead of polling systems or relying on manual kickoffs, triggers listen for changes—new emails, calendar updates, CRM status changes—and immediately launch the crew or flow you specify.
## Overview
<Frame>
![Automation Triggers Overview](/images/enterprise/crew_connectors.png)
</Frame>
With automation triggers, you can:
### Integration Playbooks
Deep-dive guides walk through setup and sample workflows for each integration:
<CardGroup cols={2}>
<Card title="Gmail Trigger" icon="envelope">
<a href="/en/enterprise/guides/gmail-trigger">Enable crews when emails arrive or threads update.</a>
</Card>
<Card title="Google Calendar Trigger" icon="calendar-days">
<a href="/en/enterprise/guides/google-calendar-trigger">React to calendar events as they are created, updated, or cancelled.</a>
</Card>
<Card title="Google Drive Trigger" icon="folder-open">
<a href="/en/enterprise/guides/google-drive-trigger">Handle Drive file uploads, edits, and deletions.</a>
</Card>
<Card title="Outlook Trigger" icon="envelope-open">
<a href="/en/enterprise/guides/outlook-trigger">Automate responses to new Outlook messages and calendar updates.</a>
</Card>
<Card title="OneDrive Trigger" icon="cloud">
<a href="/en/enterprise/guides/onedrive-trigger">Audit file activity and sharing changes in OneDrive.</a>
</Card>
<Card title="Microsoft Teams Trigger" icon="comments">
<a href="/en/enterprise/guides/microsoft-teams-trigger">Kick off workflows when new Teams chats start.</a>
</Card>
<Card title="HubSpot Trigger" icon="hubspot">
<a href="/en/enterprise/guides/hubspot-trigger">Launch automations from HubSpot workflows and lifecycle events.</a>
</Card>
<Card title="Salesforce Trigger" icon="salesforce">
<a href="/en/enterprise/guides/salesforce-trigger">Connect Salesforce processes to CrewAI for CRM automation.</a>
</Card>
<Card title="Slack Trigger" icon="slack">
<a href="/en/enterprise/guides/slack-trigger">Start crews directly from Slack slash commands.</a>
</Card>
<Card title="Zapier Trigger" icon="bolt">
<a href="/en/enterprise/guides/zapier-trigger">Bridge CrewAI with thousands of Zapier-supported apps.</a>
</Card>
</CardGroup>
## Trigger Capabilities
With 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
## Managing Triggers
### Viewing Available Triggers
@@ -25,7 +75,7 @@ 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>
<Frame caption="Example of available automation triggers for a Gmail deployment">
<img src="/images/enterprise/list-available-triggers.png" alt="List of available automation triggers" />
</Frame>
@@ -35,7 +85,7 @@ This view shows all the trigger integrations available for your deployment, alon
Each trigger can be easily enabled or disabled using the toggle switch:
<Frame>
<Frame caption="Enable or disable triggers with toggle">
<img src="/images/enterprise/trigger-selected.png" alt="Enable or disable triggers with toggle" />
</Frame>
@@ -48,24 +98,46 @@ Simply click the toggle to change the trigger state. Changes take effect immedia
Track the performance and history of your triggered executions:
<Frame>
<Frame caption="List of executions triggered by automation">
<img src="/images/enterprise/list-executions.png" alt="List of executions triggered by automation" />
</Frame>
## Building Automation
## Building Trigger-Driven Automations
Before building your automation, it's helpful to understand the structure of trigger payloads that your crews and flows will receive.
### Payload Samples Repository
### Trigger Setup Checklist
We maintain a comprehensive repository with sample payloads from various trigger sources to help you build and test your automations:
Before wiring a trigger into production, make sure you:
**🔗 [CrewAI Enterprise Trigger Payload Samples](https://github.com/crewAIInc/crewai-enterprise-trigger-payload-samples)**
- Connect the integration under **Tools & Integrations** and complete any OAuth or API key steps
- Enable the trigger toggle on the deployment that should respond to events
- Provide any required environment variables (API tokens, tenant IDs, shared secrets)
- Create or update tasks that can parse the incoming payload within the first crew task or flow step
- Decide whether to pass trigger context automatically using `allow_crewai_trigger_context`
- Set up monitoring—webhook logs, CrewAI execution history, and optional external alerting
### Payload & Crew Examples Repository
We maintain a comprehensive repository with end-to-end trigger examples to help you build and test your automations:
This repository contains:
- **Real payload examples** from different trigger sources (Gmail, Google Drive, etc.)
- **Payload structure documentation** showing the format and available fields
- **Realistic payload samples** for every supported trigger integration
- **Ready-to-run crew implementations** that parse each payload and turn it into a business workflow
- **Multiple scenarios per integration** (e.g., new events, updates, deletions) so you can match the shape of your data
| Integration | When it fires | Payload Samples | Crew Examples |
| :-- | :-- | :-- | :-- |
| Gmail | New messages, thread updates | [New alerts, thread updates](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/gmail) | [`new-email-crew.py`, `gmail-alert-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/gmail) |
| Google Calendar | Event created / updated / started / ended / cancelled | [Event lifecycle payloads](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_calendar) | [`calendar-event-crew.py`, `calendar-meeting-crew.py`, `calendar-working-location-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_calendar) |
| Google Drive | File created / updated / deleted | [File lifecycle payloads](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_drive) | [`drive-file-crew.py`, `drive-file-deletion-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_drive) |
| Outlook | New email, calendar event removed | [Outlook payloads](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/outlook) | [`outlook-message-crew.py`, `outlook-event-removal-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/outlook) |
| OneDrive | File operations (create, update, share, delete) | [OneDrive payloads](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/onedrive) | [`onedrive-file-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/onedrive) |
| HubSpot | Record created / updated (contacts, companies, deals) | [HubSpot payloads](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/hubspot) | [`hubspot-company-crew.py`, `hubspot-contact-crew.py`, `hubspot-record-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/hubspot) |
| Microsoft Teams | Chat thread created | [Teams chat payload](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/microsoft-teams) | [`teams-chat-created-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/microsoft-teams) |
Use these samples to understand payload shape, copy the matching crew, and then replace the test payload with your live trigger data.
### Triggers with Crew
@@ -177,3 +249,7 @@ def delegate_to_crew(self, crewai_trigger_payload: dict = None):
- 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.
<Card title="CrewAI Enterprise Trigger Examples" href="https://github.com/crewAIInc/crewai-enterprise-trigger-examples" icon="github">
Check them out on GitHub!
</Card>

View File

@@ -12,14 +12,12 @@ mode: "wide"
## Getting Started
<iframe
width="100%"
height="400"
src="https://www.youtube.com/embed/-kSOTtYzgEw"
title="Building Crews with CrewAI CLI"
frameborder="0"
style={{ borderRadius: '10px' }}
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/-kSOTtYzgEw"
title="Building crews with the CrewAI CLI"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
### Installation and Setup

View File

@@ -0,0 +1,85 @@
---
title: "Gmail Trigger"
description: "Trigger automations when Gmail events occur (e.g., new emails, labels)."
icon: "envelope"
mode: "wide"
---
## Overview
Use the Gmail Trigger to kick off your deployed crews when Gmail events happen in connected accounts, such as receiving a new email or messages matching a label/filter.
<Tip>
Make sure Gmail is connected in Tools & Integrations and the trigger is enabled for your deployment.
</Tip>
## Enabling the Gmail Trigger
1. Open your deployment in CrewAI Enterprise
2. Go to the **Triggers** tab
3. Locate **Gmail** and switch the toggle to enable
<Frame>
<img src="/images/enterprise/trigger-selected.png" alt="Enable or disable triggers with toggle" />
</Frame>
## Example: Process new emails
When a new email arrives, the Gmail Trigger will send the payload to your Crew or Flow. Below is a Crew example that parses and processes the trigger payload.
```python
@CrewBase
class GmailProcessingCrew:
@agent
def parser(self) -> Agent:
return Agent(
config=self.agents_config['parser'],
)
@task
def parse_gmail_payload(self) -> Task:
return Task(
config=self.tasks_config['parse_gmail_payload'],
agent=self.parser(),
)
@task
def act_on_email(self) -> Task:
return Task(
config=self.tasks_config['act_on_email'],
agent=self.parser(),
)
```
The Gmail payload will be available via the standard context mechanisms. See the payload samples repository for structure and fields.
### Sample payloads & crews
The [CrewAI Enterprise Trigger Examples repository](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/gmail) includes:
- `new-email-payload-1.json` / `new-email-payload-2.json` — production-style new message alerts with matching crews in `new-email-crew.py`
- `thread-updated-sample-1.json` — follow-up messages on an existing thread, processed by `gmail-alert-crew.py`
Use these samples to validate your parsing logic locally before wiring the trigger to your live Gmail accounts.
## Monitoring Executions
Track history and performance of triggered runs:
<Frame>
<img src="/images/enterprise/list-executions.png" alt="List of executions triggered by automation" />
</Frame>
## Payload Reference
See the sample payloads and field descriptions:
<Card title="Gmail samples in Trigger Examples Repo" href="https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/gmail" icon="envelopes-bulk">
Gmail samples in Trigger Examples Repo
</Card>
## Troubleshooting
- Ensure Gmail is connected in Tools & Integrations
- Verify the Gmail Trigger is enabled on the Triggers tab
- Check the execution logs and confirm the payload is passed as `crewai_trigger_payload`

View File

@@ -0,0 +1,65 @@
---
title: "Google Calendar Trigger"
description: "Kick off crews when Google Calendar events are created, updated, or cancelled"
icon: "calendar"
mode: "wide"
---
## Overview
Use the Google Calendar trigger to launch automations whenever calendar events change. Common use cases include briefing a team before a meeting, notifying stakeholders when a critical event is cancelled, or summarizing daily schedules.
<Tip>
Make sure Google Calendar is connected in **Tools & Integrations** and enabled for the deployment you want to automate.
</Tip>
## Enabling the Google Calendar Trigger
1. Open your deployment in CrewAI Enterprise
2. Go to the **Triggers** tab
3. Locate **Google Calendar** and switch the toggle to enable
<Frame>
<img src="/images/enterprise/calendar-trigger.png" alt="Enable or disable triggers with toggle" />
</Frame>
## Example: Summarize meeting details
The snippet below mirrors the `calendar-event-crew.py` example in the trigger repository. It parses the payload, analyses the attendees and timing, and produces a meeting brief for downstream tools.
```python
from calendar_event_crew import GoogleCalendarEventTrigger
crew = GoogleCalendarEventTrigger().crew()
result = crew.kickoff({
"crewai_trigger_payload": calendar_payload,
})
print(result.raw)
```
Use `crewai_trigger_payload` exactly as it is delivered by the trigger so the crew can extract the proper fields.
## Sample payloads & crews
The [Google Calendar examples](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_calendar) show how to handle multiple event types:
- `new-event.json` → standard event creation handled by `calendar-event-crew.py`
- `event-updated.json` / `event-started.json` / `event-ended.json` → in-flight updates processed by `calendar-meeting-crew.py`
- `event-canceled.json` → cancellation workflow that alerts attendees via `calendar-meeting-crew.py`
- Working location events use `calendar-working-location-crew.py` to extract on-site schedules
Each crew transforms raw event metadata (attendees, rooms, working locations) into the summaries your teams need.
## Monitoring Executions
The **Executions** list in the deployment dashboard tracks every triggered run and surfaces payload metadata, output summaries, and errors.
<Frame>
<img src="/images/enterprise/list-executions.png" alt="List of executions triggered by automation" />
</Frame>
## Troubleshooting
- Ensure the correct Google account is connected and the trigger is enabled
- Confirm your workflow handles all-day events (payloads use `start.date` and `end.date` instead of timestamps)
- Check execution logs if reminders or attendee arrays are missing—calendar permissions can limit fields in the payload

View File

@@ -0,0 +1,61 @@
---
title: "Google Drive Trigger"
description: "Respond to Google Drive file events with automated crews"
icon: "folder"
mode: "wide"
---
## Overview
Trigger your automations when files are created, updated, or removed in Google Drive. Typical workflows include summarizing newly uploaded content, enforcing sharing policies, or notifying owners when critical files change.
<Tip>
Connect Google Drive in **Tools & Integrations** and confirm the trigger is enabled for the automation you want to monitor.
</Tip>
## Enabling the Google Drive Trigger
1. Open your deployment in CrewAI Enterprise
2. Go to the **Triggers** tab
3. Locate **Google Drive** and switch the toggle to enable
<Frame>
<img src="/images/enterprise/gdrive-trigger.png" alt="Enable or disable triggers with toggle" />
</Frame>
## Example: Summarize file activity
The drive example crews parse the payload to extract file metadata, evaluate permissions, and publish a summary.
```python
from drive_file_crew import GoogleDriveFileTrigger
crew = GoogleDriveFileTrigger().crew()
crew.kickoff({
"crewai_trigger_payload": drive_payload,
})
```
## Sample payloads & crews
Explore the [Google Drive examples](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_drive) to cover different operations:
- `new-file.json` → new uploads processed by `drive-file-crew.py`
- `updated-file.json` → file edits and metadata changes handled by `drive-file-crew.py`
- `deleted-file.json` → deletion events routed through `drive-file-deletion-crew.py`
Each crew highlights the file name, operation type, owner, permissions, and security considerations so downstream systems can respond appropriately.
## Monitoring Executions
Track history and performance of triggered runs with the **Executions** list in the deployment dashboard.
<Frame>
<img src="/images/enterprise/list-executions.png" alt="List of executions triggered by automation" />
</Frame>
## Troubleshooting
- Verify Google Drive is connected and the trigger toggle is enabled
- If a payload is missing permission data, ensure the connected account has access to the file or folder
- The trigger sends file IDs only; use the Drive API if you need to fetch binary content during the crew run

View File

@@ -51,4 +51,14 @@ This guide provides a step-by-step process to set up HubSpot triggers for CrewAI
## Additional Resources
For more detailed information on available actions and customization options, refer to the [HubSpot Workflows Documentation](https://knowledge.hubspot.com/workflows/create-workflows).
### Sample payloads & crews
You can jump-start development with the [HubSpot examples in the trigger repository](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/hubspot):
- `record-created-contact.json`, `record-updated-contact.json` → contact lifecycle events handled by `hubspot-contact-crew.py`
- `record-created-company.json`, `record-updated-company.json` → company enrichment flows in `hubspot-company-crew.py`
- `record-created-deals.json`, `record-updated-deals.json` → deal pipeline automation in `hubspot-record-crew.py`
Each crew demonstrates how to parse HubSpot record fields, enrich context, and return structured insights.
For more detailed information on available actions and customization options, refer to the [HubSpot Workflows Documentation](https://knowledge.hubspot.com/workflows/create-workflows).

View File

@@ -0,0 +1,52 @@
---
title: "Microsoft Teams Trigger"
description: "Kick off crews from Microsoft Teams chat activity"
icon: "microsoft"
mode: "wide"
---
## Overview
Use the Microsoft Teams trigger to start automations whenever a new chat is created. Common patterns include summarizing inbound requests, routing urgent messages to support teams, or creating follow-up tasks in other systems.
<Tip>
Confirm Microsoft Teams is connected under **Tools & Integrations** and enabled in the **Triggers** tab for your deployment.
</Tip>
## Enabling the Microsoft Teams Trigger
1. Open your deployment in CrewAI Enterprise
2. Go to the **Triggers** tab
3. Locate **Microsoft Teams** and switch the toggle to enable
<Frame caption="Microsoft Teams trigger connection">
<img src="/images/enterprise/msteams-trigger.png" alt="Enable or disable triggers with toggle" />
</Frame>
## Example: Summarize a new chat thread
```python
from teams_chat_created_crew import MicrosoftTeamsChatTrigger
crew = MicrosoftTeamsChatTrigger().crew()
result = crew.kickoff({
"crewai_trigger_payload": teams_payload,
})
print(result.raw)
```
The crew parses thread metadata (subject, created time, roster) and generates an action plan for the receiving team.
## Sample payloads & crews
The [Microsoft Teams examples](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/microsoft-teams) include:
- `chat-created.json` → chat creation payload processed by `teams-chat-created-crew.py`
The crew demonstrates how to extract participants, initial messages, tenant information, and compliance metadata from the Microsoft Graph webhook payload.
## Troubleshooting
- Ensure the Teams connection is active; it must be refreshed if the tenant revokes permissions
- Confirm the webhook subscription in Microsoft 365 is still valid if payloads stop arriving
- Review execution logs for payload shape mismatches—Graph notifications may omit fields when a chat is private or restricted

View File

@@ -0,0 +1,53 @@
---
title: "OneDrive Trigger"
description: "Automate responses to OneDrive file activity"
icon: "cloud"
mode: "wide"
---
## Overview
Start automations when files change inside OneDrive. You can generate audit summaries, notify security teams about external sharing, or update downstream line-of-business systems with new document metadata.
<Tip>
Connect OneDrive in **Tools & Integrations** and toggle the trigger on for your deployment.
</Tip>
## Enabling the OneDrive Trigger
1. Open your deployment in CrewAI Enterprise
2. Go to the **Triggers** tab
3. Locate **OneDrive** and switch the toggle to enable
<Frame caption="Microsoft OneDrive trigger connection">
<img src="/images/enterprise/onedrive-trigger.png" alt="Enable or disable triggers with toggle" />
</Frame>
## Example: Audit file permissions
```python
from onedrive_file_crew import OneDriveFileTrigger
crew = OneDriveFileTrigger().crew()
crew.kickoff({
"crewai_trigger_payload": onedrive_payload,
})
```
The crew inspects file metadata, user activity, and permission changes to produce a compliance-friendly summary.
## Sample payloads & crews
The [OneDrive examples](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/onedrive) showcase how to:
- Parse file metadata, size, and folder paths
- Track who created and last modified the file
- Highlight permission and external sharing changes
`onedrive-file-crew.py` bundles the analysis and summarization tasks so you can add remediation steps as needed.
## Troubleshooting
- Ensure the connected account has permission to read the file metadata included in the webhook
- If the trigger fires but the payload is missing `permissions`, confirm the site-level sharing settings allow Graph to return this field
- For large tenants, filter notifications upstream so the crew only runs on relevant directories

View File

@@ -0,0 +1,52 @@
---
title: "Outlook Trigger"
description: "Launch automations from Outlook emails and calendar updates"
icon: "microsoft"
mode: "wide"
---
## Overview
Automate responses when Outlook delivers a new message or when an event is removed from the calendar. Teams commonly route escalations, file tickets, or alert attendees of cancellations.
<Tip>
Connect Outlook in **Tools & Integrations** and ensure the trigger is enabled for your deployment.
</Tip>
## Enabling the Outlook Trigger
1. Open your deployment in CrewAI Enterprise
2. Go to the **Triggers** tab
3. Locate **Outlook** and switch the toggle to enable
<Frame caption="Microsoft Outlook trigger connection">
<img src="/images/enterprise/outlook-trigger.png" alt="Enable or disable triggers with toggle" />
</Frame>
## Example: Summarize a new email
```python
from outlook_message_crew import OutlookMessageTrigger
crew = OutlookMessageTrigger().crew()
crew.kickoff({
"crewai_trigger_payload": outlook_payload,
})
```
The crew extracts sender details, subject, body preview, and attachments before generating a structured response.
## Sample payloads & crews
Review the [Outlook examples](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/outlook) for two common scenarios:
- `new-message.json` → new mail notifications parsed by `outlook-message-crew.py`
- `event-removed.json` → calendar cleanup handled by `outlook-event-removal-crew.py`
Each crew demonstrates how to handle Microsoft Graph payloads, normalize headers, and keep humans in-the-loop with concise summaries.
## Troubleshooting
- Verify the Outlook connector is still authorized; the subscription must be renewed periodically
- If attachments are missing, confirm the webhook subscription includes the `includeResourceData` flag
- Review execution logs when events fail to match—cancellation payloads lack attendee lists by design and the crew should account for that

View File

@@ -18,9 +18,14 @@ Salesforce is a leading customer relationship management (CRM) platform that hel
## Demo
<Frame>
<iframe width="100%" height="400" src="https://www.youtube.com/embed/oJunVqjjfu4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</Frame>
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/oJunVqjjfu4"
title="CrewAI + Salesforce trigger demo"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
## Getting Started
@@ -42,4 +47,4 @@ Common Salesforce + CrewAI trigger scenarios include:
## Next Steps
For detailed setup instructions and advanced configuration options, please contact CrewAI Enterprise support who can provide tailored guidance for your specific Salesforce environment and business needs.
For detailed setup instructions and advanced configuration options, please contact CrewAI Enterprise support who can provide tailored guidance for your specific Salesforce environment and business needs.

View File

@@ -14,14 +14,14 @@ As an administrator of a CrewAI Enterprise account, you can easily invite new te
- Log in to your CrewAI Enterprise account
- Look for the gear icon (⚙️) in the top right corner of the dashboard
- Click on the gear icon to access the **Settings** page:
<Frame>
<Frame caption="Settings page">
<img src="/images/enterprise/settings-page.png" alt="Settings Page" />
</Frame>
</Step>
<Step title="Navigate to the Members Section">
- On the Settings page, you'll see a `Members` tab
- Click on the `Members` tab to access the **Members** page:
<Frame>
<Frame caption="Members tab">
<img src="/images/enterprise/members-tab.png" alt="Members Tab" />
</Frame>
</Step>

View File

@@ -148,7 +148,8 @@ You can check the security check status of a tool at:
`CrewAI Enterprise > Tools > Your Tool > Versions`
<Card title="Need Help?" icon="headset" href="mailto:support@crewai.com">
Contact our support team for assistance with API integration or troubleshooting.
</Card>

View File

@@ -129,15 +129,14 @@ mode: "wide"
</Steps>
Here's a tutorial on how to consistently get structured outputs from your agents:
<Frame>
<iframe
height="400"
width="100%"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
</Frame>
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="Structured outputs in CrewAI"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
</Accordion>
<Accordion title="How can I create custom tools for my CrewAI agents?">

View File

@@ -7,12 +7,40 @@ mode: "wide"
## Quickstarts & Demos
<CardGroup cols={2}>
<Card title="Task Guardrails" icon="shield-check" href="https://github.com/crewAIInc/crewAI-quickstarts/tree/main/Task%20Guardrails">
Interactive notebooks for hands-on exploration.
<CardGroup cols={3}>
<Card title="Collaboration" icon="people-arrows" href="https://github.com/crewAIInc/crewAI-quickstarts/blob/main/Collaboration/crewai_collaboration.ipynb">
Coordinate multiple agents on shared tasks. Includes notebook with end-to-end collaboration pattern.
</Card>
<Card title="Planning" icon="timeline" href="https://github.com/crewAIInc/crewAI-quickstarts/blob/main/Planning/crewai_planning.ipynb">
Teach agents to reason about multi-step plans before execution using the planning toolkit.
</Card>
<Card title="Reasoning" icon="lightbulb" href="https://github.com/crewAIInc/crewAI-quickstarts/blob/main/Reasoning/crewai_reasoning.ipynb">
Explore self-reflection loops, critique prompts, and structured thinking patterns.
</Card>
</CardGroup>
<CardGroup cols={3}>
<Card title="Structured Guardrails" icon="shield-check" href="https://github.com/crewAIInc/crewAI-quickstarts/blob/main/Guardrails/task_guardrails.ipynb">
Apply task-level guardrails with retries, validation functions, and safe fallbacks.
</Card>
<Card title="Gemini Search & Grounding" icon="magnifying-glass" href="https://github.com/crewAIInc/crewAI-quickstarts/blob/main/Custom%20LLM/gemini_search_grounding_crewai.ipynb">
Connect CrewAI to Gemini with search grounding for factual, citation-rich outputs.
</Card>
<Card title="Gemini Video Summaries" icon="video" href="https://github.com/crewAIInc/crewAI-quickstarts/blob/main/Custom%20LLM/summarize_video_gemini_crewai.ipynb">
Generate video recaps using Gemini multimodal LLM and CrewAI orchestration.
</Card>
</CardGroup>
<CardGroup cols={2}>
<Card title="Browse Quickstarts" icon="bolt" href="https://github.com/crewAIInc/crewAI-quickstarts">
Feature demos and small projects showcasing specific CrewAI capabilities.
View all notebooks and feature demos showcasing specific CrewAI capabilities.
</Card>
<Card title="Request a cookbook" icon="message-plus" href="https://community.crewai.com">
Missing a pattern? Drop a request in the community forum and well expand the library.
</Card>
</CardGroup>
@@ -20,4 +48,3 @@ mode: "wide"
Use Cookbooks to learn a pattern quickly, then jump to Full Examples for productiongrade implementations.
</Tip>

View File

@@ -9,14 +9,12 @@ mode: "wide"
Watch this video tutorial for a step-by-step demonstration of the installation process:
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/-kSOTtYzgEw"
title="CrewAI Installation Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
## Text Tutorial

View File

@@ -42,6 +42,15 @@ class LinkedinProfileCrew():
The `@CrewBase` annotation is used to decorate the main crew class. This class typically contains configurations and methods for creating agents, tasks, and the crew itself.
<Tip>
`@CrewBase` does more than register the class:
- **Configuration bootstrapping:** looks for `agents_config` and `tasks_config` (defaulting to `config/agents.yaml` and `config/tasks.yaml`) beside the class file, loads them at instantiation, and safely falls back to empty dicts if files are missing.
- **Decorator orchestration:** keeps memoized references to every method marked with `@agent`, `@task`, `@before_kickoff`, or `@after_kickoff` so they are instantiated once per crew and executed in declaration order.
- **Hook wiring:** automatically attaches the preserved kickoff hooks to the `Crew` object returned by the `@crew` method, making them run before and after `.kickoff()`.
- **MCP integration:** when the class defines `mcp_server_params`, `get_mcp_tools()` lazily starts an MCP server adapter, hydrates the declared tools, and an internal after-kickoff hook stops the adapter. See [MCP overview](/en/mcp/overview) for adapter configuration details.
</Tip>
### 2. Tool Definition
```python
@@ -139,4 +148,4 @@ Note how the `llm` and `tools` in the YAML file correspond to the methods decora
- **Flexibility**: Design your crew to be flexible by allowing easy addition or removal of agents and tasks.
- **YAML-Code Correspondence**: Ensure that the names and structures in your YAML files correspond correctly to the decorated methods in your Python code.
By following these guidelines and properly using annotations, you can create well-structured and maintainable crews using the CrewAI framework.
By following these guidelines and properly using annotations, you can create well-structured and maintainable crews using the CrewAI framework.

View File

@@ -21,14 +21,12 @@ We currently support the following transport mechanisms:
Watch this video tutorial for a comprehensive guide on MCP integration with CrewAI:
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/TpQ45lAZh48"
title="CrewAI MCP Integration Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
## Installation
@@ -175,6 +173,16 @@ class CrewWithMCP:
# ... rest of your crew setup ...
```
<Tip>
When a crew class is decorated with `@CrewBase`, the adapter lifecycle is managed for you:
- The first call to `get_mcp_tools()` lazily creates a shared `MCPServerAdapter` that is reused by every agent in the crew.
- The adapter automatically shuts down after `.kickoff()` completes thanks to an implicit after-kickoff hook injected by `@CrewBase`, so no manual cleanup is required.
- If `mcp_server_params` is not defined, `get_mcp_tools()` simply returns an empty list, allowing the same code paths to run with or without MCP configured.
This makes it safe to call `get_mcp_tools()` from multiple agent methods or selectively enable MCP per environment.
</Tip>
### Connection Timeout Configuration
You can configure the connection timeout for MCP servers by setting the `mcp_connect_timeout` class attribute. If no timeout is specified, it defaults to 30 seconds.

View File

@@ -89,10 +89,9 @@ All with just two lines of code.
### 🔍 Full Demo (4min)
<iframe
width="100%"
height="315"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/8KDme9T2I7Q?si=b8oHteaBwFNs_Duk"
title="YouTube video player"
title="NeatLogs overview"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen

View File

@@ -345,14 +345,12 @@ The easiest way to deploy your crew to production is through [CrewAI Enterprise]
Watch this video tutorial for a step-by-step demonstration of deploying your crew to [CrewAI Enterprise](http://app.crewai.com) using the CLI.
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/3EqSV-CYDZA"
title="CrewAI Deployment Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
<CardGroup cols={2}>

View File

@@ -0,0 +1,72 @@
---
title: "Overview"
description: "Connect CrewAI agents with external automations and managed AI services"
icon: "face-smile"
mode: "wide"
---
Integration tools let your agents hand off work to other automation platforms and managed AI services. Use them when a workflow needs to invoke an existing CrewAI deployment or delegate specialised tasks to providers such as Amazon Bedrock.
## **Available Tools**
<CardGroup cols={2}>
<Card title="CrewAI Run Automation Tool" icon="robot" href="/en/tools/integration/crewaiautomationtool">
Invoke live CrewAI Platform automations, pass custom inputs, and poll for results directly from your agent.
</Card>
<Card title="Bedrock Invoke Agent Tool" icon="aws" href="/en/tools/integration/bedrockinvokeagenttool">
Call Amazon Bedrock Agents from your crews, reuse AWS guardrails, and stream responses back into the workflow.
</Card>
</CardGroup>
## **Common Use Cases**
- **Chain automations**: Kick off an existing CrewAI deployment from within another crew or flow
- **Enterprise hand-off**: Route tasks to Bedrock Agents that already encapsulate company logic and guardrails
- **Hybrid workflows**: Combine CrewAI reasoning with downstream systems that expose their own agent APIs
- **Long-running jobs**: Poll external automations and merge the final results back into the current run
## **Quick Start Example**
```python
from crewai import Agent, Task, Crew
from crewai_tools import InvokeCrewAIAutomationTool
from crewai_tools.aws.bedrock.agents.invoke_agent_tool import BedrockInvokeAgentTool
# External automation
analysis_automation = InvokeCrewAIAutomationTool(
crew_api_url="https://analysis-crew.acme.crewai.com",
crew_bearer_token="YOUR_BEARER_TOKEN",
crew_name="Analysis Automation",
crew_description="Runs the production-grade analysis pipeline",
)
# Managed agent on Bedrock
knowledge_router = BedrockInvokeAgentTool(
agent_id="bedrock-agent-id",
agent_alias_id="prod",
)
automation_strategist = Agent(
role="Automation Strategist",
goal="Orchestrate external automations and summarise their output",
backstory="You coordinate enterprise workflows and know when to delegate tasks to specialised services.",
tools=[analysis_automation, knowledge_router],
verbose=True,
)
execute_playbook = Task(
description="Run the analysis automation and ask the Bedrock agent for executive talking points.",
agent=automation_strategist,
)
Crew(agents=[automation_strategist], tasks=[execute_playbook]).kickoff()
```
## **Best Practices**
- **Secure credentials**: Store API keys and bearer tokens in environment variables or a secrets manager
- **Plan for latency**: External automations may take longer—set appropriate polling intervals and timeouts
- **Reuse sessions**: Bedrock Agents support session IDs so you can maintain context across multiple tool calls
- **Validate responses**: Normalise remote output (JSON, text, status codes) before forwarding it to downstream tasks
- **Monitor usage**: Track audit logs in CrewAI Platform or AWS CloudWatch to stay ahead of quota limits and failures

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 946 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 971 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 917 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 807 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 798 KiB

View File

@@ -1,96 +1,107 @@
---
title: "CrewAI Documentation"
description: "Build collaborative AI agents, crews, and flows — fast."
mode: "center"
description: "Build collaborative AI agents, crews, and flows — production ready from day one."
icon: "house"
mode: "wide"
---
<div style={{
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
gap: 16,
textAlign: 'center',
padding: '48px 0',
background: 'linear-gradient(180deg, rgba(235,102,88,0.10) 0%, rgba(201,76,60,0.10) 100%)',
border: '1px solid rgba(235,102,88,0.25)',
borderRadius: 12
}}>
<img src="/images/crew_only_logo.png" alt="CrewAI" width="96" height="96" />
<p style={{ marginTop: 8, maxWidth: 820, color: 'var(--mint-text-2)' }}>
Orchestrate multiagent systems and flows with guardrails, memory, knowledge, tools, and observability. Productionready by default.
</p>
import { SearchBar } from "@mintlify/components";
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 12, justifyContent: 'center', marginTop: 16 }}>
<div
style={{
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
gap: 20,
textAlign: 'center',
padding: '48px 24px',
borderRadius: 16,
background: 'linear-gradient(180deg, rgba(235,102,88,0.12) 0%, rgba(201,76,60,0.08) 100%)',
border: '1px solid rgba(235,102,88,0.18)'
}}
>
<img src="/images/crew_only_logo.png" alt="CrewAI" width="250" height="100" />
<div style={{ maxWidth: 720 }}>
<h1 style={{ marginBottom: 12 }}>Ship multiagent systems with confidence</h1>
<p style={{ color: 'var(--mint-text-2)' }}>
Design agents, orchestrate crews, and automate flows with guardrails, memory, knowledge, and observability baked in.
</p>
</div>
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 12, justifyContent: 'center' }}>
<a className="button button-primary" href="/en/quickstart">Get started</a>
<a className="button" href="/en/installation">Installation</a>
<a className="button" href="/en/concepts/flows">Flows</a>
<a className="button" href="/en/concepts/agents">Agents</a>
<a className="button" href="/en/tools/overview">Tools</a>
<a className="button" href="/en/changelog">View changelog</a>
<a className="button" href="/en/api-reference/introduction">API Reference</a>
</div>
</div>
<div style={{ marginTop: 32 }} />
## Get started
<CardGroup cols={3}>
<Card title="Quickstart" href="/en/quickstart" icon="rocket">
Create your first crew in minutes. Learn the core runtime, project layout, and dev loop.
<Card title="Introduction" href="/en/introduction" icon="sparkles">
Overview of CrewAI concepts, architecture, and what you can build with agents, crews, and flows.
</Card>
<Card title="Installation" href="/en/installation" icon="wrench">
Install via UV and set up environment keys for OpenAI and tools.
Install via `uv`, configure API keys, and set up the CLI for local development.
</Card>
<Card title="CLI" href="/en/concepts/cli" icon="terminal">
Create, run, train, test, deploy, and manage configs — all from the CLI.
<Card title="Quickstart" href="/en/quickstart" icon="rocket">
Spin up your first crew in minutes. Learn the core runtime, project layout, and dev loop.
</Card>
</CardGroup>
## Build the basics
<CardGroup cols={3}>
<Card title="Agents" href="/en/concepts/agents" icon="users">
Compose robust agents with memory, knowledge, and tools. Structure outputs with Pydantic.
Compose agents with tools, memory, knowledge, and structured outputs using Pydantic. Includes templates and best practices.
</Card>
<Card title="Flows" href="/en/concepts/flows" icon="arrow-progress">
Design complex workflows with start/listen/router, state, persistence, and resumability.
Orchestrate start/listen/router steps, manage state, persist execution, and resume long-running workflows.
</Card>
<Card title="Memory & Knowledge" href="/en/concepts/memory" icon="database">
Shortterm, longterm, and entity memory. Builtin knowledge with vector storage.
<Card title="Tasks & Processes" href="/en/concepts/tasks" icon="check">
Define sequential, hierarchical, or hybrid processes with guardrails, callbacks, and human-in-the-loop triggers.
</Card>
</CardGroup>
## Enterprise journey
<CardGroup cols={3}>
<Card title="RAG & Vector Stores" href="/en/concepts/knowledge#vector-store-rag-client-configuration" icon="stack">
Providerneutral client. ChromaDB by default, Qdrant supported. Configure per use case.
<Card title="Deploy automations" href="/en/enterprise/features/automations" icon="server">
Manage environments, redeploy safely, and monitor live runs directly from the Enterprise console.
</Card>
<Card title="Observability" href="/en/observability/overview" icon="timeline">
Traces with batching, metrics, and integrations (Langfuse, Phoenix, and more).
<Card title="Triggers & Flows" href="/en/enterprise/guides/automation-triggers" icon="bolt">
Connect Gmail, Slack, Salesforce, and more. Pass trigger payloads into crews and flows automatically.
</Card>
<Card title="Enterprise" href="/en/enterprise/introduction" icon="building">
Deploy, automate with triggers, manage orgs, and run at scale.
<Card title="Team management" href="/en/enterprise/guides/team-management" icon="users-gear">
Invite teammates, configure RBAC, and control access to production automations.
</Card>
</CardGroup>
<Frame>
<img src="/images/asset.png" alt="CrewAI — multiagent orchestration" />
<figcaption>Compose agents, tasks, flows, and tools — productionready by default.</figcaption>
</Frame>
## Whats new
## Popular paths
<CardGroup cols={2}>
<Card title="Triggers overview" href="/en/enterprise/guides/automation-triggers" icon="sparkles">
Unified overview for Gmail, Drive, Outlook, Teams, OneDrive, HubSpot, and more — now with sample payloads and crews.
</Card>
<Card title="Integration tools" href="/en/tools/integration/overview" icon="plug">
Call existing CrewAI automations or Amazon Bedrock Agents directly from your crews using the updated integration toolkit.
</Card>
</CardGroup>
- Getting started: [/en/quickstart](/en/quickstart)
- Install + requirements: [/en/installation](/en/installation)
- Define crews via YAML: [/en/guides/crews/first-crew](/en/guides/crews/first-crew)
- Build flows: [/en/guides/flows/first-flow](/en/guides/flows/first-flow)
- API Reference: [/en/api-reference/introduction](/en/api-reference/introduction)
<Callout title="Explore real-world patterns" icon="github">
Browse the <a href="/en/examples/cookbooks">examples and cookbooks</a> for end-to-end reference implementations across agents, flows, and enterprise automations.
</Callout>
<Note>
Looking for examples? Check out the examples repo and cookbooks under <a href="/en/examples/cookbooks">/en/examples/cookbooks</a>.
</Note>
## Stay connected
<CardGroup cols={2}>
<Card title="Star us on GitHub" href="https://github.com/crewAIInc/crewAI" icon="star">
If CrewAI helps you ship faster, give us a star and join the community.
If CrewAI helps you ship faster, give us a star and share your builds with the community.
</Card>
<Card title="Join the community" href="https://community.crewai.com" icon="comments">
Ask questions, share feedback, and see what others are building.
Ask questions, showcase workflows, and request features alongside other builders.
</Card>
</CardGroup>

View File

@@ -273,14 +273,12 @@ crewai org switch <organization_id>
CLI를 사용하여 [CrewAI Enterprise](http://app.crewai.com)에 crew를 배포하는 단계별 시연은 아래 비디오 튜토리얼을 참조하십시오.
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/3EqSV-CYDZA"
title="CrewAI Deployment Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
### 11. API 키
@@ -385,4 +383,4 @@ crewai config reset
<Note>
설정 값은 `~/.config/crewai/settings.json`에 저장됩니다. 조직 이름과 UUID와 같은 일부 설정 값은 읽기 전용이며 인증 및 조직 명령을 통해 관리됩니다. 도구 저장소 관련 설정은 숨겨져 있으며 사용자가 직접 설정할 수 없습니다.
</Note>
</Note>

View File

@@ -868,14 +868,13 @@ flow를 시각화하면 워크플로의 구조를 더욱 명확하게 이해할
또한, 아래의 CrewAI에서 flows를 사용하는 방법에 대한 YouTube 영상을 확인해보세요!
<iframe
width="560"
height="315"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/MTb5my6VOT8"
title="YouTube video player"
frameborder="0"
title="CrewAI Flows 개요"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
referrerPolicy="strict-origin-when-cross-origin"
allowFullScreen
></iframe>
## 플로우 실행하기
@@ -907,4 +906,4 @@ crewai run
crewai flow kickoff
```
하지만 `crewai run` 명령어가 이제 crew와 flow 모두에 작동하므로 더욱 선호되는 방법입니다.
하지만 `crewai run` 명령어가 이제 crew와 flow 모두에 작동하므로 더욱 선호되는 방법입니다.

View File

@@ -886,14 +886,13 @@ except RuntimeError as e:
아래 영상을 통해 CrewAI에서 구조화된 출력을 사용하는 방법을 확인하세요:
<iframe
width="560"
height="315"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="YouTube video player"
frameborder="0"
title="CrewAI에서 구조화된 출력 사용하기"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
referrerPolicy="strict-origin-when-cross-origin"
allowFullScreen
></iframe>
## 결론

View File

@@ -0,0 +1,105 @@
---
title: "자동화"
description: "배포된 크루(자동화)를 한 곳에서 관리, 배포 및 모니터링하세요."
icon: "rocket"
mode: "wide"
---
## 개요
자동화는 배포된 크루를 운영하는 허브입니다. GitHub 또는 ZIP으로 배포하고, 환경 변수를 관리하고, 필요 시 재배포하며 각 자동화의 상태를 모니터링하세요.
<Frame>
![자동화 개요](/images/enterprise/automations-overview.png)
</Frame>
## 배포 방법
### GitHub로 배포
버전 관리 및 지속적 배포에 적합합니다.
<Steps>
<Step title="GitHub 연결">
<b>Configure GitHub</b>를 클릭하고 접근을 승인합니다.
</Step>
<Step title="리포지토리 & 브랜치 선택">
배포할 <b>리포지토리</b>와 <b>브랜치</b>를 선택합니다.
</Step>
<Step title="자동 배포 활성화(선택)">
<b>Automatically deploy new commits</b>를 켜면 푸시 시마다 자동 배포됩니다.
</Step>
<Step title="환경 변수 추가">
개별로 추가하거나 <b>Bulk View</b>를 사용해 여러 변수를 한 번에 추가합니다.
</Step>
<Step title="배포">
<b>Deploy</b>를 클릭해 라이브 자동화를 생성합니다.
</Step>
</Steps>
<Frame>
![GitHub 배포](/images/enterprise/deploy-from-github.png)
</Frame>
### ZIP으로 배포
Git 없이 빠르게 배포 — 프로젝트 ZIP 패키지를 업로드하세요.
<Steps>
<Step title="파일 선택">
컴퓨터에서 ZIP 파일을 선택합니다.
</Step>
<Step title="환경 변수 추가">
필요한 변수를 제공합니다.
</Step>
<Step title="배포">
<b>Deploy</b>를 클릭해 라이브 자동화를 생성합니다.
</Step>
</Steps>
<Frame>
![ZIP 배포](/images/enterprise/deploy-from-zip.png)
</Frame>
## 자동화 대시보드
테이블에는 모든 라이브 자동화가 다음 정보와 함께 표시됩니다:
- **CREW**: 자동화 이름
- **STATUS**: Online / Failed / In Progress
- **URL**: kickoff/status 엔드포인트
- **TOKEN**: 자동화 토큰
- **ACTIONS**: 재배포, 삭제 등
우측 상단 컨트롤로 필터 및 검색:
- 이름으로 검색
- <b>Status</b>로 필터
- <b>Source</b>로 필터 (GitHub / Studio / ZIP)
배포 후 **Options** 드롭다운에서 `chat with this crew`, `Export React Component`, `Export as MCP`를 사용할 수 있습니다.
<Frame>
![자동화 표](/images/enterprise/automations-table.png)
</Frame>
## 모범 사례
- 버전 관리 및 CI/CD를 위해 GitHub 배포를 권장
- 코드/구성 변경 후 재배포 사용 또는 푸시마다 자동 배포 설정
## 관련 문서
<CardGroup cols={3}>
<Card title="크루 배포" href="/ko/enterprise/guides/deploy-crew" icon="rocket">
GitHub 또는 ZIP 파일로 크루 배포
</Card>
<Card title="자동화 트리거" href="/ko/enterprise/guides/automation-triggers" icon="trigger">
웹훅 또는 API로 자동화 트리거
</Card>
<Card title="Webhook 자동화" href="/ko/enterprise/guides/webhook-automation" icon="webhook">
실시간 이벤트/업데이트 스트리밍
</Card>
</CardGroup>

View File

@@ -0,0 +1,90 @@
---
title: "Crew Studio"
description: "AI 보조, 비주얼 에디터, 통합 테스트로 새로운 자동화를 구축하세요."
icon: "pencil"
mode: "wide"
---
## 개요
Crew Studio는 자연어와 시각적 워크플로 에디터로 처음부터 자동화를 만드는 인터랙티브한 AI 보조 작업 공간입니다.
<Frame>
![Crew Studio 개요](/images/enterprise/crew-studio-overview.png)
</Frame>
## 프롬프트 기반 생성
- 원하는 자동화를 설명하면, AI가 에이전트/태스크/도구를 생성합니다.
- 마이크 아이콘으로 음성 입력을 사용할 수 있습니다.
- 공통 사용 사례용 프롬프트 템플릿으로 시작할 수 있습니다.
<Frame>
![프롬프트 빌더](/images/enterprise/crew-studio-prompt.png)
</Frame>
## 비주얼 에디터
캔버스는 노드/엣지 형태로 플로우를 표현하며, 세 개의 보조 패널로 코드 없이 쉽게 구성할 수 있습니다 (일명 "vibe coding AI Agents"):
- **AI Thoughts (좌측)**: 설계 중 스트리밍 추론
- **Canvas (중앙)**: 에이전트/태스크 노드와 연결
- **Resources (우측)**: 드래그앤드롭 컴포넌트 (에이전트, 태스크, 도구)
드래그앤드롭으로 캔버스를 구성하거나, 채팅 섹션으로 에이전트를 생성할 수 있으며 두 방식은 상태를 공유합니다.
<Frame>
![비주얼 캔버스](/images/enterprise/crew-studio-canvas.png)
</Frame>
## 실행 & 디버깅
<b>Execution</b> 뷰로 전환하여 실행을 관찰하세요:
- 이벤트 타임라인
- 상세 로그 (Details, Messages, Raw Data)
- 게시 전 로컬 실행
<Frame>
![실행 뷰](/images/enterprise/crew-studio-execution.png)
</Frame>
## 게시 & 내보내기
- <b>Publish</b>로 라이브 자동화 배포
- <b>Download</b>로 소스 ZIP 다운로드 (로컬 개발용)
<Frame>
![게시 & 다운로드](/images/enterprise/crew-studio-publish.png)
</Frame>
게시 후 **Options** 드롭다운에서 `chat with this crew`, `Export React Component`, `Export as MCP`를 사용할 수 있습니다.
<Frame>
![게시된 자동화](/images/enterprise/crew-studio-published.png)
</Frame>
## 모범 사례
- Studio에서 빠르게 반복하고, 안정화 후 게시
- 도구 권한은 최소한으로 제한
- Traces로 동작/성능 검증
## 관련 문서
<CardGroup cols={4}>
<Card title="Crew Studio 활성화" href="/ko/enterprise/guides/enable-crew-studio" icon="palette">
Crew Studio를 활성화하세요.
</Card>
<Card title="크루 빌드" href="/ko/enterprise/guides/build-crew" icon="paintbrush">
크루를 빌드하세요.
</Card>
<Card title="크루 배포" href="/ko/enterprise/guides/deploy-crew" icon="rocket">
GitHub 또는 ZIP 파일로 크루 배포.
</Card>
<Card title="React 컴포넌트 내보내기" href="/ko/enterprise/guides/react-component-export" icon="download">
React 컴포넌트를 내보내세요.
</Card>
</CardGroup>

View File

@@ -0,0 +1,47 @@
---
title: "마켓플레이스"
description: "엔터프라이즈 크루를 위한 재사용 가능한 자산을 탐색, 설치 및 관리하세요."
icon: "store"
mode: "wide"
---
## 개요
마켓플레이스는 통합, 내부 도구 및 재사용 가능한 자산을 탐색할 수 있는 큐레이션된 공간을 제공하여 크루 개발을 가속화합니다.
<Frame>
![마켓플레이스 개요](/images/enterprise/marketplace-overview.png)
</Frame>
## 탐색
- 카테고리 및 기능별로 탐색
- 이름 또는 키워드로 검색
## 설치 & 활성화
- 승인된 자산은 원클릭 설치 지원
- 크루별로 활성화/비활성화 가능
- 필요한 환경 변수 및 스코프 구성
<Frame>
![설치 & 구성](/images/enterprise/marketplace-install.png)
</Frame>
마켓플레이스에서 `Download` 버튼을 클릭해 템플릿을 직접 내려받아 로컬에서 사용하거나 필요에 맞게 수정할 수도 있습니다.
## 관련 문서
<CardGroup cols={3}>
<Card title="도구 & 통합" href="/ko/enterprise/features/tools-and-integrations" icon="wrench">
에이전트가 사용할 외부 앱 연결 및 내부 도구 관리.
</Card>
<Card title="도구 저장소" href="/ko/enterprise/features/tool-repository" icon="toolbox">
크루 기능을 확장할 수 있도록 도구를 게시하고 설치.
</Card>
<Card title="에이전트 저장소" href="/ko/enterprise/features/agent-repositories" icon="people-group">
팀과 프로젝트 전반에서 에이전트 정의 저장, 공유 및 재사용.
</Card>
</CardGroup>

View File

@@ -0,0 +1,236 @@
---
title: "도구 & 통합"
description: "외부 앱을 연결하고 에이전트가 사용할 내부 도구를 관리하세요."
icon: "wrench"
mode: "wide"
---
## 개요
도구 & 통합은 서드파티 애플리케이션을 연결하고 에이전트가 런타임에 사용할 내부 도구를 관리하는 중앙 허브입니다.
<Frame>
![도구 & 통합 개요](/images/enterprise/crew_connectors.png)
</Frame>
## 살펴보기
<Tabs>
<Tab title="통합" icon="plug">
## 에이전트 앱 (통합)
Gmail, Google Drive, HubSpot, Slack 등 OAuth 기반 서비스에 연결하여 에이전트 액션을 활성화하세요.
<Steps>
<Step title="연결">
원하는 앱에서 <b>Connect</b>를 클릭하고 OAuth를 완료합니다.
</Step>
<Step title="구성">
필요에 따라 스코프, 트리거, 사용 가능한 액션을 조정합니다.
</Step>
<Step title="에이전트에서 사용">
연결된 서비스는 에이전트 도구로 사용 가능합니다.
</Step>
</Steps>
<Frame>
![앱 그리드](/images/enterprise/agent-apps.png)
</Frame>
### 계정 연결하기
1. <Link href="https://app.crewai.com/crewai_plus/connectors">Integrations</Link>로 이동
2. 원하는 서비스에서 <b>Connect</b> 클릭
3. OAuth 플로우 완료 및 스코프 승인
4. <b>Integration</b> 탭에서 Enterprise Token 복사
<Frame>
![Enterprise Token](/images/enterprise/enterprise_action_auth_token.png)
</Frame>
### 통합 도구 설치
로컬에서 통합을 사용하려면 최신 `crewai-tools` 패키지를 설치하세요.
```bash
uv add crewai-tools
```
### 사용 예시
<Tip>
인증된 모든 서비스는 도구로 제공됩니다. 에이전트에 `CrewaiEnterpriseTools`를 추가하세요.
</Tip>
```python
from crewai import Agent, Task, Crew
from crewai_tools import CrewaiEnterpriseTools
enterprise_tools = CrewaiEnterpriseTools(
enterprise_token="your_enterprise_token"
)
print(enterprise_tools)
email_agent = Agent(
role="이메일 매니저",
goal="이메일 커뮤니케이션 관리",
backstory="이메일 관리에 특화된 AI 어시스턴트",
tools=enterprise_tools
)
email_task = Task(
description="프로젝트 업데이트에 대한 후속 이메일 작성 및 전송",
agent=email_agent,
expected_output="이메일 전송 성공 확인"
)
crew = Crew(agents=[email_agent], tasks=[email_task])
crew.kickoff()
```
### 도구 필터링
```python
from crewai_tools import CrewaiEnterpriseTools
enterprise_tools = CrewaiEnterpriseTools(
actions_list=["gmail_find_email"]
)
gmail_tool = enterprise_tools["gmail_find_email"]
gmail_agent = Agent(
role="Gmail 매니저",
goal="Gmail 커뮤니케이션 및 알림 관리",
backstory="Gmail 커뮤니케이션 조율 AI 어시스턴트",
tools=[gmail_tool]
)
notification_task = Task(
description="john@example.com에서 온 이메일 찾기",
agent=gmail_agent,
expected_output="john@example.com의 이메일을 찾았다는 확인"
)
crew = Crew(agents=[gmail_agent], tasks=[notification_task])
```
배포된 크루에서는 각 통합의 서비스 설정 페이지에서 사용 가능한 액션을 지정할 수 있습니다.
<Frame>
![액션 필터링](/images/enterprise/filtering_enterprise_action_tools.png)
</Frame>
### 범위 지정 배포 (다중 사용자 조직)
각 통합을 특정 사용자로 범위 지정할 수 있습니다 (예: 특정 사용자의 Gmail 계정 사용).
<Tip>
팀/사용자별 데이터 접근을 분리해야 할 때 유용합니다.
</Tip>
`user_bearer_token`을 사용해 요청 사용자로 인증을 범위 지정합니다. 사용자가 로그인하지 않은 경우 연결된 통합을 사용하지 않으며, 그렇지 않으면 배포에 설정된 기본 토큰을 사용합니다.
<Frame>
![사용자 토큰](/images/enterprise/user_bearer_token.png)
</Frame>
<div id="catalog"></div>
### 카탈로그
#### 커뮤니케이션 & 협업
- Gmail — 이메일 및 초안 관리
- Slack — 워크스페이스 알림 및 경보
- Microsoft — Office 365 및 Teams 통합
#### 프로젝트 관리
- Jira — 이슈 추적 및 프로젝트 관리
- ClickUp — 작업 및 생산성 관리
- Asana — 팀 작업 조율
- Notion — 페이지 및 데이터베이스 관리
- Linear — 버그/프로젝트 추적
- GitHub — 리포지토리 및 이슈 관리
#### CRM
- Salesforce — 계정 및 기회 관리
- HubSpot — 파이프라인/연락처 관리
- Zendesk — 고객 지원 티켓 관리
#### 비즈니스 & 금융
- Stripe — 결제 처리 및 고객 관리
- Shopify — 전자상거래 및 상품 관리
#### 생산성 & 스토리지
- Google Sheets — 스프레드시트 동기화
- Google Calendar — 일정/이벤트 관리
- Box — 파일 스토리지
…더 많은 통합이 추가될 예정입니다!
</Tab>
<Tab title="내부 도구" icon="toolbox">
## 내부 도구
로컬에서 도구를 만들고, CrewAI Enterprise 도구 저장소에 게시한 후, 에이전트에서 사용하세요.
<Tip>
아래 명령을 실행하기 전에 CrewAI Enterprise 계정에 로그인하세요:
```bash
crewai login
```
</Tip>
<Frame>
![내부 도구](/images/enterprise/tools-integrations-internal.png)
</Frame>
<Steps>
<Step title="생성">
로컬에서 새 도구 생성
```bash
crewai tool create your-tool
```
</Step>
<Step title="게시">
도구 저장소에 게시
```bash
crewai tool publish
```
</Step>
<Step title="설치">
도구 저장소에서 설치
```bash
crewai tool install your-tool
```
</Step>
</Steps>
관리:
- 이름 및 설명
- 가시성 (비공개 / 공개)
- 필요한 환경 변수
- 버전 이력 및 다운로드
- 팀/역할 접근 권한
<Frame>
![도구 설정](/images/enterprise/tool-configs.png)
</Frame>
</Tab>
</Tabs>
## 관련 문서
<CardGroup cols={2}>
<Card title="도구 저장소" href="/ko/enterprise/features/tool-repository" icon="toolbox">
크루 기능을 확장할 수 있도록 도구를 게시하고 설치하세요.
</Card>
<Card title="Webhook 자동화" href="/ko/enterprise/guides/webhook-automation" icon="bolt">
워크플로를 자동화하고 외부 플랫폼/서비스와 통합하세요.
</Card>
</CardGroup>

View File

@@ -1,75 +1,130 @@
---
title: "자동화 트리거"
description: "연결된 통합에서 특정 이벤트가 발생할 때 CrewAI 워크플로우를 자동으로 실행합니다"
title: "트리거 개요"
description: "CrewAI Enterprise 트리거의 동작 방식과 관리 방법, 그리고 통합별 플레이북을 한눈에 확인하세요"
icon: "bolt"
mode: "wide"
---
자동화 트리거를 사용하면 연결된 통합에서 특정 이벤트가 발생할 때 CrewAI 배포를 자동으로 실행할 수 있어, 비즈니스 시스템의 실시간 변화에 반응하는 강력한 이벤트 기반 워크플로우를 만들 수 있습니다.
CrewAI Enterprise 트리거는 팀이 이미 사용하고 있는 도구의 실시간 이벤트와 자동화를 연결합니다. 폴링이나 수동 실행 대신, 트리거는 새로운 이메일, 캘린더 업데이트, CRM 상태 변화 등을 감지하여 지정한 크루 또는 플로우를 즉시 실행합니다.
## 개요
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/TpQ45lAZh48"
title="CrewAI 트리거 개요"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
자동화 트리거를 사용하면 다음을 수행할 수 있습니다:
### 통합 플레이북
- **실시간 이벤트에 응답** - 특정 조건이 충족될 때 워크플로우를 자동으로 실행
- **외부 시스템과 통합** - Gmail, Outlook, OneDrive, JIRA, Slack, Stripe 등의 플랫폼과 연결
- **자동화 확장** - 수동 개입 없이 대용량 이벤트 처리
- **컨텍스트 유지** - crew와 flow 내에서 트리거 데이터에 액세스
아래 가이드는 각 통합을 활성화하고 테스트하는 방법을 자세히 설명합니다.
## 자동화 트리거 관리
<CardGroup cols={2}>
<Card title="Gmail 트리거" icon="envelope">
<a href="/ko/enterprise/guides/gmail-trigger">새로운 이메일이나 스레드 업데이트에 맞춰 크루를 실행하세요.</a>
</Card>
<Card title="Google Calendar 트리거" icon="calendar-days">
<a href="/ko/enterprise/guides/google-calendar-trigger">캘린더 이벤트 생성, 수정, 취소에 대응하세요.</a>
</Card>
<Card title="Google Drive 트리거" icon="folder-open">
<a href="/ko/enterprise/guides/google-drive-trigger">Drive 파일 업로드, 수정, 삭제를 감시하세요.</a>
</Card>
<Card title="Outlook 트리거" icon="envelope-open">
<a href="/ko/enterprise/guides/outlook-trigger">Outlook의 새로운 메일이나 삭제된 이벤트에 대응하세요.</a>
</Card>
<Card title="OneDrive 트리거" icon="cloud">
<a href="/ko/enterprise/guides/onedrive-trigger">OneDrive 파일 활동 및 공유 변경 사항을 감사하세요.</a>
</Card>
<Card title="Microsoft Teams 트리거" icon="comments">
<a href="/ko/enterprise/guides/microsoft-teams-trigger">새로운 Teams 채팅이 생성될 때 워크플로우를 시작하세요.</a>
</Card>
<Card title="HubSpot 트리거" icon="hubspot">
<a href="/ko/enterprise/guides/hubspot-trigger">HubSpot 워크플로우와 라이프사이클 이벤트에서 자동화를 실행하세요.</a>
</Card>
<Card title="Salesforce 트리거" icon="salesforce">
<a href="/ko/enterprise/guides/salesforce-trigger">Salesforce 프로세스를 CrewAI 크루와 연결해 CRM 자동화를 구현하세요.</a>
</Card>
<Card title="Slack 트리거" icon="slack">
<a href="/ko/enterprise/guides/slack-trigger">Slack 슬래시 명령으로 크루를 바로 실행하세요.</a>
</Card>
<Card title="Zapier 트리거" icon="bolt">
<a href="/ko/enterprise/guides/zapier-trigger">CrewAI를 수천 개의 Zapier 지원 앱과 연동하세요.</a>
</Card>
</CardGroup>
## 트리거 기능
- **실시간 대응** 조건이 충족되면 자동으로 워크플로우 실행
- **외부 시스템 연동** Gmail, Outlook, OneDrive, JIRA, Slack, Stripe 등과 연결
- **자동화 확장성** 수동 개입 없이 대량 이벤트 처리
- **컨텍스트 유지** 트리거 데이터를 크루와 플로우에서 바로 활용
## 트리거 관리
### 사용 가능한 트리거 보기
자동화 트리거에 액세스하고 관리하려면:
1. CrewAI 대시보드에서 배포로 이동
2. **트리거** 탭을 클릭하여 사용 가능한 모든 트리거 통합 보기
1. CrewAI 대시보드에서 자동화를 선택합니다.
2. **Triggers** 탭을 클릭하여 사용 가능한 통합을 확인합니다.
<Frame>
<img src="/images/enterprise/list-available-triggers.png" alt="사용 가능한 자동화 트리거 목록" />
<img src="/images/enterprise/list-available-triggers.png" alt="사용 가능한 트리거 목록" />
</Frame>
이 보기는 배포에 사용 가능한 모든 트리거 통합과 현재 연결 상태를 보여줍니다.
### 트리거 활성화 및 비활성화
각 트리거는 토글 스위치를 사용하여 쉽게 활성화하거나 비활성화할 수 있습니다:
### 트리거 활성화/비활성화
<Frame>
<img src="/images/enterprise/trigger-selected.png" alt="토글로 트리거 활성화 또는 비활성화" />
<img src="/images/enterprise/trigger-selected.png" alt="트리거 토글" />
</Frame>
- **활성화됨 (파란색 토글)**: 트리거가 활성 상태이며 지정된 이벤트 발생할 때 배포를 자동으로 실행합니다
- **비활성화됨 (회색 토글)**: 트리거가 비활성 상태이며 이벤트에 응답하지 않습니다
- **파랑 (활성)** 이벤트 발생 자동 실행
- **회색 (비활성)** 이벤트 무시
토글을 클릭하기만 하면 트리거 상태를 변경할 수 있습니다. 변경 사항은 즉시 적용됩니다.
토글 버튼을 클릭하 즉시 적용됩니다.
### 트리거 실행 모니터링
트리거 실행의 성능과 기록을 추적합니다:
트리거 실행 내역과 상태를 대시보드에서 확인하세요.
<Frame>
<img src="/images/enterprise/list-executions.png" alt="자동화에 의해 트리거 실행 목록" />
<img src="/images/enterprise/list-executions.png" alt="트리거 실행 내역" />
</Frame>
## 자동화 구
## 트리거 기반 자동화 구
자동화를 구축하기 전에 crew와 flow가 받을 트리거 페이로드의 구조를 이해하는 것이 도움이 됩니다.
### 설정 체크리스트
### 페이로드 샘플 저장소
- **Tools & Integrations**에서 해당 서비스를 연결하고 OAuth 또는 API 설정을 완료했나요?
- 자동화에서 트리거 토글을 활성화했나요?
- 필요한 환경 변수(토큰, 테넌트 ID, 시크릿 등)를 설정했나요?
- 첫 번째 작업에서 트리거 payload를 파싱하도록 구성했나요?
- `allow_crewai_trigger_context` 옵션으로 컨텍스트 자동 주입 여부를 결정했나요?
- 웹훅 로그, CrewAI 실행 기록, 외부 알림 등 모니터링을 준비했나요?
자동화를 구축하고 테스트하는 데 도움이 되도록 다양한 트리거 소스의 샘플 페이로드가 포함된 포괄적인 저장소를 유지 관리하고 있습니다:
### Payload & Crew 예제 저장소
**🔗 [CrewAI Enterprise 트리거 페이로드 샘플](https://github.com/crewAIInc/crewai-enterprise-trigger-payload-samples)**
| 통합 | 동작 시점 | Payload 예제 | Crew 예제 |
| :-- | :-- | :-- | :-- |
| Gmail | 신규 메일, 스레드 업데이트 | [Gmail payload](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/gmail) | [`new-email-crew.py`, `gmail-alert-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/gmail) |
| Google Calendar | 이벤트 생성/수정/시작/종료/취소 | [Calendar payload](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_calendar) | [`calendar-event-crew.py`, `calendar-meeting-crew.py`, `calendar-working-location-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_calendar) |
| Google Drive | 파일 생성/수정/삭제 | [Drive payload](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_drive) | [`drive-file-crew.py`, `drive-file-deletion-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_drive) |
| Outlook | 새 이메일, 이벤트 제거 | [Outlook payload](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/outlook) | [`outlook-message-crew.py`, `outlook-event-removal-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/outlook) |
| OneDrive | 파일 작업(생성, 수정, 공유, 삭제) | [OneDrive payload](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/onedrive) | [`onedrive-file-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/onedrive) |
| HubSpot | 레코드 생성/업데이트(연락처, 회사, 딜) | [HubSpot payload](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/hubspot) | [`hubspot-company-crew.py`, `hubspot-contact-crew.py`, `hubspot-record-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/hubspot) |
| Microsoft Teams | 채팅 생성 | [Teams payload](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/microsoft-teams) | [`teams-chat-created-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/microsoft-teams) |
이 저장소에는 다음이 포함되어 있습니다:
예제 payload를 참고해 파싱 로직을 검증하고, 제공되는 crew를 복사해 실제 데이터로 교체하세요.
- **실제 페이로드 예제** - 다양한 트리거 소스(Gmail, Google Drive 등)에서 가져온 예제
- **페이로드 구조 문서** - 형식과 사용 가능한 필드를 보여주는 문서
### Crew와 트리거
기존 crew 정의는 트리거와 완벽하게 작동하며, 받은 페이로드를 분석하는 작업만 있으면 됩니다:
### 트리거와 Crew 연동
```python
@CrewBase
@@ -95,15 +150,9 @@ class MyAutomatedCrew:
)
```
crew는 자동으로 트리거 페이로드를 받고 표준 CrewAI 컨텍스트 메커니즘을 통해 액세스할 수 있습니다.
### 플로우와의 통합
### Flow와의 통합
flow의 경우 트리거 데이터 처리 방법을 더 세밀하게 제어할 수 있습니다:
#### 트리거 페이로드 액세스
flow의 모든 `@start()` 메서드는 `crewai_trigger_payload`라는 추가 매개변수를 허용합니다:
#### Payload 접근
```python
from crewai.flow import Flow, start, listen
@@ -111,62 +160,48 @@ from crewai.flow import Flow, start, listen
class MyAutomatedFlow(Flow):
@start()
def handle_trigger(self, crewai_trigger_payload: dict = None):
"""
이 start 메서드는 트리거 데이터를 받을 수 있습니다
"""
if crewai_trigger_payload:
# 트리거 데이터 처리
trigger_id = crewai_trigger_payload.get('id')
event_data = crewai_trigger_payload.get('payload', {})
# 다른 메서드에서 사용할 수 있도록 flow 상태에 저장
self.state.trigger_id = trigger_id
self.state.trigger_type = event_data
return event_data
# 수동 실행 처리
return None
@listen(handle_trigger)
def process_data(self, trigger_data):
"""
트리거 데이터 처리
"""
# ... 트리거 처리
```
#### Flow에서 Crew 트리거하기
트리거된 flow 내에서 crew를 시작할 때 트리거 페이로드를 전달합니다:
#### 플로우에서 Crew 실행
```python
@start()
def delegate_to_crew(self, crewai_trigger_payload: dict = None):
"""
전문 crew에 처리 위임
"""
crew = MySpecializedCrew()
# crew에 트리거 페이로드 전달
result = crew.crew().kickoff(
inputs={
'a_custom_parameter': "custom_value",
'custom_parameter': "custom_value",
'crewai_trigger_payload': crewai_trigger_payload
},
)
return result
```
## 문제 해결
**트리거가 작동하지 않는 경우:**
- 트리거가 활성화되어 있는지 확인
- 통합 연결 상태 확인
**트리거가 실행되지 않나요?**
- 트리거가 활성 상태인지 확인하세요.
- 통합 연결 상태 확인하세요.
**실행 실패:**
- 오류 세부 정보는 실행 로그 확인
- 개발 중인 경우 입력에 올바른 페이로드가 포함된 `crewai_trigger_payload` 매개변수가 포함되어 있는지 확인
**실행 중 오류가 발생하나요?**
- 실행 로그에서 오류 메시지를 확인하세요.
- 개발 중이라면 `crewai_trigger_payload`가 올바른 데이터로 전달되고 있는지 확인하세요.
자동화 트리거는 CrewAI 배포를 기존 비즈니스 프로세스 도구와 완벽하게 통합할 수 있는 반응형 이벤트 기반 시스템으로 변환합니다.
트리거를 활용하면 CrewAI 자동화를 이벤트 기반 시스템으로 전환하여 기존 비즈니스 프로세스 도구에 자연스럽게 녹여낼 수 있습니다.
<Callout icon="github" title="예제 저장소">
<a href="https://github.com/crewAIInc/crewai-enterprise-trigger-examples">
CrewAI Enterprise Trigger Examples
</a>
</Callout>

View File

@@ -12,14 +12,12 @@ mode: "wide"
## 시작하기
<iframe
width="100%"
height="400"
src="https://www.youtube.com/embed/-kSOTtYzgEw"
title="Building Crews with CrewAI CLI"
frameborder="0"
style={{ borderRadius: '10px' }}
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/-kSOTtYzgEw"
title="Building crews with the CrewAI CLI"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
### 설치 및 설정
@@ -41,4 +39,4 @@ Enterprise 전용 지원 또는 문의가 필요하신 경우, [support@crewai.c
<Card title="데모 예약" icon="calendar" href="mailto:support@crewai.com">
Enterprise 기능과 해당 기능이 귀사의 조직에 어떻게 도움이 될 수 있는지 알아보시려면 저희 팀과 상담 일정을 예약하세요.
</Card>
</Card>

View File

@@ -18,9 +18,14 @@ Salesforce는 기업이 영업, 서비스, 마케팅 운영을 효율화할 수
## 데모
<Frame>
<iframe width="100%" height="400" src="https://www.youtube.com/embed/oJunVqjjfu4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</Frame>
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/oJunVqjjfu4"
title="CrewAI + Salesforce trigger demo"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
## 시작하기
@@ -42,4 +47,4 @@ Salesforce 트리거를 설정하려면:
## 다음 단계
자세한 설정 지침 및 고급 구성 옵션에 대해서는 CrewAI Enterprise 지원팀에 문의해 주시기 바랍니다. 지원팀은 귀하의 특정 Salesforce 환경과 비즈니스 요구에 맞는 맞춤형 안내를 제공해 드릴 수 있습니다.
자세한 설정 지침 및 고급 구성 옵션에 대해서는 CrewAI Enterprise 지원팀에 문의해 주시기 바랍니다. 지원팀은 귀하의 특정 Salesforce 환경과 비즈니스 요구에 맞는 맞춤형 안내를 제공해 드릴 수 있습니다.

View File

@@ -0,0 +1,109 @@
---
title: 도구 저장소
description: "도구 저장소를 사용하여 도구를 관리하기"
icon: "toolbox"
mode: "wide"
---
## 개요
Tool Repository는 CrewAI 도구를 위한 패키지 관리자입니다. 사용자는 CrewAI crew와 flow에 통합되는 도구를 게시, 설치 및 관리할 수 있습니다.
도구는 다음과 같이 분류됩니다:
- **비공개**: 조직 내에서만 접근할 수 있습니다(기본값)
- **공개**: `--public` 플래그로 게시하면 모든 CrewAI 사용자가 접근할 수 있습니다
이 저장소는 버전 관리 시스템이 아닙니다. 코드 변경 사항을 추적하고 협업을 활성화하려면 Git을 사용하십시오.
## 사전 요구 사항
Tool Repository를 사용하기 전에 다음이 준비되어 있어야 합니다:
- [CrewAI Enterprise](https://app.crewai.com) 계정
- [CrewAI CLI](https://docs.crewai.com/concepts/cli#cli) 설치됨
- uv>=0.5.0 이 설치되어 있어야 합니다. [업그레이드 방법](https://docs.astral.sh/uv/getting-started/installation/#upgrading-uv)을 참고하세요.
- [Git](https://git-scm.com) 설치 및 구성 완료
- CrewAI Enterprise 조직에서 도구를 게시하거나 설치할 수 있는 액세스 권한
## 도구 설치
도구를 설치하려면:
```bash
crewai tool install <tool-name>
```
이 명령은 도구를 설치하고 `pyproject.toml`에 추가합니다.
## 도구 생성 및 게시
새 도구 프로젝트를 생성하려면:
```bash
crewai tool create <tool-name>
```
이 명령은 로컬에 스캐폴딩된 도구 프로젝트를 생성합니다.
변경 사항을 적용한 후, Git 저장소를 초기화하고 코드를 커밋합니다:
```bash
git init
git add .
git commit -m "Initial version"
```
도구를 게시하려면:
```bash
crewai tool publish
```
기본적으로 도구는 비공개로 게시됩니다. 도구를 공개로 설정하려면:
```bash
crewai tool publish --public
```
도구 빌드에 대한 자세한 내용은 [나만의 도구 만들기](https://docs.crewai.com/concepts/tools#creating-your-own-tools)를 참고하세요.
## 도구 업데이트
공개된 도구를 업데이트하려면:
1. 로컬에서 도구를 수정합니다.
2. `pyproject.toml`에서 버전을 업데이트합니다(예: `0.1.0`에서 `0.1.1`로).
3. 변경 사항을 커밋하고 배포합니다.
```bash
git commit -m "Update version to 0.1.1"
crewai tool publish
```
## 도구 삭제
도구를 삭제하려면:
1. [CrewAI Enterprise](https://app.crewai.com)로 이동합니다.
2. **Tools**로 이동합니다.
3. 도구를 선택합니다.
4. **Delete**를 클릭합니다.
<Warning>
삭제는 영구적입니다. 삭제된 도구는 복구하거나 다시 설치할 수 없습니다.
</Warning>
## 보안 점검
모든 공개된 버전은 자동화된 보안 점검을 거치며, 통과한 후에만 설치할 수 있습니다.
도구의 보안 점검 상태는 다음에서 확인할 수 있습니다:
`CrewAI Enterprise > Tools > Your Tool > Versions`
<Card title="도움이 필요하신가요?" icon="headset" href="mailto:support@crewai.com">
API 통합 또는 문제 해결에 대한 지원이 필요하시면 지원팀에 문의해 주세요.
</Card>

View File

@@ -129,15 +129,14 @@ mode: "wide"
</Steps>
에이전트가 항상 구조화된 출력을 내도록 만드는 방법 관련 튜토리얼은 아래 영상을 참고하세요:
<Frame>
<iframe
height="400"
width="100%"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
</Frame>
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="CrewAI 구조화된 출력"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
</Accordion>
<Accordion title="CrewAI 에이전트를 위한 커스텀 도구는 어떻게 만들 수 있습니까?">
@@ -149,4 +148,4 @@ mode: "wide"
<Accordion title="전체 crew가 수행할 수 있는 분당 최대 요청 수는 어떻게 제한할 수 있나요?">
`max_rpm` 속성을 설정하면 crew 전체가 분당 보낼 수 있는 최대 요청 수를 제한할 수 있습니다. 이를 설정하면 개별 에이전트의 `max_rpm` 값보다 우선적으로 적용됩니다.
</Accordion>
</AccordionGroup>
</AccordionGroup>

102
docs/ko/index.mdx Normal file
View File

@@ -0,0 +1,102 @@
---
title: "CrewAI 문서"
description: "협업형 AI 에이전트, 크루, 플로우를 설계하고 즉시 프로덕션에 배포하세요."
icon: "house"
mode: "wide"
---
<div
style={{
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
gap: 20,
textAlign: 'center',
padding: '48px 24px',
borderRadius: 16,
background: 'linear-gradient(180deg, rgba(235,102,88,0.12) 0%, rgba(201,76,60,0.08) 100%)',
border: '1px solid rgba(235,102,88,0.18)'
}}
>
<img src="/images/crew_only_logo.png" alt="CrewAI" width="250" height="100" />
<div style={{ maxWidth: 720 }}>
<h1 style={{ marginBottom: 12 }}>신뢰할 수 있는 멀티에이전트 시스템 구축</h1>
<p style={{ color: 'var(--mint-text-2)' }}>
에이전트를 설계하고 크루를 오케스트레이션하며 guardrails, 메모리, 지식, Observability가 기본 내장된 플로우를 자동화하세요.
</p>
</div>
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 12, justifyContent: 'center' }}>
<a className="button button-primary" href="/ko/quickstart">빠르게 시작하기</a>
<a className="button button-secondary" href="/ko/changelog">변경 로그 보기</a>
<a className="button button-secondary" href="/ko/api-reference/introduction">API 레퍼런스</a>
</div>
</div>
<div style={{ marginTop: 32 }} />
<CardGroup cols={3}>
<Card title="소개" href="/ko/introduction" icon="sparkles">
CrewAI의 핵심 개념, 아키텍처, 에이전트·크루·플로우로 만들 수 있는 것들을 빠르게 파악하세요.
</Card>
<Card title="설치" href="/ko/installation" icon="wrench">
`uv` 설치, API 키 설정, 로컬 개발을 위한 CLI 초기화까지 모든 단계를 안내합니다.
</Card>
<Card title="빠른 시작" href="/ko/quickstart" icon="rocket">
몇 분 만에 첫 크루를 실행하세요. 런타임, 프로젝트 구조, 개발 루프를 배울 수 있습니다.
</Card>
</CardGroup>
## 기본 구축
<CardGroup cols={3}>
<Card title="에이전트" href="/ko/concepts/agents" icon="users">
도구, 메모리, 지식, 구조화된 출력을 갖춘 에이전트를 구성하는 방법과 베스트 프랙티스를 배워보세요.
</Card>
<Card title="플로우" href="/ko/concepts/flows" icon="arrow-progress">
start/listen/router 단계, 상태 관리, 실행 저장 및 재개 등 복잡한 워크플로우를 설계하세요.
</Card>
<Card title="작업 & 프로세스" href="/ko/concepts/tasks" icon="check">
guardrails, 콜백, human-in-the-loop가 포함된 순차적·계층적 프로세스를 정의하세요.
</Card>
</CardGroup>
## 엔터프라이즈 여정
<CardGroup cols={3}>
<Card title="Automations" href="/ko/enterprise/features/automations" icon="server">
환경을 관리하고 안전하게 재배포하며, Enterprise 콘솔에서 실시간 실행을 모니터링하세요.
</Card>
<Card title="Triggers & Flows" href="/ko/enterprise/guides/automation-triggers" icon="bolt">
Gmail, Slack, Salesforce 등 다양한 서비스를 연결하고 trigger payload를 자동으로 크루와 플로우에 전달하세요.
</Card>
<Card title="팀 관리" href="/ko/enterprise/guides/team-management" icon="users-gear">
팀원을 초대하고 RBAC을 설정하며, 프로덕션 자동화에 대한 접근을 제어하세요.
</Card>
</CardGroup>
## 최신 소식
<CardGroup cols={2}>
<Card title="트리거 개요" href="/ko/enterprise/guides/automation-triggers" icon="sparkles">
Gmail, Drive, Outlook, Teams, OneDrive, HubSpot 등 다수의 통합을 하나의 문서에서 확인하고, payload/crew 예제를 살펴보세요.
</Card>
<Card title="통합 도구" href="/ko/tools/integration/overview" icon="plug">
기존 CrewAI 자동화 또는 Amazon Bedrock Agent를 크루에서 직접 호출하는 방법을 안내합니다.
</Card>
</CardGroup>
<Callout title="실전 예제를 살펴보세요" icon="github">
<a href="/ko/examples/cookbooks">examples & cookbooks</a> 섹션에서 에이전트, 플로우, Enterprise 자동화의 엔드-투-엔드 구현을 확인해 보세요.
</Callout>
## 커뮤니티
<CardGroup cols={2}>
<Card title="GitHub 스타 남기기" href="https://github.com/crewAIInc/crewAI" icon="star">
CrewAI가 도움이 되었다면 GitHub에서 별을 남기고 빌드를 공유해주세요.
</Card>
<Card title="커뮤니티 참여" href="https://community.crewai.com" icon="comments">
질문을 올리고, 워크플로우를 공유하며, 다른 빌더와 함께 새로운 기능을 제안하세요.
</Card>
</CardGroup>

View File

@@ -9,14 +9,12 @@ mode: "wide"
설치 과정을 단계별로 시연하는 비디오 튜토리얼을 시청하세요:
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/-kSOTtYzgEw"
title="CrewAI Installation Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
## 텍스트 튜토리얼

View File

@@ -42,6 +42,15 @@ class LinkedinProfileCrew():
`@CrewBase` 어노테이션은 메인 crew 클래스를 데코레이트하는 데 사용됩니다. 이 클래스는 일반적으로 agent, task, 그리고 crew 자체를 생성하기 위한 구성과 메서드를 포함합니다.
<Tip>
`@CrewBase`는 단순히 클래스를 등록하는 것 이상을 처리합니다.
- **구성 부트스트래핑:** 클래스 파일과 동일한 경로에서 `agents_config`와 `tasks_config`(기본값은 각각 `config/agents.yaml`, `config/tasks.yaml`)을 찾아 인스턴스화 시점에 불러오며, 파일이 없으면 빈 딕셔너리로 안전하게 대체합니다.
- **데코레이터 오케스트레이션:** `@agent`, `@task`, `@before_kickoff`, `@after_kickoff`로 표시된 메서드를 메모이즈하여 crew마다 한 번만 인스턴스화하고 선언 순서를 보장합니다.
- **후크 연결:** 보존된 킥오프 훅을 `@crew` 메서드가 반환하는 `Crew` 객체에 자동으로 연결하여 `.kickoff()` 호출 전후에 실행되도록 합니다.
- **MCP 연동:** 클래스에 `mcp_server_params`가 정의되어 있으면 `get_mcp_tools()`가 MCP 서버 어댑터를 지연 생성해 도구를 로드하고, 내부 after-kickoff 훅이 킥오프 종료 후 어댑터를 정리합니다. 어댑터 구성 방법은 [MCP 개요](/ko/mcp/overview)를 참고하세요.
</Tip>
### 2. 도구 정의
```python
@@ -139,4 +148,4 @@ YAML 파일의 `llm`과 `tools`가 Python 클래스에서 `@llm` 및 `@tool`로
- **유연성**: agent와 task를 쉽게 추가 및 제거할 수 있도록 crew를 유연하게 설계하세요.
- **YAML-코드 일치**: YAML 파일의 이름과 구조가 Python 코드의 데코레이터가 적용된 메서드와 정확히 일치하는지 확인하세요.
이 지침을 따르고 주석을 올바르게 사용하면 CrewAI 프레임워크를 이용해 구조적이고 유지보수가 쉬운 crew를 만들 수 있습니다.
이 지침을 따르고 주석을 올바르게 사용하면 CrewAI 프레임워크를 이용해 구조적이고 유지보수가 쉬운 crew를 만들 수 있습니다.

View File

@@ -21,14 +21,12 @@ mode: "wide"
CrewAI와 MCP 통합에 대한 종합적인 안내를 위해 이 비디오 튜토리얼을 시청하세요:
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/TpQ45lAZh48"
title="CrewAI MCP Integration Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
## 설치
@@ -175,6 +173,16 @@ class CrewWithMCP:
# ... 나머지 crew 설정 ...
```
<Tip>
`@CrewBase`로 데코레이션된 클래스에서는 어댑터 수명 주기가 자동으로 관리됩니다.
- `get_mcp_tools()`가 처음 호출될 때 공유 `MCPServerAdapter`가 지연 생성되며 crew 내 모든 에이전트가 이를 재사용합니다.
- `.kickoff()`가 끝나면 `@CrewBase`가 주입한 after-kickoff 훅이 어댑터를 종료하므로 별도의 정리 코드가 필요 없습니다.
- `mcp_server_params`를 지정하지 않으면 `get_mcp_tools()`는 빈 리스트를 반환하여 MCP 설정 여부와 상관없이 동일한 코드 경로를 사용할 수 있습니다.
따라서 여러 에이전트에서 `get_mcp_tools()`를 호출하거나 환경에 따라 MCP 사용을 토글하더라도 안전하게 동작합니다.
</Tip>
### 연결 타임아웃 구성
`mcp_connect_timeout` 클래스 속성을 설정하여 MCP 서버의 연결 타임아웃을 구성할 수 있습니다. 타임아웃을 지정하지 않으면 기본값으로 30초가 사용됩니다.

View File

@@ -85,10 +85,9 @@ GitHub에 따르면, Neatlogs는:
### 🔍 전체 데모 (4분)
<iframe
width="100%"
height="315"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/8KDme9T2I7Q?si=b8oHteaBwFNs_Duk"
title="YouTube video player"
title="NeatLogs 개요"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
@@ -127,4 +126,4 @@ No setup overhead. Full trace transparency. Full team collaboration.
```
이제 몇 초 만에 CrewAI agent 실행을 캡처, 이해, 공유하고 바로 조치할 수 있습니다.
별도의 설정이 필요하지 않습니다. 완전한 트레이스 투명성. 전체 팀 협업 지원.
별도의 설정이 필요하지 않습니다. 완전한 트레이스 투명성. 전체 팀 협업 지원.

View File

@@ -345,14 +345,12 @@ production 환경에 crew를 배포하는 가장 쉬운 방법은 [CrewAI Enterp
CLI를 사용하여 [CrewAI Enterprise](http://app.crewai.com)에 crew를 배포하는 단계별 시연은 이 영상 튜토리얼을 참고하세요.
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/3EqSV-CYDZA"
title="CrewAI Deployment Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
<CardGroup cols={2}>
@@ -370,4 +368,4 @@ CLI를 사용하여 [CrewAI Enterprise](http://app.crewai.com)에 crew를 배포
>
오픈 소스 커뮤니티에 참여하여 아이디어를 나누고, 프로젝트를 공유하며, 다른 CrewAI 개발자들과 소통하세요.
</Card>
</CardGroup>
</CardGroup>

View File

@@ -0,0 +1,188 @@
---
title: Bedrock Invoke Agent Tool
description: Enables CrewAI agents to invoke Amazon Bedrock Agents and leverage their capabilities within your workflows
icon: aws
mode: "wide"
---
# `BedrockInvokeAgentTool`
The `BedrockInvokeAgentTool` enables CrewAI agents to invoke Amazon Bedrock Agents and leverage their capabilities within your workflows.
## Installation
```bash
uv pip install 'crewai[tools]'
```
## Requirements
- AWS credentials configured (either through environment variables or AWS CLI)
- `boto3` and `python-dotenv` packages
- Access to Amazon Bedrock Agents
## Usage
Here's how to use the tool with a CrewAI agent:
```python {2, 4-8}
from crewai import Agent, Task, Crew
from crewai_tools.aws.bedrock.agents.invoke_agent_tool import BedrockInvokeAgentTool
# Initialize the tool
agent_tool = BedrockInvokeAgentTool(
agent_id="your-agent-id",
agent_alias_id="your-agent-alias-id"
)
# Create a CrewAI agent that uses the tool
aws_expert = Agent(
role='AWS Service Expert',
goal='Help users understand AWS services and quotas',
backstory='I am an expert in AWS services and can provide detailed information about them.',
tools=[agent_tool],
verbose=True
)
# Create a task for the agent
quota_task = Task(
description="Find out the current service quotas for EC2 in us-west-2 and explain any recent changes.",
agent=aws_expert
)
# Create a crew with the agent
crew = Crew(
agents=[aws_expert],
tasks=[quota_task],
verbose=2
)
# Run the crew
result = crew.kickoff()
print(result)
```
## Tool Arguments
| Argument | Type | Required | Default | Description |
|:---------|:-----|:---------|:--------|:------------|
| **agent_id** | `str` | Yes | None | The unique identifier of the Bedrock agent |
| **agent_alias_id** | `str` | Yes | None | The unique identifier of the agent alias |
| **session_id** | `str` | No | timestamp | The unique identifier of the session |
| **enable_trace** | `bool` | No | False | Whether to enable trace for debugging |
| **end_session** | `bool` | No | False | Whether to end the session after invocation |
| **description** | `str` | No | None | Custom description for the tool |
## Environment Variables
```bash
BEDROCK_AGENT_ID=your-agent-id # Alternative to passing agent_id
BEDROCK_AGENT_ALIAS_ID=your-agent-alias-id # Alternative to passing agent_alias_id
AWS_REGION=your-aws-region # Defaults to us-west-2
AWS_ACCESS_KEY_ID=your-access-key # Required for AWS authentication
AWS_SECRET_ACCESS_KEY=your-secret-key # Required for AWS authentication
```
## Advanced Usage
### Multi-Agent Workflow with Session Management
```python {2, 4-22}
from crewai import Agent, Task, Crew, Process
from crewai_tools.aws.bedrock.agents.invoke_agent_tool import BedrockInvokeAgentTool
# Initialize tools with session management
initial_tool = BedrockInvokeAgentTool(
agent_id="your-agent-id",
agent_alias_id="your-agent-alias-id",
session_id="custom-session-id"
)
followup_tool = BedrockInvokeAgentTool(
agent_id="your-agent-id",
agent_alias_id="your-agent-alias-id",
session_id="custom-session-id"
)
final_tool = BedrockInvokeAgentTool(
agent_id="your-agent-id",
agent_alias_id="your-agent-alias-id",
session_id="custom-session-id",
end_session=True
)
# Create agents for different stages
researcher = Agent(
role='AWS Service Researcher',
goal='Gather information about AWS services',
backstory='I am specialized in finding detailed AWS service information.',
tools=[initial_tool]
)
analyst = Agent(
role='Service Compatibility Analyst',
goal='Analyze service compatibility and requirements',
backstory='I analyze AWS services for compatibility and integration possibilities.',
tools=[followup_tool]
)
summarizer = Agent(
role='Technical Documentation Writer',
goal='Create clear technical summaries',
backstory='I specialize in creating clear, concise technical documentation.',
tools=[final_tool]
)
# Create tasks
research_task = Task(
description="Find all available AWS services in us-west-2 region.",
agent=researcher
)
analysis_task = Task(
description="Analyze which services support IPv6 and their implementation requirements.",
agent=analyst
)
summary_task = Task(
description="Create a summary of IPv6-compatible services and their key features.",
agent=summarizer
)
# Create a crew with the agents and tasks
crew = Crew(
agents=[researcher, analyst, summarizer],
tasks=[research_task, analysis_task, summary_task],
process=Process.sequential,
verbose=2
)
# Run the crew
result = crew.kickoff()
```
## Use Cases
### Hybrid Multi-Agent Collaborations
- Create workflows where CrewAI agents collaborate with managed Bedrock agents running as services in AWS
- Enable scenarios where sensitive data processing happens within your AWS environment while other agents operate externally
- Bridge on-premises CrewAI agents with cloud-based Bedrock agents for distributed intelligence workflows
### Data Sovereignty and Compliance
- Keep data-sensitive agentic workflows within your AWS environment while allowing external CrewAI agents to orchestrate tasks
- Maintain compliance with data residency requirements by processing sensitive information only within your AWS account
- Enable secure multi-agent collaborations where some agents cannot access your organization's private data
### Seamless AWS Service Integration
- Access any AWS service through Amazon Bedrock Actions without writing complex integration code
- Enable CrewAI agents to interact with AWS services through natural language requests
- Leverage pre-built Bedrock agent capabilities to interact with AWS services like Bedrock Knowledge Bases, Lambda, and more
### Scalable Hybrid Agent Architectures
- Offload computationally intensive tasks to managed Bedrock agents while lightweight tasks run in CrewAI
- Scale agent processing by distributing workloads between local CrewAI agents and cloud-based Bedrock agents
### Cross-Organizational Agent Collaboration
- Enable secure collaboration between your organization's CrewAI agents and partner organizations' Bedrock agents
- Create workflows where external expertise from Bedrock agents can be incorporated without exposing sensitive data
- Build agent ecosystems that span organizational boundaries while maintaining security and data control

View File

@@ -0,0 +1,276 @@
---
title: CrewAI Run Automation Tool
description: Enables CrewAI agents to invoke CrewAI Platform automations and leverage external crew services within your workflows.
icon: robot
---
# `InvokeCrewAIAutomationTool`
The `InvokeCrewAIAutomationTool` provides CrewAI Platform API integration with external crew services. This tool allows you to invoke and interact with CrewAI Platform automations from within your CrewAI agents, enabling seamless integration between different crew workflows.
## Installation
```bash
uv pip install 'crewai[tools]'
```
## Requirements
- CrewAI Platform API access
- Valid bearer token for authentication
- Network access to CrewAI Platform automation endpoints
## Usage
Here's how to use the tool with a CrewAI agent:
```python {2, 4-9}
from crewai import Agent, Task, Crew
from crewai_tools import InvokeCrewAIAutomationTool
# Initialize the tool
automation_tool = InvokeCrewAIAutomationTool(
crew_api_url="https://data-analysis-crew-[...].crewai.com",
crew_bearer_token="your_bearer_token_here",
crew_name="Data Analysis Crew",
crew_description="Analyzes data and generates insights"
)
# Create a CrewAI agent that uses the tool
automation_coordinator = Agent(
role='Automation Coordinator',
goal='Coordinate and execute automated crew tasks',
backstory='I am an expert at leveraging automation tools to execute complex workflows.',
tools=[automation_tool],
verbose=True
)
# Create a task for the agent
analysis_task = Task(
description="Execute data analysis automation and provide insights",
agent=automation_coordinator,
expected_output="Comprehensive data analysis report"
)
# Create a crew with the agent
crew = Crew(
agents=[automation_coordinator],
tasks=[analysis_task],
verbose=2
)
# Run the crew
result = crew.kickoff()
print(result)
```
## Tool Arguments
| Argument | Type | Required | Default | Description |
|:---------|:-----|:---------|:--------|:------------|
| **crew_api_url** | `str` | Yes | None | Base URL of the CrewAI Platform automation API |
| **crew_bearer_token** | `str` | Yes | None | Bearer token for API authentication |
| **crew_name** | `str` | Yes | None | Name of the crew automation |
| **crew_description** | `str` | Yes | None | Description of what the crew automation does |
| **max_polling_time** | `int` | No | 600 | Maximum time in seconds to wait for task completion |
| **crew_inputs** | `dict` | No | None | Dictionary defining custom input schema fields |
## Environment Variables
```bash
CREWAI_API_URL=https://your-crew-automation.crewai.com # Alternative to passing crew_api_url
CREWAI_BEARER_TOKEN=your_bearer_token_here # Alternative to passing crew_bearer_token
```
## Advanced Usage
### Custom Input Schema with Dynamic Parameters
```python {2, 4-15}
from crewai import Agent, Task, Crew
from crewai_tools import InvokeCrewAIAutomationTool
from pydantic import Field
# Define custom input schema
custom_inputs = {
"year": Field(..., description="Year to retrieve the report for (integer)"),
"region": Field(default="global", description="Geographic region for analysis"),
"format": Field(default="summary", description="Report format (summary, detailed, raw)")
}
# Create tool with custom inputs
market_research_tool = InvokeCrewAIAutomationTool(
crew_api_url="https://state-of-ai-report-crew-[...].crewai.com",
crew_bearer_token="your_bearer_token_here",
crew_name="State of AI Report",
crew_description="Retrieves a comprehensive report on state of AI for a given year and region",
crew_inputs=custom_inputs,
max_polling_time=15 * 60 # 15 minutes timeout
)
# Create an agent with the tool
research_agent = Agent(
role="Research Coordinator",
goal="Coordinate and execute market research tasks",
backstory="You are an expert at coordinating research tasks and leveraging automation tools.",
tools=[market_research_tool],
verbose=True
)
# Create and execute a task with custom parameters
research_task = Task(
description="Conduct market research on AI tools market for 2024 in North America with detailed format",
agent=research_agent,
expected_output="Comprehensive market research report"
)
crew = Crew(
agents=[research_agent],
tasks=[research_task]
)
result = crew.kickoff()
```
### Multi-Stage Automation Workflow
```python {2, 4-35}
from crewai import Agent, Task, Crew, Process
from crewai_tools import InvokeCrewAIAutomationTool
# Initialize different automation tools
data_collection_tool = InvokeCrewAIAutomationTool(
crew_api_url="https://data-collection-crew-[...].crewai.com",
crew_bearer_token="your_bearer_token_here",
crew_name="Data Collection Automation",
crew_description="Collects and preprocesses raw data"
)
analysis_tool = InvokeCrewAIAutomationTool(
crew_api_url="https://analysis-crew-[...].crewai.com",
crew_bearer_token="your_bearer_token_here",
crew_name="Analysis Automation",
crew_description="Performs advanced data analysis and modeling"
)
reporting_tool = InvokeCrewAIAutomationTool(
crew_api_url="https://reporting-crew-[...].crewai.com",
crew_bearer_token="your_bearer_token_here",
crew_name="Reporting Automation",
crew_description="Generates comprehensive reports and visualizations"
)
# Create specialized agents
data_collector = Agent(
role='Data Collection Specialist',
goal='Gather and preprocess data from various sources',
backstory='I specialize in collecting and cleaning data from multiple sources.',
tools=[data_collection_tool]
)
data_analyst = Agent(
role='Data Analysis Expert',
goal='Perform advanced analysis on collected data',
backstory='I am an expert in statistical analysis and machine learning.',
tools=[analysis_tool]
)
report_generator = Agent(
role='Report Generation Specialist',
goal='Create comprehensive reports and visualizations',
backstory='I excel at creating clear, actionable reports from complex data.',
tools=[reporting_tool]
)
# Create sequential tasks
collection_task = Task(
description="Collect market data for Q4 2024 analysis",
agent=data_collector
)
analysis_task = Task(
description="Analyze collected data to identify trends and patterns",
agent=data_analyst
)
reporting_task = Task(
description="Generate executive summary report with key insights and recommendations",
agent=report_generator
)
# Create a crew with sequential processing
crew = Crew(
agents=[data_collector, data_analyst, report_generator],
tasks=[collection_task, analysis_task, reporting_task],
process=Process.sequential,
verbose=2
)
result = crew.kickoff()
```
## Use Cases
### Distributed Crew Orchestration
- Coordinate multiple specialized crew automations to handle complex, multi-stage workflows
- Enable seamless handoffs between different automation services for comprehensive task execution
- Scale processing by distributing workloads across multiple CrewAI Platform automations
### Cross-Platform Integration
- Bridge CrewAI agents with CrewAI Platform automations for hybrid local-cloud workflows
- Leverage specialized automations while maintaining local control and orchestration
- Enable secure collaboration between local agents and cloud-based automation services
### Enterprise Automation Pipelines
- Create enterprise-grade automation pipelines that combine local intelligence with cloud processing power
- Implement complex business workflows that span multiple automation services
- Enable scalable, repeatable processes for data analysis, reporting, and decision-making
### Dynamic Workflow Composition
- Dynamically compose workflows by chaining different automation services based on task requirements
- Enable adaptive processing where the choice of automation depends on data characteristics or business rules
- Create flexible, reusable automation components that can be combined in various ways
### Specialized Domain Processing
- Access domain-specific automations (financial analysis, legal research, technical documentation) from general-purpose agents
- Leverage pre-built, specialized crew automations without rebuilding complex domain logic
- Enable agents to access expert-level capabilities through targeted automation services
## Custom Input Schema
When defining `crew_inputs`, use Pydantic Field objects to specify the input parameters:
```python
from pydantic import Field
crew_inputs = {
"required_param": Field(..., description="This parameter is required"),
"optional_param": Field(default="default_value", description="This parameter is optional"),
"typed_param": Field(..., description="Integer parameter", ge=1, le=100) # With validation
}
```
## Error Handling
The tool provides comprehensive error handling for common scenarios:
- **API Connection Errors**: Network connectivity issues with CrewAI Platform
- **Authentication Errors**: Invalid or expired bearer tokens
- **Timeout Errors**: Tasks that exceed the maximum polling time
- **Task Failures**: Crew automations that fail during execution
- **Input Validation Errors**: Invalid parameters passed to automation endpoints
## API Endpoints
The tool interacts with two main API endpoints:
- `POST {crew_api_url}/kickoff`: Starts a new crew automation task
- `GET {crew_api_url}/status/{crew_id}`: Checks the status of a running task
## Notes
- The tool automatically polls the status endpoint every second until completion or timeout
- Successful tasks return the result directly, while failed tasks return error information
- Bearer tokens should be kept secure and not hardcoded in production environments
- Consider using environment variables for sensitive configuration like bearer tokens
- Custom input schemas must be compatible with the target crew automation's expected parameters

View File

@@ -0,0 +1,72 @@
---
title: "개요"
description: "CrewAI 에이전트를 외부 자동화 및 관리형 AI 서비스와 연결"
icon: "plug"
mode: "wide"
---
통합 도구를 사용하면 에이전트가 다른 자동화 플랫폼이나 관리형 AI 서비스에 작업을 위임할 수 있습니다. 이미 운영 중인 CrewAI Platform 자동화를 호출하거나 Amazon Bedrock과 같은 전문 제공업체에 태스크를 넘겨야 할 때 활용하세요.
## **사용 가능한 도구**
<CardGroup cols={2}>
<Card title="CrewAI 자동화 실행 도구" icon="robot" href="/ko/tools/integration/crewaiautomationtool">
실행 중인 CrewAI Platform 자동화를 호출하고 사용자 입력을 전달하며, 결과를 에이전트로 다시 수집합니다.
</Card>
<Card title="Bedrock Invoke Agent 도구" icon="aws" href="/ko/tools/integration/bedrockinvokeagenttool">
크루에서 Amazon Bedrock Agent를 호출하고 기존 AWS 가드레일을 재사용하며 응답을 현재 워크플로우로 되돌립니다.
</Card>
</CardGroup>
## **주요 사용 사례**
- **자동화 연결**: 한 크루 또는 플로우에서 다른 CrewAI 자동화를 연속 실행
- **엔터프라이즈 핸드오프**: 사내 정책과 가드레일을 담고 있는 Bedrock Agent에 태스크 위임
- **하이브리드 워크플로우**: CrewAI의 추론 능력과 외부의 에이전트 API를 결합
- **장기 실행 작업**: 외부 자동화를 폴링하고 최종 결과를 현재 실행에 병합
## **빠른 시작 예시**
```python
from crewai import Agent, Task, Crew
from crewai_tools import InvokeCrewAIAutomationTool
from crewai_tools.aws.bedrock.agents.invoke_agent_tool import BedrockInvokeAgentTool
# 외부 자동화
analysis_automation = InvokeCrewAIAutomationTool(
crew_api_url="https://analysis-crew.acme.crewai.com",
crew_bearer_token="YOUR_BEARER_TOKEN",
crew_name="Analysis Automation",
crew_description="프로덕션 분석 파이프라인을 실행",
)
# Bedrock 관리형 에이전트
knowledge_router = BedrockInvokeAgentTool(
agent_id="bedrock-agent-id",
agent_alias_id="prod",
)
automation_strategist = Agent(
role="자동화 전략가",
goal="외부 자동화를 조율하고 결과를 요약",
backstory="엔터프라이즈 워크플로우를 조정하고 전문 서비스에 태스크를 위임할 시점을 알고 있습니다.",
tools=[analysis_automation, knowledge_router],
verbose=True,
)
execute_playbook = Task(
description="분석 자동화를 실행하고 Bedrock 에이전트에게 경영진 브리핑용 핵심 포인트를 요청하세요.",
agent=automation_strategist,
)
Crew(agents=[automation_strategist], tasks=[execute_playbook]).kickoff()
```
## **모범 사례**
- **자격 증명 보호**: API 키와 토큰은 환경 변수 또는 비밀 관리 솔루션에 저장하세요
- **지연 시간 고려**: 외부 자동화는 시간이 더 걸릴 수 있으므로 폴링 주기와 타임아웃을 적절히 설정하세요
- **세션 재사용**: Bedrock Agent는 세션 ID를 지원하므로 여러 호출 간에 컨텍스트를 유지할 수 있습니다
- **응답 검증**: 후속 단계로 전달하기 전에 외부 출력(JSON, 텍스트, 상태 코드 등)을 정규화하세요
- **사용량 모니터링**: CrewAI Platform 로그나 AWS CloudWatch를 통해 할당량 초과와 실패를 조기에 감지하세요

View File

@@ -288,14 +288,12 @@ Você deve estar autenticado no CrewAI Enterprise para usar estes comandos de ge
Assista ao vídeo tutorial para uma demonstração passo-a-passo de implantação do seu crew no [CrewAI Enterprise](http://app.crewai.com) usando o CLI.
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/3EqSV-CYDZA"
title="CrewAI Deployment Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
### 11. Chaves de API

View File

@@ -468,14 +468,13 @@ Explore esses exemplos para descobrir como aproveitar CrewAI Flows em diferentes
Além disso, confira nosso vídeo no YouTube sobre como utilizar flows no CrewAI abaixo!
<iframe
width="560"
height="315"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/MTb5my6VOT8"
title="YouTube video player"
frameborder="0"
title="Visão geral de Flows no CrewAI"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
referrerPolicy="strict-origin-when-cross-origin"
allowFullScreen
></iframe>
## Executando Flows
@@ -508,4 +507,4 @@ Por compatibilidade retroativa, também é possível usar:
crewai flow kickoff
```
No entanto, o comando `crewai run` é agora o preferido, pois funciona tanto para crews quanto para flows.
No entanto, o comando `crewai run` é agora o preferido, pois funciona tanto para crews quanto para flows.

View File

@@ -1029,14 +1029,13 @@ except RuntimeError as e:
Veja o vídeo abaixo para aprender como utilizar saídas estruturadas no CrewAI:
<iframe
width="560"
height="315"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="YouTube video player"
frameborder="0"
title="Saídas estruturadas no CrewAI"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
referrerPolicy="strict-origin-when-cross-origin"
allowFullScreen
></iframe>
## Conclusão

View File

@@ -0,0 +1,158 @@
---
title: 'Repositórios de Agentes'
description: 'Aprenda a usar Repositórios de Agentes para compartilhar e reutilizar seus agentes entre equipes e projetos'
icon: 'database'
mode: "wide"
---
Repositórios de Agentes permitem que usuários do enterprise armazenem, compartilhem e reutilizem definições de agentes entre equipes e projetos. Esse recurso possibilita manter uma biblioteca centralizada de agentes padronizados, promovendo consistência e reduzindo a duplicidade de esforços.
## Benefícios dos Repositórios de Agentes
- **Padronização**: Mantenha definições de agentes consistentes em toda a sua organização
- **Reutilização**: Crie um agente uma vez e use-o em vários crews e projetos
- **Governança**: Implemente políticas organizacionais para configurações de agentes
- **Colaboração**: Permita que equipes compartilhem e evoluam o trabalho umas das outras
## Usando Repositórios de Agentes
### Pré-requisitos
1. Você deve ter uma conta na CrewAI, experimente o [plano gratuito](https://app.crewai.com).
2. Você precisa estar autenticado usando o CLI da CrewAI.
3. Se você tiver mais de uma organização, garanta que alternou para a organização correta usando o comando do CLI:
```bash
crewai org switch <org_id>
```
### Criando e gerenciando agentes em repositórios
Para criar e gerenciar agentes em repositórios, utilize o Painel do Enterprise.
### Carregando agentes de repositórios
Você pode carregar agentes de repositórios no seu código usando o parâmetro `from_repository`:
```python
from crewai import Agent
# Crie um agente carregando-o de um repositório
# O agente é carregado com todas as suas configurações predefinidas
researcher = Agent(
from_repository="market-research-agent"
)
```
### Sobrescrevendo configurações do repositório
Você pode sobrescrever configurações específicas do repositório informando-as na configuração do agente:
```python
researcher = Agent(
from_repository="market-research-agent",
goal="Pesquisar as tendências mais recentes em desenvolvimento de IA", # Sobrescreve o goal do repositório
verbose=True # Adiciona uma configuração que não está no repositório
)
```
### Exemplo: criando um Crew com agentes do repositório
```python
from crewai import Crew, Agent, Task
# Carregue agentes dos repositórios
researcher = Agent(
from_repository="market-research-agent"
)
writer = Agent(
from_repository="content-writer-agent"
)
# Crie tarefas
research_task = Task(
description="Pesquise as tendências mais recentes em IA",
agent=researcher
)
writing_task = Task(
description="Escreva um relatório abrangente com base na pesquisa",
agent=writer
)
# Crie o crew
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
verbose=True
)
# Execute o crew
result = crew.kickoff()
```
### Exemplo: usando `kickoff()` com agentes do repositório
Você também pode usar agentes de repositório diretamente com o método `kickoff()` para interações mais simples:
```python
from crewai import Agent
from pydantic import BaseModel
from typing import List
# Defina um formato de saída estruturado
class MarketAnalysis(BaseModel):
key_trends: List[str]
opportunities: List[str]
recommendation: str
# Carregue um agente do repositório
analyst = Agent(
from_repository="market-analyst-agent",
verbose=True
)
# Obtenha uma resposta livre (texto)
result = analyst.kickoff("Analise o mercado de IA em 2025")
print(result.raw) # Acessa a resposta bruta
# Obtenha saída estruturada
structured_result = analyst.kickoff(
"Forneça uma análise estruturada do mercado de IA em 2025",
response_format=MarketAnalysis
)
# Acesse os dados estruturados
print(f"Principais Tendências: {structured_result.pydantic.key_trends}")
print(f"Recomendação: {structured_result.pydantic.recommendation}")
```
## Boas práticas
1. **Convenção de nomes**: Use nomes claros e descritivos para seus agentes de repositório
2. **Documentação**: Inclua descrições abrangentes para cada agente
3. **Gestão de ferramentas**: Garanta que as ferramentas referenciadas pelos agentes do repositório estejam disponíveis no seu ambiente
4. **Controle de acesso**: Gerencie permissões para que apenas membros autorizados possam modificar agentes do repositório
## Gerenciamento de organização
Para alternar entre organizações ou ver sua organização atual, use o CLI da CrewAI:
```bash
# Ver organização atual
crewai org current
# Alternar para outra organização
crewai org switch <org_id>
# Listar todas as organizações disponíveis
crewai org list
```
<Note>
Ao carregar agentes de repositórios, você deve estar autenticado e ter alternado para a organização correta. Se você receber erros, verifique seu status de autenticação e as configurações de organização usando os comandos do CLI acima.
</Note>

View File

@@ -0,0 +1,105 @@
---
title: "Automações"
description: "Gerencie, implante e monitore seus crews (automações) em um só lugar."
icon: "rocket"
mode: "wide"
---
## Visão geral
Automações é o hub operacional para seus crews implantados. Use para implantar via GitHub ou arquivo ZIP, gerenciar variáveis de ambiente, reimplantar quando necessário e monitorar o status de cada automação.
<Frame>
![Visão Geral de Automações](/images/enterprise/automations-overview.png)
</Frame>
## Métodos de implantação
### Implantar via GitHub
Use para projetos versionados e implantação contínua.
<Steps>
<Step title="Conectar GitHub">
Clique em <b>Configure GitHub</b> e autorize o acesso.
</Step>
<Step title="Selecionar Repositório & Branch">
Escolha o <b>Repositório</b> e a <b>Branch</b> que deseja implantar.
</Step>
<Step title="Ativar Autodeploy (opcional)">
Ative <b>Automatically deploy new commits</b> para publicar a cada push.
</Step>
<Step title="Adicionar Variáveis de Ambiente">
Adicione segredos individualmente ou use <b>Bulk View</b> para múltiplas variáveis.
</Step>
<Step title="Implantar">
Clique em <b>Deploy</b> para criar sua automação.
</Step>
</Steps>
<Frame>
![Implantação via GitHub](/images/enterprise/deploy-from-github.png)
</Frame>
### Implantar via ZIP
Envie rapidamente sem Git — faça upload de um pacote ZIP do projeto.
<Steps>
<Step title="Escolher arquivo">
Selecione o arquivo ZIP do seu computador.
</Step>
<Step title="Adicionar Variáveis de Ambiente">
Informe as variáveis necessárias.
</Step>
<Step title="Implantar">
Clique em <b>Deploy</b> para criar sua automação.
</Step>
</Steps>
<Frame>
![Implantação via ZIP](/images/enterprise/deploy-from-zip.png)
</Frame>
## Painel de Automações
A tabela lista todas as automações com detalhes chave:
- **CREW**: Nome da automação
- **STATUS**: Online / Failed / In Progress
- **URL**: Endpoint para kickoff/status
- **TOKEN**: Token da automação
- **ACTIONS**: Redeploy, delete e outros
Use os controles no canto superior direito para filtrar e pesquisar:
- Pesquisar por nome
- Filtrar por <b>Status</b>
- Filtrar por <b>Source</b> (GitHub / Studio / ZIP)
Após implantar, você pode ver os detalhes da automação e usar o menu **Options** para `chat with this crew`, `Export React Component` e `Export as MCP`.
<Frame>
![Tabela de Automações](/images/enterprise/automations-table.png)
</Frame>
## Boas práticas
- Prefira implantações via GitHub para controle de versão e CI/CD
- Use redeploy para avançar após mudanças de código/config ou habilite autodeploy a cada push
## Relacionados
<CardGroup cols={3}>
<Card title="Implantar um Crew" href="/pt-BR/enterprise/guides/deploy-crew" icon="rocket">
Implante um Crew via GitHub ou arquivo ZIP.
</Card>
<Card title="Gatilhos de Automação" href="/pt-BR/enterprise/guides/automation-triggers" icon="trigger">
Dispare automações por webhooks ou API.
</Card>
<Card title="Automação com Webhook" href="/pt-BR/enterprise/guides/webhook-automation" icon="webhook">
Transmita eventos e atualizações em tempo real.
</Card>
</CardGroup>

View File

@@ -0,0 +1,90 @@
---
title: "Crew Studio"
description: "Crie novas automações com assistência de IA, editor visual e testes integrados."
icon: "pencil"
mode: "wide"
---
## Visão geral
O Crew Studio é um espaço interativo com assistência de IA para criar novas automações do zero usando linguagem natural e um editor visual de fluxo de trabalho.
<Frame>
![Visão Geral do Crew Studio](/images/enterprise/crew-studio-overview.png)
</Frame>
## Criação baseada em prompts
- Descreva a automação desejada; a IA gera agentes, tarefas e ferramentas.
- Use entrada por voz pelo ícone de microfone se preferir.
- Comece com prompts prontos para casos comuns.
<Frame>
![Construtor de Prompt](/images/enterprise/crew-studio-prompt.png)
</Frame>
## Editor Visual
O canvas reflete o fluxo como nós e arestas com três painéis de suporte que permitem configurar o fluxo sem escrever código ("vibe coding AI Agents"):
- **AI Thoughts (esquerda)**: raciocínio em tempo real enquanto o fluxo é projetado
- **Canvas (centro)**: agentes e tarefas como nós conectados
- **Resources (direita)**: componentes de arrastaresoltar (agentes, tarefas, ferramentas)
Você pode arrastar e soltar agentes, tarefas e ferramentas no canvas ou usar a seção de chat para construir os agentes. Ambos compartilham estado e podem ser usados de forma intercambiável.
<Frame>
![Canvas Visual](/images/enterprise/crew-studio-canvas.png)
</Frame>
## Execução & Depuração
Alterne para a visão <b>Execution</b> para executar e observar o fluxo:
- Linha do tempo de eventos
- Logs detalhados (Details, Messages, Raw Data)
- Execuções locais antes de publicar
<Frame>
![Visão de Execução](/images/enterprise/crew-studio-execution.png)
</Frame>
## Publicar & Exportar
- <b>Publish</b> para implantar uma automação
- <b>Download</b> do códigofonte como ZIP para desenvolvimento local
<Frame>
![Publicar & Download](/images/enterprise/crew-studio-publish.png)
</Frame>
Após publicar, você pode visualizar os detalhes da automação e usar o menu **Options** para `chat with this crew`, `Export React Component` e `Export as MCP`.
<Frame>
![Automação Publicada](/images/enterprise/crew-studio-published.png)
</Frame>
## Boas práticas
- Itere rapidamente no Studio; publique apenas quando estiver estável
- Restrinja permissões das ferramentas ao mínimo necessário
- Use Traces para validar comportamento e desempenho
## Relacionados
<CardGroup cols={4}>
<Card title="Habilitar o Crew Studio" href="/pt-BR/enterprise/guides/enable-crew-studio" icon="palette">
Habilite o Crew Studio.
</Card>
<Card title="Criar um Crew" href="/pt-BR/enterprise/guides/build-crew" icon="paintbrush">
Crie um Crew.
</Card>
<Card title="Implantar um Crew" href="/pt-BR/enterprise/guides/deploy-crew" icon="rocket">
Implante um Crew via GitHub ou ZIP.
</Card>
<Card title="Exportar um Componente React" href="/pt-BR/enterprise/guides/react-component-export" icon="download">
Exporte um componente React.
</Card>
</CardGroup>

View File

@@ -0,0 +1,47 @@
---
title: "Marketplace"
description: "Descubra, instale e governe ativos reutilizáveis para seus crews enterprise."
icon: "store"
mode: "wide"
---
## Visão geral
O Marketplace oferece uma superfície curada para descobrir integrações, ferramentas internas e ativos reutilizáveis que aceleram o desenvolvimento de crews.
<Frame>
![Marketplace Visão Geral](/images/enterprise/marketplace-overview.png)
</Frame>
## Descoberta
- Navegue por categoria e capacidade
- Pesquise por nome ou palavrachave
## Instalar & Habilitar
- Instalação com um clique para ativos aprovados
- Habilite ou desabilite por crew conforme necessário
- Configure variáveis de ambiente e escopos necessários
<Frame>
![Instalar & Configurar](/images/enterprise/marketplace-install.png)
</Frame>
Você também pode baixar templates diretamente do marketplace clicando em `Download` para usar localmente ou personalizar conforme necessário.
## Relacionados
<CardGroup cols={3}>
<Card title="Ferramentas & Integrações" href="/pt-BR/enterprise/features/tools-and-integrations" icon="wrench">
Conecte apps externos e gerencie ferramentas internas que seus agentes podem usar.
</Card>
<Card title="Repositório de Ferramentas" href="/pt-BR/enterprise/features/tool-repository" icon="toolbox">
Publique e instale ferramentas para ampliar as capacidades dos seus crews.
</Card>
<Card title="Repositório de Agentes" href="/pt-BR/enterprise/features/agent-repositories" icon="people-group">
Armazene, compartilhe e reutilize definições de agentes entre equipes e projetos.
</Card>
</CardGroup>

View File

@@ -0,0 +1,236 @@
---
title: "Ferramentas & Integrações"
description: "Conecte apps externos e gerencie ferramentas internas que seus agentes podem usar."
icon: "wrench"
mode: "wide"
---
## Visão geral
Ferramentas & Integrações é o hub central para conectar aplicações de terceiros e gerenciar ferramentas internas que seus agentes podem usar em tempo de execução.
<Frame>
![Ferramentas & Integrações](/images/enterprise/crew_connectors.png)
</Frame>
## Explorar
<Tabs>
<Tab title="Integrações" icon="plug">
## Aplicativos para Agentes (Integrações)
Conecte aplicações empresariais (por exemplo, Gmail, Google Drive, HubSpot, Slack) via OAuth para habilitar ações de agentes.
<Steps>
<Step title="Conectar">
Clique em <b>Conectar</b> no app desejado e conclua o OAuth.
</Step>
<Step title="Configurar">
Ajuste escopos, gatilhos e ações disponíveis conforme necessário.
</Step>
<Step title="Usar em Agentes">
Os serviços conectados ficam disponíveis como ferramentas para seus agentes.
</Step>
</Steps>
<Frame>
![Aplicativos](/images/enterprise/agent-apps.png)
</Frame>
### Conectar sua conta
1. Acesse <Link href="https://app.crewai.com/crewai_plus/connectors">Integrações</Link>
2. Clique em <b>Conectar</b> no serviço desejado
3. Conclua o fluxo OAuth e conceda os escopos
4. Copie seu Token Enterprise na aba <b>Integração</b>
<Frame>
![Token Enterprise](/images/enterprise/enterprise_action_auth_token.png)
</Frame>
### Instalar ferramentas de integração
Para usar as integrações localmente, instale a versão mais recente do pacote `crewai-tools`.
```bash
uv add crewai-tools
```
### Exemplo de uso
<Tip>
Todos os serviços autenticados ficam disponíveis como ferramentas. Adicione `CrewaiEnterpriseTools` ao agente e pronto.
</Tip>
```python
from crewai import Agent, Task, Crew
from crewai_tools import CrewaiEnterpriseTools
enterprise_tools = CrewaiEnterpriseTools(
enterprise_token="seu_enterprise_token"
)
print(enterprise_tools)
email_agent = Agent(
role="Gerente de Email",
goal="Gerenciar e organizar comunicações por email",
backstory="Assistente de IA especializado em gestão de emails",
tools=enterprise_tools
)
email_task = Task(
description="Criar e enviar follow-up para john@example.com sobre a atualização do projeto",
agent=email_agent,
expected_output="Confirmação de envio do email com sucesso"
)
crew = Crew(agents=[email_agent], tasks=[email_task])
crew.kickoff()
```
### Filtrando ferramentas
```python
from crewai_tools import CrewaiEnterpriseTools
enterprise_tools = CrewaiEnterpriseTools(
actions_list=["gmail_find_email"]
)
gmail_tool = enterprise_tools["gmail_find_email"]
gmail_agent = Agent(
role="Gerente de Gmail",
goal="Gerenciar comunicações e notificações no Gmail",
backstory="Assistente de IA para coordenação de emails",
tools=[gmail_tool]
)
notification_task = Task(
description="Encontrar o email de john@example.com",
agent=gmail_agent,
expected_output="Email encontrado de john@example.com"
)
crew = Crew(agents=[gmail_agent], tasks=[notification_task])
```
Em um crew implantado, você pode especificar quais ações ficam disponíveis em cada integração na página de configurações do serviço.
<Frame>
![Filtrar Ações](/images/enterprise/filtering_enterprise_action_tools.png)
</Frame>
### Implantações com escopo (organizações multiusuário)
Você pode escopar cada integração para um usuário específico (por exemplo, usar a conta Gmail de um usuário).
<Tip>
Útil quando diferentes equipes/usuários precisam manter o acesso a dados isolado.
</Tip>
Use `user_bearer_token` para escopar a autenticação ao usuário solicitante. Se o usuário não estiver logado, o crew não usará integrações conectadas; caso contrário, usa o token padrão configurado na implantação.
<Frame>
![Token de Usuário](/images/enterprise/user_bearer_token.png)
</Frame>
<div id="catalog"></div>
### Catálogo
#### Comunicação & Colaboração
- Gmail — Gerenciamento de emails e rascunhos
- Slack — Notificações e alertas do workspace
- Microsoft — Integração com Office 365 e Teams
#### Gestão de Projetos
- Jira — Rastreamento de issues e projetos
- ClickUp — Gestão de tarefas e produtividade
- Asana — Coordenação de tarefas de equipe
- Notion — Páginas e bancos de dados
- Linear — Gestão de bugs e projetos de software
- GitHub — Repositórios e issues
#### CRM
- Salesforce — Contas e oportunidades
- HubSpot — Pipeline de vendas e contatos
- Zendesk — Tickets de suporte
#### Negócios & Finanças
- Stripe — Pagamentos e clientes
- Shopify — Ecommerce e produtos
#### Produtividade & Armazenamento
- Google Sheets — Sincronização de planilhas
- Google Calendar — Eventos e agenda
- Box — Armazenamento de arquivos
…e mais por vir!
</Tab>
<Tab title="Ferramentas Internas" icon="toolbox">
## Ferramentas Internas
Crie ferramentas localmente, publique no Repositório de Ferramentas da CrewAI Enterprise e use nos seus agentes.
<Tip>
Antes de executar os comandos abaixo, faça login na sua conta CrewAI Enterprise:
```bash
crewai login
```
</Tip>
<Frame>
![Ferramenta Interna](/images/enterprise/tools-integrations-internal.png)
</Frame>
<Steps>
<Step title="Criar">
Criar uma nova ferramenta localmente.
```bash
crewai tool create your-tool
```
</Step>
<Step title="Publicar">
Publicar a ferramenta no Repositório de Ferramentas.
```bash
crewai tool publish
```
</Step>
<Step title="Instalar">
Instalar a ferramenta do Repositório de Ferramentas.
```bash
crewai tool install your-tool
```
</Step>
</Steps>
Gerenciar:
- Nome e descrição
- Visibilidade (Privado / Público)
- Variáveis de ambiente necessárias
- Histórico de versões e downloads
- Acesso por equipe e função
<Frame>
![Configurações de Ferramenta](/images/enterprise/tool-configs.png)
</Frame>
</Tab>
</Tabs>
## Relacionados
<CardGroup cols={2}>
<Card title="Repositório de Ferramentas" href="/pt-BR/enterprise/features/tool-repository" icon="toolbox">
Publique e instale ferramentas para ampliar as capacidades dos seus crews.
</Card>
<Card title="Automação com Webhook" href="/pt-BR/enterprise/guides/webhook-automation" icon="bolt">
Automatize fluxos e integre com plataformas e serviços externos.
</Card>
</CardGroup>

View File

@@ -1,75 +1,138 @@
---
title: "Triggers de Automação"
description: "Execute automaticamente seus workflows CrewAI quando eventos específicos ocorrem em integrações conectadas"
title: "Visão Geral de Triggers"
description: "Entenda como os triggers da CrewAI Enterprise funcionam, como gerenciá-los e onde encontrar playbooks específicos de integração"
icon: "bolt"
mode: "wide"
---
Os triggers de automação permitem executar automaticamente suas implantações CrewAI quando eventos específicos ocorrem em suas integrações conectadas, criando workflows poderosos orientados por eventos que respondem a mudanças em tempo real em seus sistemas de negócio.
Os triggers da CrewAI Enterprise conectam suas automações a eventos em tempo real nas ferramentas que sua equipe já usa. Em vez de fazer polling ou depender de execuções manuais, os triggers escutam mudanças — novos emails, atualizações de calendário, alterações no CRM — e iniciam imediatamente a crew ou flow que você definiu.
## Visão Geral
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/TpQ45lAZh48"
title="Visão geral dos triggers da CrewAI"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
Com triggers de automação, você pode:
### Playbooks de Integração
- **Responder a eventos em tempo real** - Execute workflows automaticamente quando condições específicas forem atendidas
- **Integrar com sistemas externos** - Conecte com plataformas como Gmail, Outlook, OneDrive, JIRA, Slack, Stripe e muito mais
- **Escalar sua automação** - Lide com eventos de alto volume sem intervenção manual
- **Manter contexto** - Acesse dados do trigger dentro de suas crews e flows
Os guias abaixo explicam, em detalhe, como habilitar e testar cada integração:
## Gerenciando Triggers de Automação
<CardGroup cols={2}>
<Card title="Trigger do Gmail" icon="envelope">
<a href="/pt-BR/enterprise/guides/gmail-trigger">Dispare crews quando novos emails chegarem ou threads forem atualizadas.</a>
</Card>
<Card title="Trigger do Google Calendar" icon="calendar-days">
<a href="/pt-BR/enterprise/guides/google-calendar-trigger">Reaja a eventos de calendário criados, atualizados ou cancelados.</a>
</Card>
<Card title="Trigger do Google Drive" icon="folder-open">
<a href="/pt-BR/enterprise/guides/google-drive-trigger">Monitore uploads, edições e exclusões de arquivos no Drive.</a>
</Card>
<Card title="Trigger do Outlook" icon="envelope-open">
<a href="/pt-BR/enterprise/guides/outlook-trigger">Automatize respostas a novos emails ou eventos removidos no Outlook.</a>
</Card>
<Card title="Trigger do OneDrive" icon="cloud">
<a href="/pt-BR/enterprise/guides/onedrive-trigger">Audite atividade e compartilhamentos de arquivos no OneDrive.</a>
</Card>
<Card title="Trigger do Microsoft Teams" icon="comments">
<a href="/pt-BR/enterprise/guides/microsoft-teams-trigger">Inicie workflows quando novos chats forem criados no Teams.</a>
</Card>
<Card title="Trigger do HubSpot" icon="hubspot">
<a href="/pt-BR/enterprise/guides/hubspot-trigger">Execute automações a partir de workflows e eventos de ciclo de vida no HubSpot.</a>
</Card>
<Card title="Trigger do Salesforce" icon="salesforce">
<a href="/pt-BR/enterprise/guides/salesforce-trigger">Conecte processos do Salesforce às suas crews para automação de CRM.</a>
</Card>
<Card title="Trigger do Slack" icon="slack">
<a href="/pt-BR/enterprise/guides/slack-trigger">Dispare crews diretamente de comandos slash no Slack.</a>
</Card>
<Card title="Trigger do Zapier" icon="bolt">
<a href="/pt-BR/enterprise/guides/zapier-trigger">Integre a CrewAI com milhares de apps suportados pelo Zapier.</a>
</Card>
</CardGroup>
## Capacidades dos Triggers
Com triggers você pode:
- **Responder em tempo real** Executar workflows automaticamente quando condições forem atendidas
- **Integrar com sistemas externos** Conectar Gmail, Outlook, OneDrive, JIRA, Slack, Stripe e muito mais
- **Escalar automações** Lidar com alto volume de eventos sem intervenção manual
- **Manter contexto** Acessar dados do trigger dentro das suas crews e flows
## Gerenciando Triggers
### Visualizando Triggers Disponíveis
Para acessar e gerenciar seus triggers de automação:
1. Navegue até sua implantação no painel do CrewAI
2. Clique na aba **Triggers** para visualizar todas as integrações de trigger disponíveis
1. Abra sua automação no painel da CrewAI
2. Clique na aba **Triggers** para listar todas as integrações disponíveis
<Frame>
<img src="/images/enterprise/list-available-triggers.png" alt="Lista de triggers de automação disponíveis" />
<img src="/images/enterprise/list-available-triggers.png" alt="Lista de triggers disponíveis" />
</Frame>
Esta visualização mostra todas as integrações de trigger disponíveis para sua implantação, junto com seus status de conexão atuais.
### Habilitando e Desabilitando
### Habilitando e Desabilitando Triggers
Cada trigger pode ser facilmente habilitado ou desabilitado usando o botão de alternância:
Cada trigger possui uma chave de ativação:
<Frame>
<img src="/images/enterprise/trigger-selected.png" alt="Habilitar ou desabilitar triggers com alternância" />
<img src="/images/enterprise/trigger-selected.png" alt="Alternância de trigger habilitado" />
</Frame>
- **Habilitado (alternância azul)**: O trigger está ativo e executa automaticamente sua implantação quando os eventos especificados ocorrerem
- **Desabilitado (alternância cinza)**: O trigger está inativo e não responderá a eventos
- **Habilitado (azul)** Executa a automação quando o evento ocorrer
- **Desabilitado (cinza)** Ignora eventos
Simplesmente clique na alternância para mudar o estado do trigger. As alterações entram em vigor imediatamente.
As alterações são aplicadas imediatamente.
### Monitorando Execuções de Trigger
### Monitorando Execuções
Acompanhe o desempenho e histórico de suas execuções acionadas:
Use a lista de execuções para acompanhar histórico, status e payloads:
<Frame>
<img src="/images/enterprise/list-executions.png" alt="Lista de execuções acionadas por automação" />
<img src="/images/enterprise/list-executions.png" alt="Lista de execuções acionadas por triggers" />
</Frame>
## Construindo Automação
## Construindo Automações Orientadas por Trigger
Antes de construir sua automação, é útil entender a estrutura dos payloads de trigger que suas crews e flows receberão.
### Checklist de Configuração
### Repositório de Amostras de Payload
Antes de ativar em produção, confirme que você:
Mantemos um repositório abrangente com amostras de payload de várias fontes de trigger para ajudá-lo a construir e testar suas automações:
- Conectou a integração em **Tools & Integrations** e concluiu OAuth ou configuração de API
- Habilitou o trigger na automação correta
- Definiu variáveis de ambiente necessárias (tokens, IDs de tenant, segredos)
- Criou tarefas que analisam o payload no primeiro passo da crew/flow
- Decidiu se usará `allow_crewai_trigger_context` para injetar contexto automaticamente
- Configurou monitoramento (webhooks, históricos da CrewAI, alertas externos)
**🔗 [Amostras de Payload de Trigger CrewAI Enterprise](https://github.com/crewAIInc/crewai-enterprise-trigger-payload-samples)**
### Repositório de Payloads e Crews de Exemplo
Este repositório contém:
| Integração | Quando dispara | Amostras de payload | Crews de exemplo |
| :-- | :-- | :-- | :-- |
| Gmail | Novas mensagens, atualização de threads | [Payloads de alertas e threads](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/gmail) | [`new-email-crew.py`, `gmail-alert-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/gmail) |
| Google Calendar | Evento criado/atualizado/iniciado/encerrado/cancelado | [Payloads de eventos](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_calendar) | [`calendar-event-crew.py`, `calendar-meeting-crew.py`, `calendar-working-location-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_calendar) |
| Google Drive | Arquivo criado/atualizado/excluído | [Payloads de arquivos](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_drive) | [`drive-file-crew.py`, `drive-file-deletion-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/google_drive) |
| Outlook | Novo email, evento removido | [Payloads do Outlook](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/outlook) | [`outlook-message-crew.py`, `outlook-event-removal-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/outlook) |
| OneDrive | Operações de arquivo (criar, atualizar, compartilhar, excluir) | [Payloads do OneDrive](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/onedrive) | [`onedrive-file-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/onedrive) |
| HubSpot | Registros criados/atualizados (contatos, empresas, negócios) | [Payloads do HubSpot](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/hubspot) | [`hubspot-company-crew.py`, `hubspot-contact-crew.py`, `hubspot-record-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/hubspot) |
| Microsoft Teams | Chat criado | [Payload do Teams](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/microsoft-teams) | [`teams-chat-created-crew.py`](https://github.com/crewAIInc/crewai-enterprise-trigger-examples/tree/main/microsoft-teams) |
- **Exemplos reais de payload** de diferentes fontes de trigger (Gmail, Google Drive, etc.)
- **Documentação da estrutura de payload** mostrando o formato e campos disponíveis
Use essas amostras para ajustar o parsing, copiar a crew correspondente e substituir o payload de teste pelo dado real.
### Triggers com Crew
### Triggers com Crews
Suas definições de crew existentes funcionam perfeitamente com triggers, você só precisa ter uma tarefa para analisar o payload recebido:
Suas definições de crew funcionam naturalmente com triggers; basta ter uma tarefa que processe o payload recebido:
```python
@CrewBase
@@ -95,15 +158,13 @@ class MinhaCrewAutomatizada:
)
```
A crew receberá automaticamente e pode acessar o payload do trigger através dos mecanismos de contexto padrão do CrewAI.
### Integração com Flows
Para flows, você tem mais controle sobre como os dados do trigger são tratados:
Flows oferecem controle adicional sobre o uso do payload:
#### Acessando Payload do Trigger
#### Acessando o Payload
Todos os métodos `@start()` em seus flows aceitarão um parâmetro adicional chamado `crewai_trigger_payload`:
Todos os métodos `@start()` podem receber `crewai_trigger_payload`:
```python
from crewai.flow import Flow, start, listen
@@ -111,62 +172,48 @@ from crewai.flow import Flow, start, listen
class MeuFlowAutomatizado(Flow):
@start()
def lidar_com_trigger(self, crewai_trigger_payload: dict = None):
"""
Este método start pode receber dados do trigger
"""
if crewai_trigger_payload:
# Processa os dados do trigger
trigger_id = crewai_trigger_payload.get('id')
dados_evento = crewai_trigger_payload.get('payload', {})
# Armazena no estado do flow para uso por outros métodos
self.state.trigger_id = trigger_id
self.state.trigger_type = dados_evento
return dados_evento
# Lida com execução manual
return None
@listen(lidar_com_trigger)
def processar_dados(self, dados_trigger):
"""
Processa os dados do trigger
"""
# ... processa o trigger
```
#### Acionando Crews a partir de Flows
Ao iniciar uma crew dentro de um flow que foi acionado, passe o payload do trigger conforme ele:
```python
@start()
def delegar_para_crew(self, crewai_trigger_payload: dict = None):
"""
Delega processamento para uma crew especializada
"""
crew = MinhaCrewEspecializada()
# Passa o payload do trigger para a crew
resultado = crew.crew().kickoff(
inputs={
'parametro_personalizado': "valor_personalizado",
'crewai_trigger_payload': crewai_trigger_payload
},
)
return resultado
```
## Solução de Problemas
**Trigger não está sendo disparado:**
- Verifique se o trigger está habilitado
- Verifique o status de conexão da integração
**Trigger não dispara:**
- Verifique se está habilitado
- Confira o status da conexão
**Falhas de execução:**
- Verifique os logs de execução para detalhes do erro
- Se você está desenvolvendo, certifique-se de que as entradas incluem o parâmetro `crewai_trigger_payload` com o payload correto
- Consulte os logs para entender o erro
- Durante o desenvolvimento, garanta que `crewai_trigger_payload` está presente com o payload correto
Os triggers de automação transformam suas implantações CrewAI em sistemas responsivos orientados por eventos que podem se integrar perfeitamente com seus processos de negócio e ferramentas existentes.
Os triggers transformam suas implantações CrewAI em sistemas orientados por eventos, integrando-se perfeitamente aos processos e ferramentas já usados pelo seu time.
<Callout icon="github" title="Exemplos na prática">
<a href="https://github.com/crewAIInc/crewai-enterprise-trigger-examples">
Repositório CrewAI Enterprise Trigger Examples
</a>
</Callout>

View File

@@ -12,14 +12,12 @@ mode: "wide"
## Primeiros Passos
<iframe
width="100%"
height="400"
src="https://www.youtube.com/embed/-kSOTtYzgEw"
title="Building Crews with CrewAI CLI"
frameborder="0"
style={{ borderRadius: '10px' }}
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/-kSOTtYzgEw"
title="Building crews with the CrewAI CLI"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
### Instalação e Configuração

View File

@@ -18,9 +18,14 @@ O Salesforce é uma das principais plataformas de gestão de relacionamento com
## Demonstração
<Frame>
<iframe width="100%" height="400" src="https://www.youtube.com/embed/oJunVqjjfu4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</Frame>
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/oJunVqjjfu4"
title="Demonstração de trigger CrewAI + Salesforce"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
## Primeiros Passos
@@ -42,4 +47,4 @@ Cenários comuns de uso de triggers Salesforce + CrewAI incluem:
## Próximos Passos
Para instruções detalhadas de configuração e opções avançadas, entre em contato com o suporte da CrewAI Enterprise, que pode fornecer orientações personalizadas para o seu ambiente Salesforce e necessidades de negócio.
Para instruções detalhadas de configuração e opções avançadas, entre em contato com o suporte da CrewAI Enterprise, que pode fornecer orientações personalizadas para o seu ambiente Salesforce e necessidades de negócio.

View File

@@ -14,7 +14,7 @@ As ferramentas podem ser:
- **Privadas**: acessíveis apenas dentro da sua organização (padrão)
- **Públicas**: acessíveis a todos os usuários CrewAI se publicadas com a flag `--public`
O repositório não é um sistema de controle de versões. Use o Git para rastrear mudanças no código e permitir colaboração.
O repositório não é um sistema de controle de versões. Use Git para rastrear mudanças no código e permitir colaboração.
## Pré-requisitos
@@ -102,7 +102,8 @@ Você pode verificar o status das verificações de segurança de uma ferramenta
`CrewAI Enterprise > Tools > Your Tool > Versions`
<Card title="Precisa de ajuda?" icon="headset" href="mailto:support@crewai.com">
Entre em contato com nossa equipe de suporte para assistência com integração de API ou resolução de problemas.
</Card>
</Card>

View File

@@ -129,15 +129,14 @@ mode: "wide"
</Steps>
Aqui está um tutorial de como obter saídas estruturadas de forma consistente dos seus agentes:
<Frame>
<iframe
height="400"
width="100%"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
</Frame>
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="Saídas estruturadas no CrewAI"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
</Accordion>
<Accordion title="Como posso criar ferramentas personalizadas para meus agentes CrewAI?">

102
docs/pt-BR/index.mdx Normal file
View File

@@ -0,0 +1,102 @@
---
title: "CrewAI Documentação"
description: "Construa agentes colaborativos, crews e flows — prontos para produção desde o primeiro dia."
icon: "house"
mode: "wide"
---
<div
style={{
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
gap: 20,
textAlign: 'center',
padding: '48px 24px',
borderRadius: 16,
background: 'linear-gradient(180deg, rgba(235,102,88,0.12) 0%, rgba(201,76,60,0.08) 100%)',
border: '1px solid rgba(235,102,88,0.18)'
}}
>
<img src="/images/crew_only_logo.png" alt="CrewAI" width="250" height="100" />
<div style={{ maxWidth: 720 }}>
<h1 style={{ marginBottom: 12 }}>Construa sistemas multiagentes com confiança</h1>
<p style={{ color: 'var(--mint-text-2)' }}>
Crie agentes, orquestre crews e automatize flows com guardrails, memória, conhecimento e observabilidade integrados.
</p>
</div>
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 12, justifyContent: 'center' }}>
<a className="button button-primary" href="/pt-BR/quickstart">Começar agora</a>
<a className="button button-secondary" href="/pt-BR/changelog">Ver changelog</a>
<a className="button button-secondary" href="/pt-BR/api-reference/introduction">API Reference</a>
</div>
</div>
<div style={{ marginTop: 32 }} />
<CardGroup cols={3}>
<Card title="Introdução" href="/pt-BR/introduction" icon="sparkles">
Visão geral dos conceitos da CrewAI, arquitetura e casos de uso para agentes, crews e flows.
</Card>
<Card title="Instalação" href="/pt-BR/installation" icon="wrench">
Instale com `uv`, configure chaves de API e prepare o CLI para desenvolvimento local.
</Card>
<Card title="Quickstart" href="/pt-BR/quickstart" icon="rocket">
Crie sua primeira crew em poucos minutos. Aprenda o runtime, a estrutura do projeto e o loop de desenvolvimento.
</Card>
</CardGroup>
## Fundamentos
<CardGroup cols={3}>
<Card title="Agentes" href="/pt-BR/concepts/agents" icon="users">
Modele agentes com ferramentas, memória, conhecimento e saídas estruturadas. Inclui templates e boas práticas.
</Card>
<Card title="Flows" href="/pt-BR/concepts/flows" icon="arrow-progress">
Orquestre start/listen/router, gerencie estado, persista execuções e retome processos longos.
</Card>
<Card title="Tarefas & Processos" href="/pt-BR/concepts/tasks" icon="check">
Defina processos sequenciais, hierárquicos ou híbridos com guardrails, callbacks e intervenção humana.
</Card>
</CardGroup>
## Jornada Enterprise
<CardGroup cols={3}>
<Card title="Automations" href="/pt-BR/enterprise/features/automations" icon="server">
Gerencie ambientes, faça deploy seguro e monitore execuções ao vivo diretamente no console Enterprise.
</Card>
<Card title="Triggers & Flows" href="/pt-BR/enterprise/guides/automation-triggers" icon="bolt">
Conecte Gmail, Slack, Salesforce e muito mais. Injete payloads dos triggers em crews e flows automaticamente.
</Card>
<Card title="Gestão de times" href="/pt-BR/enterprise/guides/team-management" icon="users-gear">
Convide integrantes, configure RBAC e controle o acesso às automations em produção.
</Card>
</CardGroup>
## Novidades
<CardGroup cols={2}>
<Card title="Visão geral de triggers" href="/pt-BR/enterprise/guides/automation-triggers" icon="sparkles">
Guia unificado para Gmail, Drive, Outlook, Teams, OneDrive, HubSpot e outros — com payloads e crews de exemplo.
</Card>
<Card title="Ferramentas de integração" href="/pt-BR/tools/integration/overview" icon="plug">
Chame automations CrewAI existentes ou agentes do Amazon Bedrock diretamente das suas crews.
</Card>
</CardGroup>
<Callout title="Explore exemplos práticos" icon="github">
Acesse os <a href="/pt-BR/examples/cookbooks">examples e cookbooks</a> para implementações completas envolvendo agentes, flows e automations Enterprise.
</Callout>
## Conecte-se
<CardGroup cols={2}>
<Card title="Star no GitHub" href="https://github.com/crewAIInc/crewAI" icon="star">
Se a CrewAI acelera seu trabalho, deixe uma estrela e compartilhe seus projetos com a comunidade.
</Card>
<Card title="Participe da comunidade" href="https://community.crewai.com" icon="comments">
Tire dúvidas, divulgue workflows e solicite recursos junto a outros builders.
</Card>
</CardGroup>

View File

@@ -9,14 +9,12 @@ mode: "wide"
Assista a este tutorial em vídeo para uma demonstração passo a passo do processo de instalação:
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/-kSOTtYzgEw"
title="CrewAI Installation Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
## Tutorial em Texto

View File

@@ -42,6 +42,15 @@ class LinkedinProfileCrew():
A anotação `@CrewBase` é usada para decorar a classe principal do crew. Esta classe geralmente contém as configurações e métodos para criação de agentes, tarefas e do próprio crew.
<Tip>
`@CrewBase` faz bem mais do que registrar a classe:
- **Inicialização de configuração:** busca `agents_config` e `tasks_config` (padrões `config/agents.yaml` e `config/tasks.yaml`) ao lado do arquivo da classe, carrega esses YAMLs na inicialização e utiliza dicionários vazios quando os arquivos não existem.
- **Orquestração de decoradores:** mantém versões memoizadas dos métodos marcados com `@agent`, `@task`, `@before_kickoff` e `@after_kickoff` para que sejam instanciados uma única vez por crew e respeitem a ordem de declaração.
- **Encadeamento de hooks:** conecta automaticamente os hooks preservados ao objeto `Crew` retornado pelo método `@crew`, garantindo que executem antes e depois de `.kickoff()`.
- **Integração MCP:** quando a classe define `mcp_server_params`, `get_mcp_tools()` cria sob demanda um adaptador MCP, carrega as ferramentas declaradas e um hook interno pós-kickoff encerra o adaptador. Consulte a [visão geral de MCP](/pt-BR/mcp/overview) para detalhes de configuração.
</Tip>
### 2. Definição de Tool
```python
@@ -139,4 +148,4 @@ Repare como os campos `llm` e `tools` no arquivo YAML correspondem aos métodos
- **Flexibilidade**: Estruture seu crew de forma flexível, permitindo fácil adição ou remoção de agentes e tarefas.
- **Correspondência YAML-Código**: Assegure que os nomes e estruturas nos arquivos YAML correspondam corretamente aos métodos decorados em seu código Python.
Seguindo essas orientações e utilizando corretamente as anotações, você conseguirá criar crews bem estruturados e de fácil manutenção utilizando o framework CrewAI.
Seguindo essas orientações e utilizando corretamente as anotações, você conseguirá criar crews bem estruturados e de fácil manutenção utilizando o framework CrewAI.

View File

@@ -21,14 +21,12 @@ Atualmente, suportamos os seguintes mecanismos de transporte:
Assista a este tutorial em vídeo para um guia abrangente sobre a integração do MCP com o CrewAI:
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/TpQ45lAZh48"
title="CrewAI MCP Integration Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
## Instalação
@@ -151,6 +149,16 @@ class CrewWithMCP:
# ... restante da configuração do seu crew ...
```
<Tip>
Quando uma classe é decorada com `@CrewBase`, o ciclo de vida do adaptador é controlado automaticamente:
- A primeira chamada a `get_mcp_tools()` cria de forma preguiçosa um `MCPServerAdapter` compartilhado que é reutilizado por todos os agentes do crew.
- Após a conclusão de `.kickoff()`, um hook pós-kickoff injetado por `@CrewBase` encerra o adaptador, dispensando qualquer limpeza manual.
- Se `mcp_server_params` não estiver definido, `get_mcp_tools()` retorna uma lista vazia, permitindo manter o mesmo fluxo de código com ou sem MCP configurado.
Assim, é seguro chamar `get_mcp_tools()` em vários agentes ou habilitar/desabilitar MCP dependendo do ambiente.
</Tip>
### Configuração de Timeout de Conexão
Você pode configurar o timeout de conexão para servidores MCP definindo o atributo de classe `mcp_connect_timeout`. Se nenhum timeout for especificado, o padrão é 30 segundos.

View File

@@ -340,14 +340,12 @@ A forma mais fácil de fazer deploy da sua tripulação em produção é atravé
Assista a este vídeo tutorial para uma demonstração detalhada de como fazer deploy da sua tripulação na [CrewAI Enterprise](http://app.crewai.com) usando a CLI.
<iframe
width="100%"
height="400"
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/3EqSV-CYDZA"
title="CrewAI Deployment Guide"
frameborder="0"
style={{ borderRadius: '10px' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
allowFullScreen
></iframe>
<CardGroup cols={2}>

View File

@@ -0,0 +1,188 @@
---
title: Bedrock Invoke Agent Tool
description: Enables CrewAI agents to invoke Amazon Bedrock Agents and leverage their capabilities within your workflows
icon: aws
mode: "wide"
---
# `BedrockInvokeAgentTool`
The `BedrockInvokeAgentTool` enables CrewAI agents to invoke Amazon Bedrock Agents and leverage their capabilities within your workflows.
## Installation
```bash
uv pip install 'crewai[tools]'
```
## Requirements
- AWS credentials configured (either through environment variables or AWS CLI)
- `boto3` and `python-dotenv` packages
- Access to Amazon Bedrock Agents
## Usage
Here's how to use the tool with a CrewAI agent:
```python {2, 4-8}
from crewai import Agent, Task, Crew
from crewai_tools.aws.bedrock.agents.invoke_agent_tool import BedrockInvokeAgentTool
# Initialize the tool
agent_tool = BedrockInvokeAgentTool(
agent_id="your-agent-id",
agent_alias_id="your-agent-alias-id"
)
# Create a CrewAI agent that uses the tool
aws_expert = Agent(
role='AWS Service Expert',
goal='Help users understand AWS services and quotas',
backstory='I am an expert in AWS services and can provide detailed information about them.',
tools=[agent_tool],
verbose=True
)
# Create a task for the agent
quota_task = Task(
description="Find out the current service quotas for EC2 in us-west-2 and explain any recent changes.",
agent=aws_expert
)
# Create a crew with the agent
crew = Crew(
agents=[aws_expert],
tasks=[quota_task],
verbose=2
)
# Run the crew
result = crew.kickoff()
print(result)
```
## Tool Arguments
| Argument | Type | Required | Default | Description |
|:---------|:-----|:---------|:--------|:------------|
| **agent_id** | `str` | Yes | None | The unique identifier of the Bedrock agent |
| **agent_alias_id** | `str` | Yes | None | The unique identifier of the agent alias |
| **session_id** | `str` | No | timestamp | The unique identifier of the session |
| **enable_trace** | `bool` | No | False | Whether to enable trace for debugging |
| **end_session** | `bool` | No | False | Whether to end the session after invocation |
| **description** | `str` | No | None | Custom description for the tool |
## Environment Variables
```bash
BEDROCK_AGENT_ID=your-agent-id # Alternative to passing agent_id
BEDROCK_AGENT_ALIAS_ID=your-agent-alias-id # Alternative to passing agent_alias_id
AWS_REGION=your-aws-region # Defaults to us-west-2
AWS_ACCESS_KEY_ID=your-access-key # Required for AWS authentication
AWS_SECRET_ACCESS_KEY=your-secret-key # Required for AWS authentication
```
## Advanced Usage
### Multi-Agent Workflow with Session Management
```python {2, 4-22}
from crewai import Agent, Task, Crew, Process
from crewai_tools.aws.bedrock.agents.invoke_agent_tool import BedrockInvokeAgentTool
# Initialize tools with session management
initial_tool = BedrockInvokeAgentTool(
agent_id="your-agent-id",
agent_alias_id="your-agent-alias-id",
session_id="custom-session-id"
)
followup_tool = BedrockInvokeAgentTool(
agent_id="your-agent-id",
agent_alias_id="your-agent-alias-id",
session_id="custom-session-id"
)
final_tool = BedrockInvokeAgentTool(
agent_id="your-agent-id",
agent_alias_id="your-agent-alias-id",
session_id="custom-session-id",
end_session=True
)
# Create agents for different stages
researcher = Agent(
role='AWS Service Researcher',
goal='Gather information about AWS services',
backstory='I am specialized in finding detailed AWS service information.',
tools=[initial_tool]
)
analyst = Agent(
role='Service Compatibility Analyst',
goal='Analyze service compatibility and requirements',
backstory='I analyze AWS services for compatibility and integration possibilities.',
tools=[followup_tool]
)
summarizer = Agent(
role='Technical Documentation Writer',
goal='Create clear technical summaries',
backstory='I specialize in creating clear, concise technical documentation.',
tools=[final_tool]
)
# Create tasks
research_task = Task(
description="Find all available AWS services in us-west-2 region.",
agent=researcher
)
analysis_task = Task(
description="Analyze which services support IPv6 and their implementation requirements.",
agent=analyst
)
summary_task = Task(
description="Create a summary of IPv6-compatible services and their key features.",
agent=summarizer
)
# Create a crew with the agents and tasks
crew = Crew(
agents=[researcher, analyst, summarizer],
tasks=[research_task, analysis_task, summary_task],
process=Process.sequential,
verbose=2
)
# Run the crew
result = crew.kickoff()
```
## Use Cases
### Hybrid Multi-Agent Collaborations
- Create workflows where CrewAI agents collaborate with managed Bedrock agents running as services in AWS
- Enable scenarios where sensitive data processing happens within your AWS environment while other agents operate externally
- Bridge on-premises CrewAI agents with cloud-based Bedrock agents for distributed intelligence workflows
### Data Sovereignty and Compliance
- Keep data-sensitive agentic workflows within your AWS environment while allowing external CrewAI agents to orchestrate tasks
- Maintain compliance with data residency requirements by processing sensitive information only within your AWS account
- Enable secure multi-agent collaborations where some agents cannot access your organization's private data
### Seamless AWS Service Integration
- Access any AWS service through Amazon Bedrock Actions without writing complex integration code
- Enable CrewAI agents to interact with AWS services through natural language requests
- Leverage pre-built Bedrock agent capabilities to interact with AWS services like Bedrock Knowledge Bases, Lambda, and more
### Scalable Hybrid Agent Architectures
- Offload computationally intensive tasks to managed Bedrock agents while lightweight tasks run in CrewAI
- Scale agent processing by distributing workloads between local CrewAI agents and cloud-based Bedrock agents
### Cross-Organizational Agent Collaboration
- Enable secure collaboration between your organization's CrewAI agents and partner organizations' Bedrock agents
- Create workflows where external expertise from Bedrock agents can be incorporated without exposing sensitive data
- Build agent ecosystems that span organizational boundaries while maintaining security and data control

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