Compare commits

..

549 Commits

Author SHA1 Message Date
Greyson Lalonde
2b85244b36 dont cache deps 2025-09-27 20:37:48 -04:00
Greyson Lalonde
2b6fba8390 fix: try install project 2025-09-27 20:34:13 -04:00
Greyson Lalonde
37b49756b5 fix: try from root 2025-09-27 20:31:47 -04:00
Greyson Lalonde
6fd2d8e19b fix: change ref, lint 2025-09-27 17:25:15 -04:00
Greyson Lalonde
4d79c41a06 feat: move core functionality to lib workspace structure 2025-09-27 17:22:46 -04:00
Greyson Lalonde
f0762473d0 chore: update CI workflows and dependencies for workspace structure 2025-09-27 16:37:08 -04:00
Greyson Lalonde
aca826c553 refactor: move rag package to lib/core and extract standalone utilities 2025-09-27 16:31:54 -04:00
Greyson LaLonde
1d1f5f455c test: fix lite agent guardrail test assertions 2025-09-26 23:15:37 -04:00
Greyson LaLonde
58b72c3948 test: mark tracing tests requiring API connections to skip in CI 2025-09-26 23:10:45 -04:00
Greyson LaLonde
3b18e7d971 test: fix task interpolation test assertion and update cassette 2025-09-26 23:07:51 -04:00
Greyson LaLonde
c062992806 test: mark tests requiring external APIs to skip in CI 2025-09-26 23:03:38 -04:00
Greyson LaLonde
9d3fe72e75 test: fix evaluation tests and update cassettes 2025-09-26 22:59:43 -04:00
Greyson LaLonde
d2249e621d test: mark converter tests requiring local services to skip in CI 2025-09-26 22:50:26 -04:00
Greyson LaLonde
03a711c365 rerecord cassetes 2025-09-26 22:44:04 -04:00
Greyson LaLonde
72366e846e fix: handle source code extraction errors for lambda guardrails
- Fix OSError when trying to get source code of lambda functions in guardrail events
- Gracefully handle lambdas and built-in functions by showing placeholder text
2025-09-26 22:37:31 -04:00
Greyson LaLonde
0a09beca03 fix: improve VCR configuration and skip local service tests in CI
- Update VCR config to exclude body matching for more reliable cassette playback
- Add pytest marker for tests requiring local services (Ollama, etc)
- Configure CI to skip tests marked as requiring local services
- Re-record async tool test cassettes with telemetry calls only
2025-09-26 22:30:34 -04:00
Greyson LaLonde
76ad0e0a10 test: re-record async tool test cassettes with proper mocking 2025-09-26 22:21:46 -04:00
Greyson LaLonde
6cf7da6d13 fix: remove broken VCR cassettes for async tool tests
These cassettes need to be re-recorded with proper API mocking
2025-09-26 22:18:37 -04:00
Greyson LaLonde
02267c1435 fix: specify tests directory in pytest command to avoid import conflicts 2025-09-26 22:14:02 -04:00
Greyson LaLonde
a717f44011 refactor: move src and tests from lib/crewai to root 2025-09-26 22:10:31 -04:00
Greyson LaLonde
b88f065ad8 feat: sync with upstream crewai-tools changes 2025-09-26 15:37:34 -04:00
Greyson LaLonde
e2270456c4 feat: add crewai-tools library to workspace
- Migrate crewai-tools as standalone package in lib/tools
- Configure UV workspace for monorepo structure
- Move assets to repository root
- Clean up duplicate README files
- Focus pre-commit hooks on lib/crewai/src only
2025-09-26 15:05:41 -04:00
Greyson LaLonde
3eeb9b8f6c chore: prepare for crewai-tools migration 2025-09-26 14:52:25 -04:00
Greyson LaLonde
14a1bf6317 feat: add crewai-tools library to workspace 2025-09-26 14:37:51 -04:00
Greyson LaLonde
98a8607c87 chore: update workspace configuration and lock file 2025-09-26 14:32:15 -04:00
Greyson LaLonde
daf6f679ff feat: restructure project as UV workspace with crewai in lib/ 2025-09-26 14:29:28 -04:00
Greyson LaLonde
e350817b8d fix: remove debug logging (#462) 2025-09-25 08:00:41 -04:00
Thiago Moretto
2a927933f2 Add OPENAI_API_KEY as required by QdrantSearchTool (#461) 2025-09-24 12:34:37 -04:00
Greyson LaLonde
7c2aa2f923 fix: remove circular deps
- Remove embedchain and resolve circular deps with ChromaDB  
- Adjust lockfile to match crewai requirements  
- Mock embeddings and vector DB in RAG tool tests
2025-09-22 19:35:08 -04:00
Ryan
1bd10bb254 Add base_url param to exa search tool (#454) 2025-09-22 12:19:56 -04:00
Greyson LaLonde
e29ca9ec28 feat: replace embedchain with native crewai adapter (#451)
- Remove embedchain adapter; add crewai rag adapter and update all search tools  
- Add loaders: pdf, youtube (video & channel), github, docs site, mysql, postgresql  
- Add configurable similarity threshold, limit params, and embedding_model support  
- Improve chromadb compatibility (sanitize metadata, convert columns, fix chunking)  
- Fix xml encoding, Python 3.10 issues, and youtube url spoofing  
- Update crewai dependency and instructions; refresh uv.lock  
- Update tests for new rag adapter and search params
2025-09-18 19:02:22 -04:00
Lucas Gomide
8d9cee45f2 feat: attempt to make embedchain optional (#450)
* fix: attempt to make embedchain optional

* fix: drop pydantic_settings dependency

* fix: ensure the package is importable without any extra dependency

After making embedchain option many packages were unstalled which caused errors in some tools due to failing import directives
2025-09-12 13:35:17 -04:00
Lucas Gomide
f9925887aa Add CrewAIPlatformTools (#449)
* chore: add deprecation warning in CrewaiEnterpriseTools

* feat: add CrewAI Platform Tool

* feat: drop support to oldest env-var token
2025-09-12 12:04:26 -04:00
Vini Brasil
6f2301c945 Clarify tool support for both local and remote URLs (#447)
This commit updates tool prompts to explicitly highlight that some tools
can accept both local file paths and remote URLs.

The improved prompts ensure LLMs understand they may pass remote
resources.
2025-09-10 09:38:14 -03:00
Tony Kipkemboi
cb8a1da730 feat(parallel): add ParallelSearchTool (Search API v1beta) (#445)
* docs: add BUILDING_TOOLS.md

* feat(parallel): add ParallelSearchTool (Search API v1beta), tests, README; register exports; regenerate tool.specs.json

* test(parallel): replace URL substring assertion with hostname allowlist (CodeQL)
2025-09-08 10:53:06 -04:00
Lucas Gomide
47b64d3507 fix: use explicit DeprecationWarning for legacy token detection (#440) 2025-09-02 16:28:22 -04:00
Lucas Gomide
33241ef363 refactor: fetch & execute enterprise tool actions from platform (#437)
* refactor: fetch enterprise tool actions from platform

* chore: logging legacy token detected
2025-09-02 15:41:00 -04:00
Vini Brasil
93b841fc86 Create tool for generating automations in Studio (#438)
* Create tool for generating automations in Studio

This commit creates a tool to use CrewAI Enterprise API to generate
crews using CrewAI Studio.

* Replace CREWAI_BASE_URL with CREWAI_PLUS_URL

* Add missing /crewai_plus in URL
2025-09-02 11:46:18 -03:00
Jinash Rouniyar
cb84d2ddfa feat: Add modular contextual AI tools with async functionality (#431)
* Add contextual AI tools with async support

* Fix package version issues and update README

* Rename contextual tools to contextualai and update contents

* Update tools init for contextualai tools

* feat: Resolved no module found error for nest_asyncio

* Updated nest_asyncio import

---------

Co-authored-by: QJ <qj@QJs-MacBook-Pro.local>
Co-authored-by: Qile-Jiang <qile.jiang@contextual.ai>
2025-08-28 08:56:53 -04:00
Mike Plachta
1f581fa9ac fix: add OCRTool to crewai_tools package exports (#433) 2025-08-27 14:11:57 -07:00
Mike Plachta
6562587cba feat: add InvokeCrewAIAutomationTool for external crew API integration (#430)
* feat: add InvokeCrewAIAutomationTool for external crew API integration

* feat: add InvokeCrewAIAutomationTool class for executing CrewAI tasks programmatically
2025-08-27 10:42:19 -07:00
Erika Shorten
992cd726c4 Weaviate hybrid search (#428)
* Update tool to use hybrid search

* Set default alpha to 0.75
2025-08-27 10:33:16 -04:00
Mike Plachta
403bb7e208 feat: add descriptive header to scraped website content output (#426)
* feat: add descriptive header to scraped website content output

* fix: correct typo in scraped website content header text
2025-08-26 08:10:24 -07:00
Lucas Gomide
dc039cfac8 Adds RAG feature (#406)
* feat: initialize rag

* refactor: using cosine distance metric for chromadb

* feat: use RecursiveCharacterTextSplitter as chunker strategy

* feat: support chucker and loader per data_type

* feat: adding JSON loader

* feat: adding CSVLoader

* feat: adding loader for DOCX files

* feat: add loader for MDX files

* feat: add loader for XML files

* feat: add loader for parser Webpage

* feat: support to load files from an entire directory

* feat: support to auto-load the loaders for additional DataType

* feat: add chuckers for some specific data type

- Each chunker uses separators specific to its content type

* feat: prevent document duplication and centralize content management

- Implement document deduplication logic in RAG
  * Check for existing documents by source reference
  * Compare doc IDs to detect content changes
  * Automatically replace outdated content while preventing duplicates

- Centralize common functionality for better maintainability
  * Create SourceContent class to handle URLs, files, and text uniformly
  * Extract shared utilities (compute_sha256) to misc.py
  * Standardize doc ID generation across all loaders

- Improve RAG system architecture
  * All loaders now inherit consistent patterns from centralized BaseLoader
  * Better separation of concerns with dedicated content management classes
  * Standardized LoaderResult structure across all loader implementations

* chore: split text loaders file

* test: adding missing tests about RAG loaders

* refactor: QOL

* fix: add missing uv syntax on DOCXLoader
2025-08-19 18:30:35 -04:00
Joao Moura
1ce016df8b Revert "working around OAI new update for now"
This reverts commit 23a16eb446.
2025-08-19 00:09:25 -07:00
Joao Moura
23a16eb446 working around OAI new update for now 2025-08-18 22:40:30 -07:00
Gabe Milani
16d613488b fix: use json_schema_extra instead of deprecated Field extra args (#417) 2025-08-14 17:52:56 -04:00
nicoferdi96
99e174e575 Stagehand tool improvements (#415)
* Stagehand tool improvements

This commit significantly improves the StagehandTool reliability and usability when working with CrewAI agents by addressing several critical
  issues:

  ## Key Improvements

  ### 1. Atomic Action Support
  - Added _extract_steps() method to break complex instructions into individual steps
  - Added _simplify_instruction() method for intelligent error recovery
  - Sequential execution of micro-actions with proper DOM settling between steps
  - Prevents token limit issues on complex pages by encouraging scoped actions

  ### 2. Enhanced Schema Design
  - Made instruction field optional to handle navigation-only commands
  - Added smart defaults for missing instructions based on command_type
  - Improved field descriptions to guide agents toward atomic actions with location context
  - Prevents "instruction Field required" validation errors

  ### 3. Intelligent API Key Management
  - Added _get_model_api_key() method with automatic detection based on model type
  - Support for OpenAI (GPT), Anthropic (Claude), and Google (Gemini) API keys
  - Removes need for manual model API key configuration

  ### 4. Robust Error Recovery
  - Step-by-step execution with individual error handling per atomic action
  - Automatic retry with simplified instructions when complex actions fail
  - Comprehensive error logging and reporting for debugging
  - Graceful degradation instead of complete failure

  ### 5. Token Management & Performance
  - Tool descriptions encourage atomic, scoped actions (e.g., "click search box in header")
  - Prevents "prompt too long" errors on complex pages like Wikipedia
  - Location-aware instruction patterns for better DOM targeting
  - Reduced observe-act cycles through better instruction decomposition

  ### 6. Enhanced Testing Support
  - Comprehensive async mock objects for testing mode
  - Proper async/sync compatibility for different execution contexts
  - Enhanced resource cleanup and session management

* Update stagehand_tool.py

removeing FixedStagehandTool in favour of StagehandTool

* removed comment

* Cleanup

Revoved unused class
Improved tool description
2025-08-13 08:57:11 -04:00
meirk-brd
41ce4981ac feat: Add Bright Data tools (#314)
* Initial commit of BrightData tools

* Renamed the BrightData test file names

* Refactored and improved the overall BrightData tools

* Add BrightData tools

* Add tools to init

* Added config class

* Fix test failures and add missing __init__.py files

- Remove problematic brightdata_dataset_tool_test.py that referenced non-existent classes
- Fix brightdata_serp_tool_test.py to expect string responses instead of dict
- Fix brightdata_webunlocker_tool_test.py to expect string responses instead of dict
- Add missing tests/tools/__init__.py for proper test imports

---------

Co-authored-by: Ranjan Dailata <ranjancse@gmail.com>
Co-authored-by: Tony Kipkemboi <iamtonykipkemboi@gmail.com>
2025-08-07 10:29:51 -04:00
Volodymyr Tkachuk
d00c9764fc feat: Adding SingleStoreSearchTool (#349)
* initial commit

* Add actual SinglesStore Search Tool implementation

* add the implementation

* update readme

* add tool's description

* add tests

* fix tests

* review comments

* remove schema from public exports

* fix test failure

* revert tools.specs.json

* added dependencies and env vars descriptions
2025-08-07 09:51:37 -04:00
Lucas Gomide
4daf18256d feat: allow custom client_timeout for MCPAdapter (#409) 2025-08-05 09:53:57 -04:00
Lucas Gomide
9220cfba28 fix: use proper ArxivPaperTool import (#408) 2025-08-05 09:46:11 -04:00
Lucas Gomide
707c8583f4 chore: make tavily tools exportable (#400) 2025-07-29 14:56:20 -04:00
Harikrishnan K
30df46445b Adding Arxiv Paper tool (#310)
* arxiv_paper_tool.py

* Updating as per the review

* Update __init__.py

* Update __init__.py

* Update arxiv_paper_tool.py

* added test cases

* Create README.md

* Create Examples.md

* Update Examples.md

* Updated logger

* Updated with package_dependencies,env_vars
2025-07-29 12:53:30 -04:00
Vini Brasil
b8bd3000c6 Make RagTool processs-safe (#399)
This commit adds a file lock to `RagTool`. As it uses Embedchain and
Chroma internally, this tool was not process-safe.
2025-07-28 17:09:53 -03:00
Steven Silvester
e6ec6cc332 Fix MongoDBVectorSearchTool serialization and schema (#389)
* Fix MongoDBVectorSearchTool serialization

* fix base class
2025-07-23 10:28:07 -07:00
Mike Plachta
104485d18b feat: add SerperScrapeWebsiteTool for extracting clean content from URLs (#392)
* feat: add SerperScrapeWebsiteTool for extracting clean content from URLs

* feat: add required SERPER_API_KEY env var validation to SerperScrapeWebsiteTool
2025-07-23 10:22:47 -07:00
Filip Michalsky
c3e87fc31f Fm/update stagehand (#387)
* Update tool specifications for

* Update stagehand dependency from stagehand-py to stagehand v0.4.1

* uv add

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-22 07:05:29 -07:00
Piyush Jain
2c38d1d448 Bedrock AgentCore browser and code interpreter toolkits (#385)
* Added browser and code tools

* Added dependencies, moved imports inside class

* Added instructions in README

* Updated imports

* Updated imports

* Updated dependencies

* Fix 'get_current_page' utilities for Browser tools

* Support browser session cleanup from synchronous code

* Update browser tool examples for new changes

* Manually override _run->_arun and set nested loop when in crew event loop

* Browser async example

* update examples with uv

* Fix toolkit fields for code interpreter

* Update code interpreter examples

* update uv.lock

* Move nest_asyncio import

---------

Co-authored-by: Michael Chin <mchin188@yahoo.com>
2025-07-18 14:33:39 -07:00
Thiago Moretto
9f6002a9dd Declaring and make some tool configurable using env vars (#376) 2025-07-14 09:48:36 -04:00
Lorenze Jay
78f5144bde Enhance EnterpriseActionTool with improved schema processing and erro… (#371)
* Enhance EnterpriseActionTool with improved schema processing and error handling

- Added methods for sanitizing names and processing schema types, including support for nested models and nullable types.
- Improved error handling during schema creation and processing, with warnings for failures.
- Updated parameter handling in the `_run` method to clean up `kwargs` before sending requests.
- Introduced a detailed description generation for nested schema structures to enhance tool documentation.

* Add tests for EnterpriseActionTool schema conversion and validation

- Introduced a new test class for validating complex nested schemas in EnterpriseActionTool.
- Added tests for schema conversion, optional fields, enum validation, and required nested fields.
- Implemented execution tests to ensure the tool can handle complex validated input correctly.
- Verified model naming conventions and added tests for simpler schemas with basic enum validation.
- Enhanced overall test coverage for the EnterpriseActionTool functionality.

* Update chromadb dependency version in pyproject.toml and uv.lock

- Changed chromadb version from >=0.4.22 to ==0.5.23 in both pyproject.toml and uv.lock to ensure compatibility and stability.

* Update test workflow configuration

- Changed EMBEDCHAIN_DB_URI to point to a temporary test database location.
- Added CHROMA_PERSIST_PATH for specifying the path to the Chroma test database.
- Cleaned up the test run command in the workflow file.

* reverted
2025-07-11 10:18:54 -07:00
Vini Brasil
eb09f2718f Use environment variable to initialize scrapegraph_py.Client (#362)
This commit fixes a bug where `SCRAPEGRAPH_API_KEY` were never used to
initialize `scrapegraph_py.Client`.
2025-07-09 15:03:16 -03:00
Steven Silvester
e0de166592 Add MongoDB Vector Search Tool (#319)
* INTPYTHON-580 Design and Implement MongoDBVectorSearchTool

* add implementation

* wip

* wip

* finish tests

* add todo

* refactor to wrap langchain-mongodb

* cleanup

* address review

* Fix usage of EnvVar class

* inline code

* lint

* lint

* fix usage of SearchIndexModel

* Refactor: Update EnvVar import path and remove unused tests.utils module

- Changed import of EnvVar from tests.utils to crewai.tools in multiple files.
- Updated README.md for MongoDB vector search tool with additional context.
- Modified subprocess command in vector_search.py for package installation.
- Cleaned up test_generate_tool_specs.py to improve mock patching syntax.
- Deleted unused tests/utils.py file.

* update the crewai dep and the lockfile

* chore: update package versions and dependencies in uv.lock

- Removed `auth0-python` package.
- Updated `crewai` version to 0.140.0 and adjusted its dependencies.
- Changed `json-repair` version to 0.25.2.
- Updated `litellm` version to 1.72.6.
- Modified dependency markers for several packages to improve compatibility with Python versions.

* refactor: improve MongoDB vector search tool with enhanced error handling and new dimensions field

- Added logging for error handling in the _run method and during client cleanup.
- Introduced a new 'dimensions' field in the MongoDBVectorSearchConfig for embedding vector size.
- Refactored the _run method to return JSON formatted results and handle exceptions gracefully.
- Cleaned up import statements and improved code readability.

* address review

* update tests

* debug

* fix test

* fix test

* fix test

* support azure openai

---------

Co-authored-by: lorenzejay <lorenzejaytech@gmail.com>
2025-07-09 08:44:23 -07:00
gautham
c45e92bd17 Add Couchbase as a tool (#264)
* - Added CouchbaseFTSVectorStore as a CrewAI tool.
- Wrote a README to setup the tool.
- Wrote test cases.
- Added Couchbase as an optional dependency in the project.

* Fixed naming in some places. Added docstrings. Added instructions on how to create a vector search index.

* Fixed pyproject.toml

* error handling and response format

- Removed unnecessary ImportError for missing 'couchbase' package.
- Changed response format from a concatenated string to a JSON array for search results.
- Updated error handling to return error messages instead of raising exceptions in certain cases.
- Adjusted tests to reflect changes in response format and error handling.

* Update dependencies in pyproject.toml and uv.lock

- Changed pydantic version from 2.6.1 to 2.10.6 in both pyproject.toml and uv.lock.
- Updated crewai-tools version from 0.42.2 to 0.42.3 in uv.lock.
- Adjusted pydantic-core version from 2.33.1 to 2.27.2 in uv.lock, reflecting the new pydantic version.

* Removed restrictive pydantic version and updated uv.lock

* synced lockfile

* regenerated lockfile

* updated lockfile

* regenerated lockfile

* Update tool specifications for

* Fix test cases

---------

Co-authored-by: AayushTyagi1 <tyagiaayush5@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-08 10:54:54 -04:00
Lorenze Jay
b4786d86b0 refactor: enhance schema handling in EnterpriseActionTool (#355)
* refactor: enhance schema handling in EnterpriseActionTool

- Extracted schema property and required field extraction into separate methods for better readability and maintainability.
- Introduced methods to analyze field types and create Pydantic field definitions based on nullability and requirement status.
- Updated the _run method to handle required nullable fields, ensuring they are set to None if not provided in kwargs.

* refactor: streamline nullable field handling in EnterpriseActionTool

- Removed commented-out code related to handling required nullable fields for clarity.
- Simplified the logic in the _run method to focus on processing parameters without unnecessary comments.
2025-07-02 12:54:09 -07:00
Emmanuel Ferdman
d53e96fcd7 fix: update Pydantic schema access (#337)
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-07-02 09:25:26 -07:00
Thiago Moretto
26652e5e24 Mapping required env vars of more tools (#353) 2025-07-01 14:08:30 -04:00
Lorenze Jay
180cc38330 refactor: update Firecrawl tools to improve configuration and error handling (#351)
- Added TYPE_CHECKING imports for FirecrawlApp to enhance type safety.
- Updated configuration keys in FirecrawlCrawlWebsiteTool and FirecrawlScrapeWebsiteTool to camelCase for consistency.
- Introduced error handling in the _run methods of both tools to ensure FirecrawlApp is properly initialized before usage.
- Adjusted parameters passed to crawl_url and scrape_url methods to use 'params' instead of unpacking the config dictionary directly.
2025-06-27 11:27:48 -07:00
Lorenze Jay
8723e66807 feat: add support for parsing actions list from environment variables (#346)
* feat: add support for parsing actions list from environment variables

This commit introduces a new function, _parse_actions_list, to handle the parsing of a string representation of a list of tool names from environment variables. The CrewaiEnterpriseTools now utilizes this function to filter tools based on the parsed actions list, enhancing flexibility in tool selection. Additionally, a new test case is added to verify the correct usage of the environment actions list.

* test: simplify environment actions list test setup

This commit refactors the test for CrewaiEnterpriseTools to streamline the setup of environment variables. The environment token and actions list are now set in a single patch.dict call, improving readability and reducing redundancy in the test code.
2025-06-25 11:14:41 -07:00
Lorenze Jay
e4cb8bf797 Lorenze/better env vars setup enterprise tools (#343)
* refactor: remove token validation from EnterpriseActionKitToolAdapter and CrewaiEnterpriseTools

This commit simplifies the initialization of the EnterpriseActionKitToolAdapter and CrewaiEnterpriseTools by removing the explicit validation for the enterprise action token. The token can now be set to None without raising an error, allowing for more flexible usage.

* added loggers for monitoring

* fixed typo

* fix: enhance token handling in EnterpriseActionKitToolAdapter and CrewaiEnterpriseTools

This commit improves the handling of the enterprise action token by allowing it to be fetched from environment variables if not provided. It adds checks to ensure the token is set before making API requests, enhancing robustness and flexibility.

* removed redundancy

* test: add new test for environment token fallback in CrewaiEnterpriseTools

This update introduces a new test case to verify that the environment token is used when no token is provided during the initialization of CrewaiEnterpriseTools. Additionally, minor formatting adjustments were made to existing assertions for consistency.

* test: update environment token test to clear environment variables

This change modifies the test for CrewaiEnterpriseTools to ensure that the environment variables are cleared before setting the test token. This ensures a clean test environment and prevents potential interference from other tests.

* drop redundancy
2025-06-25 10:17:26 -07:00
Lucas Gomide
03917411b4 Support to filter available MCP Tools (#345)
* feat: support to complex filter on ToolCollection

* refactor: use proper tool collection methot to filter tool in CrewAiEnterpriseTools

* feat: allow to filter available MCP tools
2025-06-25 12:32:22 -04:00
Lucas Gomide
e8825d071a feat: support api_key fallback to EXA_API_KEY env-var (#341) 2025-06-24 14:47:39 -04:00
Rostyslav Borovyk
78a062a907 Add Oxylabs Web Scraping tools (#312)
* Add Oxylabs tools

* Review updates

* Add package_dependencies attribute
2025-06-24 09:56:47 -04:00
Lucas Gomide
c13b08de2e fix: add support for case-insensitive Enterprise filter (#340) 2025-06-20 11:09:45 -04:00
Lucas Gomide
31b3dd2b94 feat: Add ToolCollection class for named tool access (#339)
This change allows accessing tools by name (tools["tool_name"]) in addition to
index (tools[0]), making it more intuitive and convenient to work with multiple
tools without needing to remember their position in the list
2025-06-20 09:27:10 -04:00
Lucas Gomide
9e92b84bcc feat: mapping explicitly tool environment variables (#338) 2025-06-20 08:06:11 -04:00
Lucas Gomide
2cca45b45a refactor: renaming init_params and run_params to reflect their schema. (#332) (#333)
We’re currently using the JSON Schema standard for these fields
2025-06-17 07:52:51 -04:00
Lucas Gomide
fac32d9503 Support to collect extra package dependencies of Tools (#330)
* feat: add explictly package_dependencies in the Tools

* feat: collect package_dependencies from Tool to add in tool.specs.json

* feat: add default value in run_params Tool' specs

* fix: support get boolean values

This commit also refactor test to make easier define newest attributes into a Tool
2025-06-16 10:09:19 -04:00
Lorenze Jay
5a99f07765 refactor: remove token validation from EnterpriseActionKitToolAdapter… (#331)
* refactor: remove token validation from EnterpriseActionKitToolAdapter and CrewaiEnterpriseTools

This commit simplifies the initialization of the EnterpriseActionKitToolAdapter and CrewaiEnterpriseTools by removing the explicit validation for the enterprise action token. The token can now be set to None without raising an error, allowing for more flexible usage.

* added loggers for monitoring

* fixed typo
2025-06-14 12:21:18 -07:00
Lucas Gomide
dc2d4af8ea fix: ensure the entire file will be read when the start_line is None (#325) 2025-06-11 09:02:56 -04:00
Lucas Gomide
748f438232 Support to generate a tool spec file for each published released (#313)
* feat: generate tool specs file based on their schema definition

* generate tool spec after publishing a new release

* feat: support add available env-vars to tool.specs.json

* refactor: use better identifier names on tool specs

* feat: change tool specs generation to run daily

* feat: add auth token to notify api about tool changes

* refactor: use humanized_name instead of verbose_name

* refactor: generate tool spec after pushing to main

This commit also fix the remote upstream & updated the notify api
2025-06-03 10:11:17 -04:00
Lucas Gomide
72b3a8c70a feat: allow to provide the driver and options to be used by Selenium (#316) 2025-05-30 08:13:11 -04:00
Lorenze Jay
5d5377cfb9 feat: add ZapierActionTool and ZapierActionsAdapter for integrating with Zapier actions (#311)
* feat: add ZapierActionTool and ZapierActionsAdapter for integrating with Zapier actions

- Introduced ZapierActionTool to execute Zapier actions with dynamic parameter handling.
- Added ZapierActionsAdapter to fetch available Zapier actions and convert them into BaseTool instances.
- Updated __init__.py files to include new tools and ensure proper imports.
- Created README.md for ZapierActionTools with installation instructions and usage examples.

* fix: restore ZapierActionTool import and enhance logging in Zapier adapter

- Reintroduced the import of ZapierActionTool in __init__.py for proper accessibility.
- Added logging for error handling in ZapierActionsAdapter to improve debugging.
- Updated ZapierActionTools factory function to include logging for missing API key.
2025-05-27 09:54:35 -07:00
Lucas Gomide
0dbcbde119 fix: remove logging.basicConfig definition from Tool (#305) 2025-05-14 14:38:11 -04:00
Ranuga Disansa
ba6a85d342 Add TavilyExtractorTool and TavilySearchTool with documentation (#279)
* feat(tavily): add TavilyExtractorTool and TavilySearchTool with documentation

* feat(tavily): enhance TavilyExtractorTool and TavilySearchTool with additional parameters and improved error handling

* fix(tavily): update installation instructions for 'tavily-python' package in TavilyExtractorTool and TavilySearchTool

---------

Co-authored-by: lorenzejay <lorenzejaytech@gmail.com>
2025-05-14 09:45:12 -07:00
Mark McDonald
8b887b4eb3 Fix Callable reference in QdrantVectorSearchTool (#304)
The built-in `callable` type is not subscriptable, and thus not usable
in a type annotation. When this tool is used, this warning is generated:

```
.../_generate_schema.py:623: UserWarning: <built-in function callable> is not a Python type (it may be an instance of an object), Pydantic will allow any object with no validation since we cannot even enforce that the input is an instance of the given type. To get rid of this error wrap the type with `pydantic.SkipValidation`.
```

This change fixes the warning.
2025-05-13 17:13:07 -04:00
Filip Michalsky
8ecc958e4c stagehand tool (#277)
* stagehand tool

* update import paths

* updates

* improve example

* add tests

* revert init

* imports

* add context manager

* update tests

* update example to run again

* update context manager docs

* add to pyproject.toml and run uv sync

* run uv sync

* update lazy import

* update test mock

* fixing tests

* attempt to fix tests
2025-05-10 09:53:20 -04:00
Harikrishnan K
64f6f998d8 FileCompressorTool with support for files and subdirectories (#282)
* FileCompressorTool with support for files and subdirectories

* README.md

* Updated files_compressor_tool.py

* Enhanced FileCompressorTool different compression formats

* Update README.md

* Updated with lookup tables

* Updated files_compressor_tool.py

* Added Test Cases

* Removing Test_Cases.md inorder to update with correct test case as per the review

* Added Test Cases

* Test Cases with patch,MagicMock

* Empty lines Removed

* Updated Test Case,Ensured Maximum Scenarios

* Deleting old one

* Updated __init__.py to include FileCompressorTool

* Update __init__.py to add FileCompressorTool
2025-05-08 13:17:17 -04:00
nicoferdi96
edd4e5bef9 Fix FirecrawlScrapeWebsiteTool (#298)
* fix FirecrawlScrapeWebsiteTool: add missing config parameter and correct Dict type annotation

- Add required config parameter when creating the tool
- Change type hint from `dict` to `Dict` to resolve Pydantic validation issues

* Update firecrawl_scrape_website_tool.py

- removing optional config
- removing timeout from Pydantic model

* Removing config from __init__

- removing config from __init__

* Update firecrawl_scrape_website_tool.py

- removing timeout
2025-05-07 12:34:15 -04:00
Lucas Gomide
fd4ef4f47a fix: Remove kwargs from all RagTools (#285)
* fix: remove kwargs from all (except mysql & pg) RagTools

The agent uses the tool description to decide what to propagate when a tool with **kwargs is found, but this often leads to failures during the tool invocation step.

This happens because the final description ends up like this:

```
CrewStructuredTool(name='Knowledge base', description='Tool Name: Knowledge base
Tool Arguments: {'query': {'description': None, 'type': 'str'}, 'kwargs': {'description': None, 'type': 'Any'}}
Tool Description: A knowledge base that can be used to answer questions.')
```

The agent then tries to infer and pass a kwargs parameter, which isn’t supported by the schema at all.

* feat: adding test to search tools

* feat: add db (chromadb folder) to .gitignore

* fix: fix github search integration

A few attributes were missing when calling the .add method: data_type and loader.

Also, update the query search according to the EmbedChain documentation, the query must include the type and repo keys

* fix: rollback YoutubeChannel paramenter

* chore: fix type hinting for CodeDocs search

* fix: ensure proper configuration when call `add`

According to the documentation, some search methods must be defined as either a loader or a data_type. This commit ensures that.

* build: add optional-dependencies for github and xml search

* test: mocking external requests from search_tool tests

* build: add pytest-recording as devDependencie
2025-05-05 14:15:50 -04:00
Lorenze Jay
93d043bcd4 Enhance EnterpriseActionKitToolAdapter to support custom project IDs (#297)
* Enhance EnterpriseActionKitToolAdapter to support custom project IDs

- Updated the EnterpriseActionKitToolAdapter and EnterpriseActionTool classes to accept an optional project_id parameter, allowing for greater flexibility in API interactions.
- Modified API URL construction to utilize the provided project_id instead of a hardcoded default.
- Updated the CrewaiEnterpriseTools factory function to accept and pass the project_id to the adapter.

* for factory in mind
2025-05-04 10:41:54 -07:00
Daniel Barreto
67be0c674d Allow setting custom LLM for the vision tool (#294)
* Allow setting custom LLM for the vision tool

Defaults to gpt-4o-mini otherwise

* Enhance VisionTool with model management and improved initialization

- Added support for setting a custom model identifier with a default of "gpt-4o-mini".
- Introduced properties for model management, allowing dynamic updates and resetting of the LLM instance.
- Updated the initialization method to accept an optional LLM and model parameter.
- Refactored the image processing logic for clarity and efficiency.

* docstrings

* Add stop config

---------

Co-authored-by: lorenzejay <lorenzejaytech@gmail.com>
2025-04-28 19:53:00 -03:00
benzakritesteur
82d0209ce2 Fix firecrawl tool (Too many positional arguments) (#275)
* Corrected to adapt to firecrawl package use

Was leading to an error too many arguments when calling the craw_url() function

* Corrected to adapt to firecrawl package use

Corrected to avoid too many arguments error when calling firecrawl scrape_url function

* Corrected to adapt to firecrawl package use

Corrected to avoid error too many arguments when calling firecrawl search() function

* fix: fix firecrawl integration

* feat: support define Firecrawl using any config

Currently we pre-defined the available paramenters to call Firecrawl, this commit adds support to receive any parameter and propagate them

* docs: added doc string to Firecrawls classes

---------

Co-authored-by: Lucas Gomide <lucaslg200@gmail.com>
2025-04-28 13:57:03 -04:00
João Moura
6909c587c2 Merge pull request #286 from crewAIInc/joaodmmoura/crewai-enterprise-tool
new tool around adapter
2025-04-27 23:18:34 -07:00
João Moura
7c1a87e5ab new tool around adapter 2025-04-24 23:05:50 -07:00
João Moura
af5a605f31 Merge pull request #284 from crewAIInc/lorenze/enterprise-integrations
Lorenze/enterprise tools integrations
2025-04-24 14:48:02 -07:00
lorenzejay
40dd22ce2c refactor: remove main execution block from EnterpriseActionKitToolAdapter
- Removed the main execution block that included token validation and agent/task setup for testing.
- This change streamlines the adapter's code, focusing on its core functionality without execution logic.
2025-04-24 14:39:55 -07:00
lorenzejay
4d86da80c3 feat: add EnterpriseActionKitToolAdapter and EnterpriseActionTool for enterprise action execution
- Introduced EnterpriseActionTool to execute specific enterprise actions with dynamic parameter validation.
- Added EnterpriseActionKitToolAdapter to manage and create tool instances for available enterprise actions.
- Implemented methods for fetching action schemas from the API and creating corresponding tools.
- Enhanced error handling and provided detailed descriptions for tool parameters.
- Included a main execution block for testing the adapter with a sample agent and task setup.
2025-04-24 14:20:40 -07:00
Lucas Gomide
edc9b44c47 Add secure Python Sandbox and Enhanced Logging in CodeInterpreterTool (#281)
* feat: add a safety sandbox to run Python code

This sandbox blocks a bunch of dangerous imports and built-in functions

* feat: add more logs and warning about code execution

* test: add tests to cover sandbox code execution

* docs: add Google-style docstrings and type hints to printer and code_interpreter

* chore: renaming globals and locals paramenters

---------

Co-authored-by: Greyson Lalonde <greyson.r.lalonde@gmail.com>
2025-04-23 15:42:05 -04:00
Lucas Gomide
78d0ec501d fix: do not use deprecated distutils in FileWriterTool (#280) 2025-04-23 10:29:07 -04:00
Milad Noroozi
7973c163f3 Add chunk reading functionality to FileReadTool (#266)
* Add chunk reading functionality to FileReadTool

- Added start_line parameter to specify which line to start reading from
- Added line_count parameter to specify how many lines to read
- Updated documentation with new parameters and examples

* [FIX] Bugs and Disscutions

Fixed: start_line negative value
Improved: File Reading Operations

* [IMPROVE] Simplify line selection

* [REFACTOR] use mock_open while preserving essential filesystem tests
2025-04-22 10:18:29 -04:00
Guillaume Raille
a270742319 mcp server proposal (#267)
* mcp server proposal

* Refactor MCP server implementation: rename MCPServer to MCPServerAdapter and update usage examples. Adjust error message for optional dependencies installation.

* Update MCPServerAdapter usage examples to remove unnecessary parameters in context manager instantiation.

* Refactor MCPServerAdapter to move optional dependency imports inside the class constructor, improving error handling for missing dependencies.

* Enhance MCPServerAdapter by adding type hinting for server parameters and improving error handling during server startup. Optional dependency imports are now conditionally loaded, ensuring clearer error messages for missing packages.

* Refactor MCPServerAdapter to improve error handling for missing 'mcp' package. Conditional imports are now used, prompting users to install the package if not found, enhancing user experience during server initialization.

* Refactor MCPServerAdapter to ensure proper cleanup after usage. Removed redundant exception handling and ensured that the server stops in a finally block, improving resource management.

* add documentation

* fix typo close -> stop

* add tests and fix double call with context manager

* Enhance MCPServerAdapter with logging capabilities and improved error handling during initialization. Added logging for cleanup errors and refined the structure for handling missing 'mcp' package dependencies.

---------

Co-authored-by: lorenzejay <lorenzejaytech@gmail.com>
2025-04-16 10:18:07 -07:00
Lucas Gomide
8cbdaeaff5 refactor(selenium): improve driver management and add headless mode (#268)
- Refactor Selenium scraping tool to use single driver instance
- Add headless mode configuration for Chrome
- Improve error handling with try/finally
- Simplify code structure and improve maintainability
2025-04-15 10:50:40 -04:00
Lucas Gomide
a95be24865 Merge pull request #262 from GibsonAI/tool-typo-fixes
Fix typo "seach" -> "search" in tools
2025-04-11 10:05:17 -03:00
Nathan Chapman
c2cb8e06be Fix typo seach -> search in tools 2025-04-10 17:38:28 -05:00
Vini Brasil
257f4bf385 Test optional dependencies are not required in runtime (#260)
* Test optional dependencies are not required in runtime

* Add dynamic imports to S3 tools

* Setup CI
2025-04-08 13:20:11 -04:00
Lucas Gomide
6f95572e18 Merge pull request #237 from SHIXOOM/Fix-FireCrawl-Crawler-Tool
Fix: FirecrawlCrawlWebsiteTool update parameters for FireCrawl API v1 and update run arguments for agents
2025-04-06 14:06:32 -04:00
lorenzejay
89394ef3e3 Refactor: Clean up FirecrawlCrawlWebsiteTool schema field descriptions and formatting for improved readability 2025-04-04 11:42:32 -07:00
Lucas Gomide
90c9d5d71d Merge pull request #250 from parthbs/feat/local-qdrant-client-support
#249 feat: add support for local qdrant client
2025-04-02 10:16:14 -03:00
Lorenze Jay
5b06a0c189 Merge pull request #253 from crewAIInc/fix/clear-more-warnings-databricks
cleanup more warnings from tools
2025-04-01 10:47:25 -07:00
lorenzejay
6b4453e1b1 refactor: rename schema to db_schema in DatabricksQueryTool for clarity 2025-04-01 10:42:36 -07:00
Lorenze Jay
d842e9df97 Merge pull request #252 from crewAIInc/feature-cleanup-pydatic-issues
feat: cleanup Pydantic warning
2025-04-01 09:27:41 -07:00
lucasgomide
47acb5c3e4 feat: cleanup Pydantic warning
A several warnings were addressed following by  https://docs.pydantic.dev/2.10/migration
2025-04-01 09:55:01 -03:00
Shady Ali
e0adb4695c Addressed review comments and made further improvements 2025-03-28 16:58:47 +02:00
Parth Patel
4fd7db2e53 #249: update QdrantVectorSearchTool README 2025-03-25 19:16:18 +00:00
Parth Patel
5ded394e43 #249 feat: add support for local qdrant client 2025-03-25 19:01:01 +00:00
João Moura
baea6dc8a4 Merge pull request #197 from beowolx/bugfix/serperdev-missing-country
fix(serper-dev): restore search localization parameters
2025-03-21 14:54:50 -03:00
João Moura
5cfcb5c74a new version 2025-03-19 11:30:26 -07:00
João Moura
865930da78 Merge pull request #239 from raju-rangan/main
Amazon Bedrock Knowledge Bases Retriever and Agents support
2025-03-19 15:18:26 -03:00
Raju Rangan
319423b70a added __init__ files as suggested. 2025-03-18 10:24:08 -04:00
João Moura
658c23547e prep new version 2025-03-17 18:58:45 -07:00
João Moura
568aace62e fix 2025-03-17 18:58:09 -07:00
Vini Brasil
9e68cbbb3d Conditionally import Databricks library (#243)
Databricks is an optional dependency, but the tool package is imported by
default, leading to ImportError exceptions.

Related: crewAIInc/crewAI#2390
2025-03-17 15:13:28 -03:00
Brandon Hancock (bhancock_ai)
c06076280e Merge pull request #228 from MQ37/feat/apify
feat: apify actors
2025-03-16 12:28:13 -04:00
João Moura
0c3140e758 new version 2025-03-14 07:39:52 -07:00
Raju Rangan
db309ca1ae - Add custom exceptions for better error handling
- Add parameter validation for Bedrock tools
- Improve response processing and debug information
- Maintain backward compatibility with existing implementations
2025-03-11 16:46:12 -04:00
Jakub Kopecký
292adef7ba Update README.md 2025-03-11 18:02:15 +01:00
Raju Rangan
d47adfc34a Adding tooling to use Amazon Bedrock Agents as enternal agent, enbaling distributed agentic capabilities 2025-03-11 10:21:30 -04:00
Raju Rangan
e8326f134f Adding tooling to use Amazon Bedrock Knowledge Base as a knowledge retreiver 2025-03-11 10:20:42 -04:00
João Moura
c19591a689 updatign readme 2025-03-09 04:01:12 -07:00
Shady Ali
5af2108307 Fix: FireCrawl FirecrawlCrawlWebsiteTool for crawling. FireCrawl API does not recognize sent paramters (HTTPError: Unexpected error during start crawl job: Status code 400. Bad Request -
[{'code': 'unrecognized_keys', 'keys': ['crawlerOptions', 'timeout'], 'path': [], 'message': 'Unrecognized key in body -- please review the v1 API documentation for request body changes'}]) because it has been updated to v1. I updated the sent parameters to match v1 and updated their description in the readme file
2025-03-08 09:35:23 +02:00
MQ
cad804e87b update readme 2025-03-07 11:00:54 +01:00
MQ
7718df5437 minor consistency improvements 2025-03-04 12:45:52 +01:00
MQ
9c7c7d3d75 apify_actors -> apify_actors_tool, refactor readme 2025-03-04 11:10:41 +01:00
MQ
3df25e65d5 fix 2025-02-28 15:40:08 +01:00
MQ
7148c52bf6 format 2025-02-28 12:43:52 +01:00
MQ
f329b0d9d2 improve readme, add link to template 2025-02-28 12:35:23 +01:00
MQ
975c71a920 fix example 2025-02-28 10:29:50 +01:00
MQ
884ea63b49 other improvements 2025-02-28 10:22:56 +01:00
MQ
35aff6e84e improve code, lazy import, improve readme 2025-02-28 10:10:56 +01:00
MQ
867305540c improve 2025-02-27 21:27:05 +01:00
MQ
5bcb598f75 fix readme 2025-02-27 21:14:42 +01:00
MQ
3fcc7b42cb fix docstring 2025-02-27 21:12:38 +01:00
MQ
13bad2bb69 initial implementation 2025-02-27 21:08:05 +01:00
Brandon Hancock (bhancock_ai)
6d8d30178d Merge pull request #227 from mplachta/aws_s3_tools
S3 Tools
2025-02-27 12:49:02 -05:00
Mike Plachta
f1187c5469 S3 Tools 2025-02-27 08:44:43 -08:00
Lorenze Jay
7c16b7d284 Merge pull request #200 from crewAIInc/feat/add-qdrant-tools
enable qdrant as vector search tool for crew agents
2025-02-07 10:25:29 -08:00
Lorenze Jay
837198ae08 Add interactive Qdrant client installation prompt 2025-02-07 10:03:37 -08:00
Lorenze Jay
554bba8036 clearer docs 2025-02-03 16:22:09 -08:00
Lorenze Jay
12927ba79d cleanup 2025-02-03 16:19:53 -08:00
Lorenze Jay
96c3fbdddf remove ollama from here 2025-02-03 16:19:33 -08:00
Lorenze Jay
5a9bb24b63 default openai 2025-02-03 16:19:03 -08:00
Lorenze Jay
05982aeef2 set default vectorizer 2025-02-01 23:44:40 -08:00
Lorenze Jay
d6a6325b55 set vectorizer 2025-02-01 23:43:09 -08:00
Lorenze Jay
6b19a3d156 default set 2025-02-01 23:40:37 -08:00
Lorenze Jay
052a07ddc7 setup common default model 2025-02-01 23:38:24 -08:00
Lorenze Jay
aff40529a5 updated docs 2025-02-01 23:32:31 -08:00
Lorenze Jay
dcd4481ae2 enable qdrant as vector search tool for crew agents 2025-02-01 23:31:15 -08:00
Lorenze Jay
6b93ebb97b Merge pull request #198 from crewAIInc/add/updated-exa
latest version of exa supported
2025-01-31 09:40:32 -08:00
Lorenze Jay
9a09ea7703 better docs and download missing packaged 2025-01-30 16:04:33 -08:00
Lorenze Jay
bcfe015d9d ensure works on agent 2025-01-30 15:53:57 -08:00
Lorenze Jay
90cdb48db0 latest version of exa 2025-01-30 15:09:47 -08:00
João Moura
199044f866 fixing test 2025-01-28 10:11:37 -03:00
Luis Cardoso
3808f98c14 fix(serper-dev): restore search localization parameters
- Re-add country (gl), location, and locale (hl) parameters to SerperDevTool class
- Update payload construction in _make_api_request to include localization params
- Add schema validation for localization parameters
- Update documentation and examples to demonstrate parameter usage

These parameters were accidentally removed in the previous enhancement PR and are crucial for:
- Getting region-specific search results (via country/gl)
- Targeting searches to specific cities (via location)
- Getting results in specific languages (via locale/hl)

BREAKING CHANGE: None - This restores previously available functionality
2025-01-28 10:46:40 +01:00
Brandon Hancock (bhancock_ai)
060671983d Merge pull request #195 from crewAIInc/bugfix/make-tooling-optional
Fix for Gui
2025-01-23 23:29:19 -05:00
Brandon Hancock
bcb72a9305 Clean up and follow auto import pattern 2025-01-23 15:23:12 -05:00
Brandon Hancock
141ff864f2 clean up 2025-01-23 15:11:45 -05:00
Brandon Hancock
43d045f542 Fix for GUI 2025-01-23 14:43:52 -05:00
Brandon Hancock (bhancock_ai)
88785f4a74 Merge pull request #194 from mplachta/ocr-tool
OCR Tool v1
2025-01-23 10:40:03 -05:00
Mike Plachta
b4d98bbb86 OCR Tool v1 2025-01-22 20:22:57 -08:00
Brandon Hancock (bhancock_ai)
df3842ed88 Merge pull request #181 from crewAIInc/fix/optional-dependencies
make extra dependencies optional for our tools (making most tools an opt in)
2025-01-22 13:06:48 -05:00
Lorenze Jay
4af3724ec2 fix selenium tool 2025-01-21 15:55:05 -08:00
Lorenze Jay
0bd6006b27 Merge branch 'main' of github.com:crewAIInc/crewAI-tools into fix/optional-dependencies 2025-01-21 15:53:14 -08:00
João Moura
4774b996d0 Merge pull request #168 from MinuraPunchihewa/feature/ai_minds_tool
Added the MindsDB AIMind Tool
2025-01-19 02:29:11 -03:00
João Moura
717edbba19 Merge pull request #177 from VinciGit00/main
fix: scrapegraph tool
2025-01-19 02:28:04 -03:00
João Moura
755a9ed055 Merge branch 'main' into main 2025-01-19 02:27:52 -03:00
João Moura
d824f3bb3b Merge pull request #183 from NikhilShahi/feature/add-hyperbrowser
added HyperbrowserLoadTool
2025-01-19 02:25:04 -03:00
João Moura
14ecab7365 Merge branch 'main' into feature/add-hyperbrowser 2025-01-19 02:24:51 -03:00
João Moura
b03d74abe5 Merge pull request #185 from MahlerTom/fix/code-interpreter
Fix/code interpreter
2025-01-19 02:11:10 -03:00
João Moura
bee8fda006 Merge branch 'main' into fix/code-interpreter 2025-01-19 02:10:57 -03:00
João Moura
ef611a9dcd Merge pull request #188 from meerkat-citronella/bugfix/fix-description-on-file_read_tool
Fix description on FileReadTool
2025-01-19 02:08:46 -03:00
João Moura
fb4423c91d Merge branch 'main' into bugfix/fix-description-on-file_read_tool 2025-01-19 02:08:27 -03:00
João Moura
fe3f0bda81 Merge pull request #189 from chethanuk/snowflake
Adding Snowflake search tool
2025-01-19 02:07:02 -03:00
João Moura
3f2161efdb Merge branch 'main' into snowflake 2025-01-19 01:22:42 -03:00
João Moura
cef86f73d9 Merge pull request #191 from KhanhSaypien/fix/HTTPError-import-issue
FIX: Fix HTTPError cannot be found in serperai
2025-01-19 00:10:23 -03:00
ArchiusVuong-sudo
659cb6279e fix: Fixed all from urllib.error import HTTPError 2025-01-18 23:01:01 +07:00
ArchiusVuong-sudo
a606f48b70 FIX: Fix HTTPError cannot be found in serperai 2025-01-18 21:58:50 +07:00
ChethanUK
9c4c4219cd Adding Snowflake search tool 2025-01-17 02:29:35 +05:30
Carter Chen
fe2a5abf8d restructure init statement to remove duplicate call to _generate_description 2025-01-14 21:16:11 -05:00
Carter Chen
1568008db6 remove _generate_description on file_read_tool 2025-01-14 19:22:28 -05:00
Tom Mahler
1bd87f514e changed == None to is None 2025-01-14 21:07:08 +02:00
Tom Mahler
334beda181 added missing import 2025-01-14 21:06:42 +02:00
Lorenze Jay
5cb5f4f1a6 use private attr 2025-01-14 08:48:28 -08:00
Lorenze Jay
14bc8de774 fix browserbase tool here 2025-01-14 08:48:09 -08:00
Nikhil Shahi
e343f26c03 add docstring 2025-01-13 16:08:11 -06:00
Nikhil Shahi
1a824cf432 added HyperbrowserLoadTool 2025-01-13 15:48:45 -06:00
Lorenze Jay
78aff9dbdc fix no client err 2025-01-13 10:45:12 -08:00
Lorenze Jay
50779582ed Merge branch 'main' of github.com:crewAIInc/crewAI-tools into fix/optional-dependencies 2025-01-13 10:32:06 -08:00
Lorenze Jay
31192bcdda fixed multion 2025-01-10 18:31:03 -08:00
Lorenze Jay
d882818d6c fixed serpapi 2025-01-10 18:24:07 -08:00
Lorenze Jay
e26667ea40 removing serpapi from dependenices 2025-01-10 18:17:27 -08:00
Brandon Hancock (bhancock_ai)
71f3ed9ef9 Merge pull request #180 from crewAIInc/bugfix/improve-firecrawl-and-serper
Fix firecrawl errors
2025-01-10 19:47:13 -05:00
Lorenze Jay
d3d3cc4c28 remove y/n as it comes with it within click.confirm and fixed firecrawl tools 2025-01-10 15:56:54 -08:00
Lorenze Jay
41cec25ad9 fix client init on scrapegraph tool 2025-01-10 14:26:03 -08:00
Lorenze Jay
40dcf63a70 optional deps for most 2025-01-10 13:51:39 -08:00
Brandon Hancock
ecbf550be9 Fix firecrawl errors 2025-01-08 16:38:38 -05:00
Brandon Hancock (bhancock_ai)
06f99fc6cd Merge pull request #179 from crewAIInc/bugfix/improve-firecrawl-and-serper
improve serper and firecrawl
2025-01-08 15:15:02 -05:00
Brandon Hancock
90a335de46 Fix patronus issues as well 2025-01-08 15:12:29 -05:00
Brandon Hancock
e5aabe05e1 improve serper and firecrawl 2025-01-08 14:56:12 -05:00
Brandon Hancock (bhancock_ai)
4388235846 Merge pull request #165 from patronus-ai/feat/add-patronus-api-tool
Feat/add patronus api tool
2025-01-07 12:48:08 -05:00
Marco Vinciguerra
91bff42398 Merge branch 'main' of https://github.com/VinciGit00/crewAI-tools 2025-01-07 16:15:50 +01:00
Marco Vinciguerra
4f4b061907 fix: scrapegraph-tool 2025-01-07 16:13:50 +01:00
Marco Vinciguerra
c27727b16e Update scrapegraph_scrape_tool.py 2025-01-07 15:51:52 +01:00
Devin AI
ad4c711223 feat: implement reviewer suggestions for StagehandTool
Co-Authored-By: Joe Moura <joao@crewai.com>
2025-01-03 22:56:38 +00:00
Devin AI
2f8c07320b feat: add new StagehandTool for stagehand integration
This commit adds a new StagehandTool that integrates Stagehand's AI-powered web automation capabilities into CrewAI. The tool provides access to Stagehand's three core APIs:
- act: Perform web interactions
- extract: Extract information from web pages
- observe: Monitor web page changes

Each function takes atomic instructions to increase reliability.

Co-Authored-By: Joe Moura <joao@crewai.com>
2025-01-03 22:38:55 +00:00
Lorenze Jay
4360adc725 Merge pull request #174 from crewAIInc/extra_deps
add optional dependencies for all deps that we have
2025-01-03 14:19:00 -08:00
Lorenze Jay
dab8f648cb leave ignore 2025-01-03 13:48:21 -08:00
Lorenze Jay
9f8529eab2 add optional dependencies for all deps that we have 2025-01-03 13:43:50 -08:00
Brandon Hancock (bhancock_ai)
513c156c4b Merge pull request #173 from mplachta/vision-tool-improvement
Vision Tool Refactoring and Simplify the code
2025-01-03 13:31:23 -05:00
Mike Plachta
9a20c3952f Merge branch 'main' into vision-tool-improvement 2025-01-03 09:36:13 -08:00
Mike Plachta
66dee007b7 Vision Tool Improvement 2025-01-03 09:33:59 -08:00
João Moura
aafcf992ab fix weviate tool 2025-01-03 10:03:53 -03:00
João Moura
c31a8d6ee2 fix 2025-01-03 10:00:25 -03:00
Eduardo Chiarotti
a5d19e3ec3 Merge pull request #172 from crewAIInc/fix/weaviate-init
fix: weaviate init parameters
2025-01-03 08:56:45 -03:00
Eduardo Chiarotti
7efc092873 fix: weaviate init parameters 2025-01-03 08:47:52 -03:00
João Moura
fa901453fe new version 2025-01-03 04:15:39 -03:00
João Moura
8047ee067c treating for uninstalled dependencies 2025-01-03 03:34:34 -03:00
Minura Punchihewa
ea85f02e03 refactored the logic for accessing the API key 2025-01-03 11:49:58 +05:30
Minura Punchihewa
d1be5a937f moved constants like the base URL to a class 2025-01-03 11:48:11 +05:30
Minura Punchihewa
d360906f57 renamed the pkg and module 2025-01-03 11:41:59 +05:30
Minura Punchihewa
29a7961ca8 refined the content in the README 2025-01-03 11:26:16 +05:30
João Moura
16cdabbf35 bumping verison fixing tests 2025-01-03 02:53:24 -03:00
Minura Punchihewa
94cce06044 updated the initialization logic to allow the API key to be passed as env var 2025-01-03 11:08:38 +05:30
João Moura
e0c6ec5bd3 fix imports 2025-01-02 20:51:14 -03:00
João Moura
fc68b9f6bf Merge pull request #167 from Priyanshupareek/patch-1
Update browserbase_load_tool.py | Fix for Browserbase Tool Initialization Issue
2025-01-02 20:45:05 -03:00
Minura Punchihewa
3c29a6cc11 added an example of running the tool to the README 2025-01-03 02:25:14 +05:30
Minura Punchihewa
64d54bd423 updated the content in the README 2025-01-03 01:55:51 +05:30
Minura Punchihewa
faff58ba1c fixed a few bugs, type hints and imports 2025-01-03 01:17:11 +05:30
Minura Punchihewa
555638a654 added the main import statements 2025-01-03 00:37:12 +05:30
Minura Punchihewa
0b5f0841bf implemented the run function for the tool 2025-01-03 00:32:24 +05:30
Minura Punchihewa
55f669989b completed the initialization logic for the tool 2025-01-03 00:28:30 +05:30
Minura Punchihewa
29da6659cf added the skeleton for the AIMind tool 2025-01-02 19:40:56 +05:30
Priyanshupareek
954dd43c17 Update browserbase_load_tool.py 2025-01-02 01:34:42 +05:30
Priyanshupareek
4c7ce3a945 Update browserbase_load_tool.py 2025-01-02 00:54:48 +05:30
Rebecca Qian
10f8a87317 update local evaluator 2024-12-31 04:05:46 -05:00
Rebecca Qian
a7316a86bf fix bug in local evaluator tool 2024-12-31 04:01:26 -05:00
Rebecca Qian
15d6314379 Create separate tool classes 2024-12-31 03:02:15 -05:00
Rebecca Qian
62ddb6c9bd Merge pull request #1 from DarshanDeshpande/feat/add-patronus-api-tool
Update Patronus AI evaluator tool and example
2024-12-31 00:32:52 -05:00
João Moura
0d94a8f7d9 Merge pull request #153 from VinciGit00/main
feat: integration of scrapegraph APIs
2024-12-29 12:26:01 -03:00
João Moura
029afd3e14 Update __init__.py 2024-12-29 12:23:08 -03:00
João Moura
20e852bffc Merge pull request #155 from juliette0704/feat/add_linkup_tool
add linkup tool
2024-12-29 12:21:00 -03:00
João Moura
dd3fea748f Merge pull request #162 from crewAIInc/devin/1735422935-file-read-tool-fix
Fix FileReadTool infinite loop by maintaining original schema
2024-12-28 21:23:17 -03:00
Devin AI
d3391d9ba4 Add comprehensive documentation and type hints to FileReadTool
Co-Authored-By: Joe Moura <joao@crewai.com>
2024-12-28 23:10:51 +00:00
Devin AI
aaf2641cc8 Add comprehensive tests for FileReadTool
Co-Authored-By: Joe Moura <joao@crewai.com>
2024-12-28 22:29:46 +00:00
Devin AI
5e2c38c349 Improve FileReadTool error handling and validation
Co-Authored-By: Joe Moura <joao@crewai.com>
2024-12-28 22:26:37 +00:00
Devin AI
63e23c06c5 Fix FileReadTool infinite loop by maintaining original schema
Co-Authored-By: Joe Moura <joao@crewai.com>
2024-12-28 21:55:35 +00:00
juliette_sivan
e5c47e46a8 add import tools 2024-12-28 10:59:06 -05:00
Marco Vinciguerra
b404439aa9 Merge branch 'main' into main 2024-12-28 09:12:50 +01:00
Marco Vinciguerra
c3ebbba8ae Update __init__.py 2024-12-28 09:11:32 +01:00
João Moura
0674b397f7 Merge pull request #145 from caike/fix-firecrawler-crawl-args
Fix url and api_key args on crawler tool
2024-12-28 00:32:52 -03:00
João Moura
8dd4388c49 Merge pull request #148 from HammamWahab/main
Enabled connection to docker daemon with manual setting of docker base url for code interpreter tool. (Issue #1555)
2024-12-27 23:34:37 -03:00
João Moura
2ad99c04d3 Merge branch 'main' into main 2024-12-27 23:33:36 -03:00
João Moura
cc509a363e Merge pull request #160 from crewAIInc/feature/selenium-scraping-tool-can-return-html
feat: add URL validation and return_html examples
2024-12-27 22:09:01 -03:00
João Moura
ed261892df Merge pull request #156 from pedropereira/feature/selenium-scraping-tool-can-return-html
Feat(SeleniumScrapingTool): Provide capability to return HTML
2024-12-27 22:02:58 -03:00
Devin AI
c7c8cd0a3c feat: add URL validation and return_html examples
- Add comprehensive URL validation in schema and _create_driver
- Add URL format, length, and character validation
- Add meaningful error messages for validation failures
- Add return_html usage examples in README.md

Co-Authored-By: Joe Moura <joao@crewai.com>
2024-12-28 00:54:49 +00:00
João Moura
38a7b1e4da Merge pull request #149 from tanys123/feat/serpapi-tools
feat: Add Google Search and Google Shopping tools
2024-12-27 21:48:20 -03:00
João Moura
7b7327c168 Merge pull request #150 from gbertb/fix/spidertool_fixes
Fix(SpiderTool): Improve Tool Reliability and Performance
2024-12-27 18:37:48 -03:00
João Moura
97a4a348ff Merge pull request #151 from hienhayho/main
fix: fix pydantic validation error
2024-12-27 18:30:18 -03:00
João Moura
078120e548 Merge pull request #159 from MahlerTom/main
[BUG] `CodeInterpreterTool` cannot handle mutli-line code
2024-12-27 18:03:47 -03:00
DarshanDeshpande
7da783ef0e Minor formatting changes 2024-12-26 17:44:04 -05:00
DarshanDeshpande
0ac6f915fb Add all Patronus eval tools and update example 2024-12-26 17:37:22 -05:00
Tom Mahler
ba8f95964f added unit testing for multi-line output 2024-12-24 14:14:09 +02:00
Tom Mahler
64b98667a3 fixed code interpreter tests 2024-12-24 14:13:51 +02:00
Tom Mahler
331840e6cc improved imports from docker for better type hinting 2024-12-24 12:17:57 +02:00
Tom Mahler
bb19f1c74c using command list instead of string to avoid parsing issues 2024-12-24 12:12:18 +02:00
Pedro Pereira
f11756387d chore: add tests for SeleniumScrapingTool 2024-12-19 21:06:51 +00:00
Tony Kipkemboi
b7a132db89 Merge pull request #147 from crewAIInc/feature/enhanced-serper-search
feat(serper-dev): implement enhanced search capabilities and error ha…
2024-12-19 13:15:11 -05:00
Pedro Pereira
5e00b74cd4 chore: update readme 2024-12-19 17:38:30 +00:00
juliette_sivan
4c5f1962ac add linkup tool 2024-12-19 14:07:36 +01:00
Pedro Pereira
8d8c3677ff feat: add optional return_html flag to SeleniumScrapingTool 2024-12-18 18:23:18 +01:00
Marco Vinciguerra
b58d80dcf9 update documents according to suggestions 2024-12-18 14:42:37 +01:00
Marco Vinciguerra
7608944e7f Update README.md 2024-12-18 14:38:34 +01:00
Marco Vinciguerra
c070ba002c feat: integration of scrapegraph APIs 2024-12-18 14:34:40 +01:00
Gilbert Bagaoisan
1bbac87e70 Improved readme based on recommendations—added more advanced usage examples 2024-12-17 21:00:40 -08:00
Gilbert Bagaoisan
73b803ddc3 various improvements for PR based on recommendations 2024-12-17 21:00:34 -08:00
Ho Trong Hien
c7624e1f57 Merge pull request #1 from hienhayho/hienhayho-fix-llamaindex-result-as-answer
fix: fix pydantic validation error
2024-12-17 22:29:19 +07:00
Ho Trong Hien
059d635f02 fix: fix pydantic validation error
- When passing result_as_answer=True, it will return ToolOutput so it won't pass pydantic validation as a string

- Get content of ToolOutput before return
2024-12-17 22:28:41 +07:00
Gilbert Bagaoisan
3795d7dd8e Reversed order of url validation 2024-12-16 22:19:46 -08:00
Gilbert Bagaoisan
4551b8c625 Updated readme 2024-12-16 22:05:46 -08:00
Gilbert Bagaoisan
cd37ede869 lint fixes 2024-12-16 22:05:28 -08:00
Terry Tan Yongsheng
81981e43b6 Add type hints 2024-12-17 13:45:50 +08:00
Terry Tan Yongsheng
2effe9a7d2 Add README 2024-12-17 11:09:38 +08:00
Terry Tan Yongsheng
56a9060840 Add SerpApi tools - google search, google shopping 2024-12-17 11:09:28 +08:00
Rip&Tear
e40ca38daf Merge branch 'main' into feature/enhanced-serper-search 2024-12-16 22:53:55 +08:00
Hammam Abdelwahab
b6bb5dbd53 Enabled manual setting of docker base url for code interpreter tool. Goal is to avoid the error: CodeInterpreterTool Error while fetching server API version: 2024-12-15 10:38:56 +01:00
Hammam Abdelwahab
c26e962d17 Enabled manual setting of docker base url for code interpreter tool. Goal is to avoid the error: CodeInterpreterTool Error while fetching server API version: 2024-12-15 10:34:07 +01:00
DarshanDeshpande
d94f7e03dc Update Patronus AI evaluator tool and example 2024-12-14 15:46:10 -05:00
Rebecca Qian
c76e0f3445 Add patronus evaluation tools
remove fields

rename eval tool

remove eval tool

init files
2024-12-13 19:08:05 -05:00
Carlos Souza
668e87d5e1 Add constructor comments 2024-12-13 11:26:46 -05:00
Carlos Souza
164442223e Organize imports 2024-12-13 11:23:53 -05:00
Carlos Souza
3a095183c5 Use proper options and accept custom FirecrawlApp 2024-12-13 11:20:08 -05:00
Carlos Souza
2cb33b18e5 Remove outdated params 2024-12-13 11:18:59 -05:00
theCyberTech
00418d98f7 resolved conflict 2024-12-13 22:01:04 +08:00
theCyberTech
1fd5805bef Resolved conflict 2024-12-13 21:59:38 +08:00
theCyberTech
b0a948797a feat(serper-dev): implement enhanced search capabilities and error handling
- Add support for multiple search types (general and news)
- Implement knowledge graph integration
- Add structured result processing for organic results, "People Also Ask", and related searches
- Enhance error handling with try-catch blocks and logging
- Update documentation with comprehensive feature list and usage examples
2024-12-13 21:42:01 +08:00
Carlos Souza
1eb5d50a55 Fix url and api_key args on crawler tool 2024-12-12 16:00:24 -05:00
Tony Kipkemboi
a49be2fc52 Merge pull request #142 from crewAIInc/feat/weaviate-tool
setup weaviate vector search tool
2024-12-09 10:44:11 -05:00
Lorenze Jay
d5d83cbd7e fix collection name docs 2024-12-08 21:48:15 -08:00
Lorenze Jay
a0e0c28152 setup weaviate vector search tool 2024-12-08 21:44:19 -08:00
Brandon Hancock (bhancock_ai)
264f1e0f0e Merge pull request #141 from crewAIInc/bugfix/fix-basetool-import
update basetool dependencies to use root crewai repo
2024-12-05 13:36:45 -05:00
Brandon Hancock
d5fb31e645 update basetool dependencies to use root crewai repo 2024-12-05 13:16:48 -05:00
João Moura
e1482d740f Merge pull request #116 from ernestp/main
fix: web scraper concatenate words
2024-12-05 12:00:20 -03:00
João Moura
7c375976ab Merge pull request #128 from mplachta/jina_website_scraper
Jina Website Scraper v1
2024-12-05 11:56:26 -03:00
João Moura
5b813e3d31 Merge pull request #132 from caike/fix-firecrawl-scrape-pydantic-errors
Fix pydantic related errors on FirecrawlScrapeWebsiteTool
2024-12-05 11:56:08 -03:00
João Moura
25969d9db7 Merge pull request #134 from caike/fix-firecrawl-crawl-pydantic-errors
Fix pydantic related errors on FirecrawlCrawlWebsiteTool
2024-12-05 11:55:26 -03:00
João Moura
f64a93b541 Merge pull request #139 from crewAIInc/tools_readme_update
docs: add Discourse community link to contact section
2024-12-05 11:54:41 -03:00
João Moura
569d9e7f75 Merge pull request #137 from siddas27/feature/BraveSearchTool
add brave search tool
2024-12-05 11:08:03 -03:00
siddas27
a64cccbd72 add BraveSearchTool to init 2024-12-04 22:28:30 -06:00
theCyberTech
e0d3ee5b23 docs: add Discourse community link to contact section
Add link to Discourse community platform in the contact section to provide users with an additional support channel alongside Discord.
2024-12-03 20:35:23 +08:00
siddas27
95cc6835a1 update name 2024-11-30 22:30:31 -06:00
siddas27
e7e059d02a add rate limiting 2024-11-30 22:08:29 -06:00
siddas27
5532ea8ff7 add lru caching 2024-11-30 21:51:46 -06:00
siddas27
d168b8e245 add error handling 2024-11-30 21:36:28 -06:00
siddas27
6c242ef3bb add brave search tool 2024-11-30 14:04:06 -06:00
Tony Kipkemboi
0e49353fcd Merge pull request #135 from crewAIInc/fix/nl2sql-readme-typos
docs: fix typos and formatting in NL2SQL tool README
2024-11-30 11:54:14 -05:00
Tony Kipkemboi
41711c1ffe Merge pull request #129 from crewAIInc/docs_fix
Fix API Key Reference in MultiOnTool README
2024-11-30 11:52:45 -05:00
Tony Kipkemboi
ea2994d341 Merge pull request #133 from crewAIInc/docs/fix-codedocssearch-readme
docs: improve CodeDocsSearchTool README
2024-11-30 11:44:01 -05:00
theCyberTech
945ed7aaaa docs: fix typos and formatting in NL2SQL tool README 2024-11-30 10:52:57 +08:00
Carlos Souza
eed6a38ea4 Fix pydantic related errors. 2024-11-29 11:42:07 -05:00
theCyberTech
ec9951e28a docs: improve CodeDocsSearchTool README
- Fix tool name in custom model example
2024-11-30 00:34:04 +08:00
Carlos Souza
e677a271e5 More explicit model config 2024-11-29 05:57:09 -05:00
Carlos Souza
49ad43ff08 Do not reraise exception
Tool use is optional and missing dependency
should not raise error
2024-11-29 05:51:55 -05:00
Carlos Souza
a94470772f Fix pydantic related errors on FirecrawlScrapeWebsiteTool 2024-11-28 19:09:44 -05:00
Mike Plachta
dd18c59a9b Update jina_scrape_website_tool.py 2024-11-27 19:57:52 -08:00
theCyberTech
cbec6d5cd7 docs: fix API key reference in MultiOnTool README 2024-11-28 11:15:18 +08:00
Mike Plachta
15970734e3 Jina Website Scraper v1 2024-11-27 17:52:56 -08:00
Eduardo Chiarotti
601abb2bc3 Merge pull request #125 from crewAIInc/feat/remove-langchain
feat: remove langchain from code and update Dockerfile from CodeInterpreter
2024-11-26 16:56:29 -03:00
Eduardo Chiarotti
488782fb4a feat: remove langchain from code and change to CrewStructuredTool and update Dockerilf CodeInterpreter 2024-11-25 16:14:49 -03:00
theCyberTech
1c37158208 fix: correct variable name typo in exa_base_tool 2024-11-20 18:58:58 +08:00
João Moura
a3630418f9 Merge pull request #121 from piotrm0/piotrm/base_tool
remove independent BaseTool
2024-11-10 19:48:52 -03:00
Piotr Mardziel
10639d8775 Update base_tool.py 2024-11-05 16:22:35 -08:00
Brandon Hancock
2061f8ca41 Improve firecrawl tool 2024-11-01 17:19:59 -04:00
Ernest Poletaev
1f8791953e fix: retain line breaks 2024-10-25 22:33:24 +07:00
Ernest Poletaev
96e52767ad fix: web scraper concatenate words 2024-10-25 22:03:59 +07:00
Rip&Tear
9eac65f9f6 Merge pull request #115 from adanbu/main
Fixing errors of the File Writer tool
2024-10-24 12:28:20 +08:00
Brandon Hancock
8e15bc6386 add support for unsafe code execution 2024-10-23 10:36:29 -04:00
Adan Butto
6a7e917e1d Changed order of the arguments, placing 'content' last.
It tends to forget context when it gets to filling other arguments when content is on the longer side.
2024-10-22 18:47:52 +03:00
Adan Butto
857d6c135c reverted directory variable back to optional 2024-10-20 20:37:59 +03:00
Adan Butto
96429040de Fixed File Writer tool errors for better interaction with the agents 2024-10-20 18:54:01 +03:00
João Moura
c4f8a1cdf1 Merge pull request #107 from masorensen/bug/ragTools-kwargs
Scoping issue causing error in RAG tools
2024-10-17 16:43:11 -03:00
João Moura
d54b8a6e8d Merge pull request #112 from 11bluetree/patch-1
fix: SpiderTool import
2024-10-17 14:19:22 -03:00
Aoki Haruhito
fe172cb4de fix: SpiderTool import 2024-10-17 10:03:37 +09:00
Eduardo Chiarotti
1e76b66234 Merge pull request #111 from crewAIInc/feat/migrate-uv
Feat/migrate uv
2024-10-15 14:49:39 -03:00
Eduardo Chiarotti
90a13cb6f7 feat: change to uv on docs 2024-10-15 09:16:17 -03:00
Mike Sorensen
1cc8966e2e fixed scoping issue causing error in RAG tools 2024-09-23 22:18:22 -05:00
Rip&Tear
a04d98f62f Merge pull request #101 from crewAIInc/brandon/cre-250-llamaindex-pydantic-v2
Pydantic v1 issues
2024-09-13 21:53:32 +08:00
Brandon Hancock
35fe222ca1 Move off v1 2024-09-03 15:57:29 -04:00
Rip&Tear
d19bba72b0 Merge pull request #96 from crewAIInc/docs_update
Updated GitHub repo links and readme.md
2024-08-31 12:32:52 +08:00
theCyberTech
5957573625 Updated github repo links _ readme.md 2024-08-29 17:41:43 +08:00
João Moura
91c394ffce Merge pull request #95 from crewAIInc/feat/update-code-interpreter
feat: Add volume option
2024-08-27 07:25:29 -07:00
Eduardo Chiarotti
d146e4a961 feat: change the anme of user dockerfile path 2024-08-27 09:01:09 -03:00
Eduardo Chiarotti
8007938d6b feat: ADd volume option 2024-08-27 08:35:56 -03:00
Thiago Moretto
859e6162e8 Merge pull request #93 from crewAIInc/fix-nl2sql-pydantic-conflict
Fix NL2SQL pydantic version conflict
2024-08-19 13:49:06 -03:00
Thiago Moretto
e8b185e607 Fix NL2SQL pydantic version conflict 2024-08-14 14:05:44 -03:00
Eduardo Chiarotti
c32023df29 Merge pull request #91 from crewAIInc/fix/dalle-docs
docs: fix issue on Dalle tool docs
2024-08-13 11:25:25 -03:00
Eduardo Chiarotti
a228732423 docs: fix 2024-08-13 08:40:12 -03:00
Eduardo Chiarotti
b47926b1d9 docs: fix plural 2024-08-13 08:39:49 -03:00
Eduardo Chiarotti
64762887f0 docs: fix issue on Dalle tool docs 2024-08-13 08:39:20 -03:00
João Moura
5dd49762e3 Fixing imports and cutting new patch 2024-08-11 00:46:32 -03:00
João Moura
d861dcc3c4 Merge pull request #85 from rafaelsideguide/fix/firecrawl-timeout-description
[Bug] Improvements on default values and timeout description
2024-08-10 19:59:54 -07:00
João Moura
32abada521 Merge pull request #81 from Ryuzaki1415/patch-1
Corrected the acronym 'RAG'
2024-08-10 19:59:15 -07:00
João Moura
2416c08760 Merge pull request #41 from antunsz/feature/add-folder-file-writer
adding file writer tool and documentation
2024-08-10 19:40:24 -07:00
João Moura
fba480c582 Merge branch 'main' into feature/add-folder-file-writer 2024-08-10 19:40:03 -07:00
João Moura
50dc37ad5b adding dalle import 2024-08-10 23:35:46 -03:00
João Moura
1227c3fc7c Merge pull request #35 from antunsz/feature/add-mysql-tool
Feature/add mysql tool
2024-08-10 19:35:21 -07:00
João Moura
2da8cfcf99 Merge branch 'main' into feature/add-mysql-tool 2024-08-10 19:35:08 -07:00
João Moura
e7078f6502 Merge pull request #83 from crewAIInc/feat/add-vision-tool
feat: Add Vision tool to the CrewAI tool
2024-08-10 19:22:01 -07:00
rafaelsideguide
a2e38b6121 Improvements on default values and description 2024-08-06 13:56:44 -03:00
Eduardo Chiarotti
4835c2bf68 feat: Add Vision tool to the CrewAI tool 2024-07-31 17:10:26 -03:00
João Moura
d28dba453e Merge pull request #82 from crewAIInc/feat/dall-e-tool
feat: Add Dall-E tool to generate images
2024-07-30 18:37:34 -07:00
Eduardo Chiarotti
0070df7451 docs: Add documentation for the DallETool 2024-07-30 22:29:45 -03:00
Eduardo Chiarotti
b343c71b9b feat: Add Dall-E tool to generate images 2024-07-30 22:17:23 -03:00
Eduardo Chiarotti
88becbd6e1 Merge pull request #80 from crewAIInc/feat/NL2SQL-tool
feat: Add nl2sql tool to run and execute sql queries in databases
2024-07-26 14:25:01 -03:00
Dheeraj Unni
225ee06030 Corrected the acronym 'RAG' 2024-07-26 17:05:58 +05:30
Eduardo Chiarotti
18a28261a4 docs: Add documentation for NL2SqlTool 2024-07-25 15:25:48 -03:00
Eduardo Chiarotti
c372641be8 feat: format code 2024-07-24 21:39:49 -03:00
Eduardo Chiarotti
6fd02cdf82 feat: remove unecessary code 2024-07-24 21:38:52 -03:00
Eduardo Chiarotti
2df29f3dde feat: Add nl2sql tool to run and execute sql queries in databases 2024-07-24 21:37:22 -03:00
João Moura
8506505301 Merge pull request #78 from wuloi/main
fixing serply_api_tool
2024-07-19 09:33:11 -07:00
ai.flyingwheel
25343727fd fixing serply_api_tool 2024-07-19 23:11:10 +08:00
João Moura
0386120a5a fixing serper tool 2024-07-19 00:28:27 -04:00
Carlos Antunes
21342fa0f6 adding the proper imports into __init__.py files, and fixing the folder name 2024-07-15 13:00:06 -03:00
Carlos Antunes
d5e6b95817 adding the appropriate imports on the __init__.py files 2024-07-15 12:41:53 -03:00
João Moura
d8c98f2e64 Merge pull request #38 from mishushakov/main
updated browserbase tool
2024-07-14 17:10:42 -07:00
João Moura
33a0f05804 Merge pull request #42 from WilliamEspegren/main
Added Spider Tool
2024-07-14 15:24:27 -07:00
João Moura
d9ad8c62b9 Merge branch 'main' into main 2024-07-14 15:23:27 -07:00
João Moura
3f3ef03395 Merge pull request #44 from SuperMuel/add-more-parameters-to-serperdev-search-payload
Add more parameters to serperdev search payload
2024-07-14 14:00:02 -07:00
João Moura
f447f71a8e Update serper_dev_tool.py 2024-07-14 17:59:17 -03:00
João Moura
ac3ee8576d Merge branch 'main' into add-more-parameters-to-serperdev-search-payload 2024-07-14 13:48:54 -07:00
João Moura
7227a0e740 Merge pull request #45 from mazen-r/main
Add Scrapfly website scrape tool
2024-07-14 13:46:19 -07:00
João Moura
1111a1ac6b Merge branch 'main' into main 2024-07-14 13:46:10 -07:00
João Moura
7dd33e0b3a Merge pull request #51 from smsajjadzaidi/fix/serper_dev_tool
fixed use of arg n_results
2024-07-14 13:39:20 -07:00
João Moura
75ee346d18 Merge pull request #53 from googio/adding-serply-api
Adding Serply API
2024-07-14 13:37:03 -07:00
João Moura
2bcb9e7000 Merge branch 'main' into adding-serply-api 2024-07-14 13:36:25 -07:00
João Moura
c9d22489b8 Merge pull request #58 from strnad/fix-ragtool-parameters
fix: Ensure tools handle parameters passed post-creation correctly
2024-07-14 12:08:11 -07:00
João Moura
1a676c6340 Merge pull request #64 from sethcoast/pdf-search-tool-query-fix
Limit PDF search results to the provided PDF (IF a PDF is provided)
2024-07-14 12:07:34 -07:00
João Moura
1cf2ebb07b Merge pull request #55 from theCyberTech/patch-2
Update serper_dev_tool.py
2024-07-14 11:31:14 -07:00
João Moura
acf776f91a Merge pull request #61 from celobusana/busana/fix-selenium-firefox-options
Fix: Selenium incorrect firefox options import
2024-07-14 11:30:46 -07:00
João Moura
f0d924fab1 Merge pull request #71 from strnad/add_tools_params_description
arguments descriptions added to tool description
2024-07-14 11:30:02 -07:00
João Moura
fc52061bc9 Merge pull request #60 from MULTI-ON/main
add multion tool
2024-07-12 09:10:01 -07:00
João Moura
3be455e971 Merge pull request #73 from strnad/fix_ScrapeWebsiteTool_encoding
bugfix: ScrapeWebsiteTool encoding
2024-07-12 09:09:27 -07:00
Naman Garg
676e714c8b Merge branch 'main' into main 2024-07-08 15:12:25 -07:00
Naman Garg
6f45c6ed09 Updated Readme 2024-07-08 15:11:04 -07:00
Jakub Strnad
65855cbe56 bugfix: ScrapeWebsiteTool encoding
fixed problem with garbage output of ScrapeWebsiteTool on some websites
2024-07-08 15:24:26 +02:00
João Moura
f056764132 adding firecrawl imports 2024-07-08 01:15:00 -04:00
Jakub
cb1dc13a9d fixed intendation 2024-07-05 18:42:16 +02:00
Jakub Strnad
a5d2839431 arguments descriptions added to tool description
so now the agent knows how to use the tools params
2024-07-05 16:30:41 +02:00
João Moura
cf67b424c2 Merge pull request #70 from joaomdmoura/fix/code-interpreter-description
fix: fix type hinting, add container name and handle exception and returned old description
2024-07-04 12:59:29 -07:00
Eduardo Chiarotti
ba05d18ab1 fix: fix type hinting, add container name and handle exception and returned old description 2024-07-04 16:42:29 -03:00
João Moura
b4d91d1ce0 adding new result_as_answer options 2024-07-04 00:10:31 -04:00
João Moura
a801f1cd24 Merge pull request #34 from rafaelsideguide/added-firecrawl-tools
added Firecrawl tools
2024-07-03 14:46:44 -07:00
João Moura
f2063d01fa Merge pull request #69 from joaomdmoura/fix/import-code-tool
fix: add code interpreter tool
2024-07-02 09:00:11 -07:00
Eduardo Chiarotti
d000bd2fc8 fix: add code interpreter tool 2024-07-02 12:00:04 -03:00
João Moura
f743a5ce61 Merge pull request #62 from angrybayblade/feat/composio-tool
Add `composio` CrewAI tool wrapper
2024-07-01 18:12:53 -07:00
João Moura
241dc37ba3 Merge branch 'main' into feat/composio-tool 2024-07-01 18:12:45 -07:00
João Moura
f79c385bf7 revamping code interpreter 2024-07-01 00:55:21 -07:00
João Moura
00e573c960 Merge pull request #67 from MervinPraison/main
Update __init__.py to Add CodeInterpreterTool
2024-06-30 20:38:12 -07:00
Mervin Praison
a3d3a70b5a Update __init__.py to Add CodeInterpreterTool 2024-07-01 04:34:39 +01:00
angrybayblade
9a8d88b8aa fix: merge from_app and from_use_case 2024-06-27 13:35:57 +05:30
angrybayblade
58354ec638 chore: update README 2024-06-27 12:23:05 +05:30
angrybayblade
369c03a257 feat: add check for auth accounts 2024-06-27 12:16:22 +05:30
angrybayblade
7ffd8f5129 Merge branch 'main' into feat/composio-tool 2024-06-27 11:56:55 +05:30
angrybayblade
ab484172ef chore: update readme 2024-06-27 11:40:02 +05:30
angrybayblade
be6e1a79dd feat: add search utility methods 2024-06-27 11:39:42 +05:30
angrybayblade
41478abdf5 feat: define ComposioTool in the top level imports 2024-06-27 11:36:52 +05:30
João Moura
7a6e588c58 Merge pull request #59 from joaomdmoura/feat/code-interpreter
Feat: Code Interpreter tool
2024-06-27 02:25:25 -03:00
João Moura
25339f3ee1 Merge branch 'main' into feat/code-interpreter 2024-06-27 02:25:18 -03:00
Seth Donaldson
a95f5c27c6 Create PDFEmbedchainAdapter class and utilize it in PDFSearchTool 2024-06-26 15:52:54 -04:00
Seth Donaldson
f5d092f6a3 clean copy of embedchain_adapter.py 2024-06-26 15:46:14 -04:00
angrybayblade
d4449ee5f0 feat: add composio CrewAI tool wrapper 2024-06-24 20:49:09 +05:30
Marcelo Busana
f9c803a8c1 Fix: Selenium incorrect firefox options import 2024-06-23 15:33:55 -03:00
Naman Garg
d84a616572 update local option description in readme 2024-06-21 15:01:08 -07:00
Naman Garg
c97678bb11 add multion tool 2024-06-21 14:48:24 -07:00
Jakub Strnad
2f80840c74 fix: Ensure tools handle parameters passed post-creation correctly (#3)
- Fixed an issue where multiple tools failed to function if parameters were provided after tool creation.
- Updated tools to correctly process source file/URL passed by the agent post-creation as per documentation.

Closes #<47>
2024-06-21 15:06:17 +02:00
Eduardo Chiarotti
161c72b29f feat: update README 2024-06-20 21:55:25 -03:00
Eduardo Chiarotti
61cce93fd0 feat: remove unused Makefile, update README and update code 2024-06-20 21:41:12 -03:00
Eduardo Chiarotti
94e6651b55 feat: add code-interpreter tool to init and add unit tests 2024-06-20 20:43:19 -03:00
Eduardo Chiarotti
1a4ac76b1e feat: update code 2024-06-20 20:24:47 -03:00
Eduardo Chiarotti
da75d51fe8 feat: add Dockerfile, Makefile and update version of code 2024-06-20 20:24:26 -03:00
João Moura
bd13b55afd Adding new PDFTextWritingTool 2024-06-20 12:56:35 -03:00
Serply
0f703950d9 Merge branch 'main' into adding-serply-api 2024-06-20 08:22:18 -04:00
Eduardo Chiarotti
2b47377a78 feat: add code-interpreter tool 2024-06-19 20:45:04 -03:00
João Moura
f3bf13e1b1 Merge pull request #50 from jerryjliu/jerry/add_llamaindex_tool
add llamaindex tool
2024-06-14 01:12:41 -03:00
teampen
806f884956 using GET in markdown 2024-06-14 01:43:25 +00:00
Rip&Tear
5e8e711170 Update serper_dev_tool.py
Added two additional functionalities:

1) added the ability to save the server results to a file
2) added the ability to  set the number of results returned

Can be used as follows:

serper_tool = SerperDevTool(file_save=True, n_results=20)
2024-06-13 12:53:35 +08:00
teampen
2c0f90dd22 adding serply job search tool 2024-06-11 13:03:17 -04:00
teampen
ffe3829cef adding webpage to markdown 2024-06-10 21:34:53 -04:00
teampen
d8b8edab08 adding google search, sholar, and news 2024-06-10 21:15:21 -04:00
smsajjadzaidi
ff80e6cb79 fixed use of arg n_results 2024-06-10 02:54:21 +05:00
Jerry Liu
7ee7d846e2 cr 2024-06-08 21:42:28 -07:00
Mazen Ramadan
53e9b40725 Add Scrapfly website scrape tool 2024-05-27 14:48:38 +03:00
WilliamEspegren
ad965357ce refined spider_tool.py 2024-05-25 22:40:48 +02:00
WilliamEspegren
f0f1ab175a remove unecessary os import 2024-05-25 22:36:30 +02:00
WilliamEspegren
7d40c98434 remove full tool import 2024-05-25 22:28:48 +02:00
WilliamEspegren
56146b7df4 remove full tool, refined tool 2024-05-25 22:22:50 +02:00
SuperMuel
438c979a2e Add n_results, country, location and locale parameters to payload 2024-05-23 13:51:17 +02:00
WilliamEspegren
5b7276c0bb x 2024-05-23 12:03:48 +02:00
WilliamEspegren
70b5a3ab85 fixed white space 2024-05-22 17:05:46 +02:00
WilliamEspegren
60eb6e7c6f spider_tool working, not spider_full_tool 2024-05-21 23:34:05 +02:00
WilliamEspegren
dd15dab111 added full params 2024-05-21 21:26:12 +02:00
WilliamEspegren
0b49403635 remove print from testing 2024-05-21 12:06:08 +02:00
WilliamEspegren
4e1425665c spider tool 2024-05-21 11:48:52 +02:00
Carlos Antunes
1f08d74015 adding file writer tool and documentation 2024-05-20 22:00:34 -03:00
Mish Ushakov
bedbac2aaf updated browserbase tool readme 2024-05-20 09:02:55 +00:00
Mish Ushakov
5c2d8c4cfa updated browserbase tool 2024-05-20 08:58:25 +00:00
Carlos Antunes
a11cc57345 adding MySQLSearcherTool 2024-05-18 16:58:40 -03:00
Carlos Antunes
e36af697cd adding MySQLSearchTool README 2024-05-18 16:56:06 -03:00
rafaelsideguide
a51a7000c5 added Firecrawl tools 2024-05-16 11:20:36 -03:00
João Moura
53c7d815ae preapring new verison with new version of Exa tool 2024-05-13 21:30:34 -03:00
João Moura
4b11881a70 Merge pull request #32 from slavakurilyak/feature/fix-docx-search-tool
Fix TypeError in DOCXSearchTool Schema
2024-05-08 17:20:03 -03:00
Slava Kurilyak (slavakurilyak.eth)
cecfde6608 Fix TypeError in FixedDOCXSearchToolSchema by correcting Optional usage with Field 2024-05-06 15:21:23 -03:00
Slava Kurilyak (slavakurilyak.eth)
b14f2d4bf1 Revert "Fix TypeError in FixedDOCXSearchToolSchema by correcting Optional usage with Field"
This reverts commit e0840e4826.
2024-05-06 15:21:07 -03:00
Slava Kurilyak (slavakurilyak.eth)
e0840e4826 Fix TypeError in FixedDOCXSearchToolSchema by correcting Optional usage with Field 2024-05-06 15:19:37 -03:00
João Moura
7c6b1249fb cutring new version with improved docs search 2024-05-06 14:02:09 -03:00
João Moura
037e80c6a3 cutting new verison with exa search tool 2024-05-02 23:15:32 -03:00
João Moura
59d9d9eb1f moving EXA env dependency to tool execution 2024-05-02 04:12:45 -03:00
João Moura
cf6231384c quick fix 2024-05-02 03:56:14 -03:00
João Moura
a95cbfdc6a TYPO 2024-05-02 03:04:48 -03:00
João Moura
cf96d5579f Update README.md 2024-05-02 02:54:18 -03:00
João Moura
768bb74a2c renaming exa tool 2024-05-02 02:50:54 -03:00
João Moura
ffd5942b31 pushing initial exa search tool 2024-05-02 02:48:21 -03:00
João Moura
5fb9ddfa2a updating serperdev to allow for query and search_query 2024-05-02 02:37:47 -03:00
João Moura
b992238a5d Merge pull request #13 from eltociear/main
Update serper_dev_tool.py
2024-05-02 02:28:24 -03:00
João Moura
a474745b67 Merge pull request #18 from jeroen-vet/jeroen-vet-patch-1
Update serper_dev_tool.py consider n_results parameter
2024-05-02 02:26:55 -03:00
João Moura
5d64a5c41c Merge branch 'main' into jeroen-vet-patch-1 2024-05-02 02:26:48 -03:00
João Moura
d4fc993f1e Update serper_dev_tool.py 2024-05-02 02:25:55 -03:00
João Moura
843c982ba9 Merge pull request #19 from Tavernari/main
Improve File Reading Robustness in FileReadTool
2024-05-02 02:24:54 -03:00
João Moura
e6da49754d Merge pull request #28 from mishushakov/main
Updated Browserbase load tool
2024-05-02 02:23:41 -03:00
Mish Ushakov
f78011e68c added args_schema to browserbase tool 2024-04-29 11:53:10 +02:00
Mish Ushakov
39aba4cb48 updated browserbase load tool 2024-04-25 12:15:31 +00:00
João Moura
ed58694675 Merge pull request #25 from mishushakov/main
added BrowserbaseLoadTool
2024-04-24 00:03:04 -03:00
Mish Ushakov
e0d799c075 updated browserbase integration 2024-04-19 11:40:03 +00:00
Mish Ushakov
b80dd1ca8b added BrowserbaseLoadTool 2024-04-17 13:36:21 +00:00
João Moura
031fe500fb Merge pull request #24 from Christian24/patch-1
Fix wrong comments / descriptions for SerperDevTool
2024-04-16 10:42:05 -03:00
Christian24
aab3acbaa6 Fix wrong comments / descriptions for SerperDevTool 2024-04-15 22:14:16 +02:00
João Moura
3aa1bc3894 Merge pull request #23 from joaomdmoura/gui/fix-descriptions
Fix tool descriptions
2024-04-10 11:49:28 -03:00
Gui Vieira
c5fd5196e2 Fix tool descriptions 2024-04-10 11:48:23 -03:00
João Moura
be1a60554f TYPO 2024-04-07 18:22:09 -03:00
João Moura
873112d696 fxing docs 2024-04-07 18:12:16 -03:00
João Moura
9f41fb4057 Adding timeout to scrapping website tool 2024-04-07 14:18:41 -03:00
João Moura
dd2349a90a Merge pull request #22 from joaomdmoura/gui/fix-github-search-tool
Fix GithubSearchTool
2024-04-05 18:06:09 -03:00
Gui Vieira
776826ec99 Fix GithubSearchTool 2024-04-05 18:04:45 -03:00
João Moura
9c98ad455d Merge pull request #21 from joaomdmoura/gui/fix-rag-tools
Fix RAG tools
2024-04-04 13:45:28 -03:00
Gui Vieira
4e9709b8fb Fix RAG tools 2024-04-04 13:42:30 -03:00
Victor C Tavernari
92abe0b726 Enhance file reading with error handling
- Wrapped the file reading functionality inside a `_run` method.
- Added error handling to return a descriptive error message if an exception occurs during file reading.
2024-03-31 23:41:02 +01:00
João Moura
80f9613959 Adding two default arguments to cache function 2024-03-27 15:04:45 -03:00
Jeroen Vet
3b77de7b21 Update serper_dev_tool.py consider n_results parameter
In original code n_results is always None so you always get only 10 results from Serper. With this change, when you explicitly set the n_results parameter when creating a SerperDevTool object it is taken into account.
2024-03-23 18:36:08 +01:00
João Moura
f17057898d Merge pull request #17 from joaomdmoura/gui/custom-model-docs
Custom model docs
2024-03-22 03:01:52 -03:00
Gui Vieira
95fb44be88 Custom model docs 2024-03-21 21:13:36 -03:00
Gui Vieira
1c8d010601 Custom model config for RAG tools 2024-03-19 18:47:13 -03:00
João Moura
73cae1997d Merge pull request #15 from joaomdmoura/joaomdmoura/cache-option
adding cache_function to base_tool
2024-03-19 13:42:08 -03:00
João Moura
b8e86b0fb4 adding cache_function to base_tool 2024-03-19 13:33:20 -03:00
Ikko Eltociear Ashimine
c09f62cf47 Update serper_dev_tool.py
stirng -> string
2024-03-17 12:32:08 +09:00
João Moura
cf4f49c6e9 cutting new version 2024-03-07 20:32:18 -03:00
João Moura
37aa8d6b63 Adding docs for all tools 2024-03-03 22:14:30 -03:00
João Moura
8ffbd9665b avoinding organic error on serper dev tool 2024-03-03 12:32:13 -03:00
João Moura
7f683b21f5 preparring new version 2024-03-03 12:29:46 -03:00
João Moura
d19814d7a3 fixing TYPO 2024-03-03 12:29:32 -03:00
João Moura
51358b3cc4 updating scrapping tool 2024-03-02 12:41:55 -03:00
João Moura
ec97e15a3a Adding new description generator 2024-02-29 03:10:11 -03:00
João Moura
640b5a9461 adding intial selenium scrapping tool 2024-02-29 03:10:11 -03:00
João Moura
f2dfa07221 Merge pull request #5 from slavakurilyak/fix-none-type-query-error
Fix NoneType object has no attribute 'query' error by updating app attribute
2024-02-27 23:38:51 -03:00
Slava Kurilyak (slavakurilyak.eth)
467b05532f Fix NoneType object has no attribute 'query' error by updating app attribute 2024-02-27 22:33:04 -03:00
João Moura
79eec51c9a Cutting new version with improved scrapping 2024-02-26 06:52:22 -03:00
João Moura
cff6082f1c improving scrapping tools 2024-02-26 06:20:15 -03:00
João Moura
9e560ff951 adding new scrapping tools 2024-02-26 06:15:15 -03:00
João Moura
80942bf38c properly adding serper tool 2024-02-26 06:01:05 -03:00
João Moura
50bae27948 revamping crewai tool 2024-02-25 21:11:09 -03:00
João Moura
7c99e9ab50 preparing new verion and adding new tools 2024-02-24 03:13:17 -03:00
João Moura
f3c693a5bb very much work in progress version 2024-02-22 19:56:42 -03:00
João Moura
e94fd2cad2 quick fixes 2024-02-15 18:27:38 -03:00
João Moura
b4f270ad1f quick fixes 2024-02-15 18:26:15 -03:00
João Moura
7ee9926f2e quick fixes 2024-02-15 18:24:16 -03:00
João Moura
a20481d023 adding RAG spefic readme and implementing specific helpers 2024-02-15 18:01:53 -03:00
João Moura
aa7e336989 adding assets 2024-02-15 14:03:58 -03:00
João Moura
db5d371769 Quick tools reorganization 2024-02-15 14:02:42 -03:00
João Moura
a232bfbe60 Merge pull request #1 from joaomdmoura/gui/rag-tool
First take on a rag tool
2024-02-15 13:22:52 -03:00
Gui Vieira
c1182eb322 First take on a rag tool 2024-02-13 20:10:56 -03:00
João Moura
54e4554f49 first commit 2024-01-14 11:54:26 -03:00
701 changed files with 24668 additions and 33171 deletions

View File

@@ -33,7 +33,7 @@ jobs:
- name: Install dependencies and populate cache
run: |
echo "Building global UV cache for Python ${{ matrix.python-version }}..."
uv sync --all-groups --all-extras --no-install-project
uv sync --all-groups --all-extras
echo "Cache populated successfully"
- name: Save uv caches

View File

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

View File

@@ -38,7 +38,7 @@ jobs:
enable-cache: false
- name: Install dependencies
run: uv sync --all-groups --all-extras --no-install-project
run: uv sync --all-packages --all-extras --no-install-project
- name: Get Changed Python Files
id: changed-files
@@ -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'

View File

@@ -1,71 +0,0 @@
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,14 +8,6 @@ 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:
@@ -33,17 +25,17 @@ jobs:
with:
fetch-depth: 0 # Fetch all history for proper diff
- name: Restore global uv cache
id: cache-restore
uses: actions/cache/restore@v4
with:
path: |
~/.cache/uv
~/.local/share/uv
.venv
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
restore-keys: |
uv-main-py${{ matrix.python-version }}-
# - name: Restore global uv cache
# id: cache-restore
# uses: actions/cache/restore@v4
# with:
# path: |
# ~/.cache/uv
# ~/.local/share/uv
# .venv
# key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
# restore-keys: |
# uv-main-py${{ matrix.python-version }}-
- name: Install uv
uses: astral-sh/setup-uv@v6
@@ -53,18 +45,18 @@ jobs:
enable-cache: false
- name: Install the project
run: uv sync --all-groups --all-extras
run: uv sync --all-packages --all-extras
- name: Restore test durations
uses: actions/cache/restore@v4
with:
path: .test_durations_py*
key: test-durations-py${{ matrix.python-version }}
# - name: Restore test durations
# uses: actions/cache/restore@v4
# with:
# path: .test_durations_py*
# key: test-durations-py${{ matrix.python-version }}
- name: Run tests (group ${{ matrix.group }} of 8)
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
@@ -83,7 +75,7 @@ jobs:
# DURATIONS_ARG="--durations-path=${DURATION_FILE}"
# fi
cd lib/crewai && uv run pytest \
uv run pytest lib/crewai \
--block-network \
--timeout=30 \
-vv \
@@ -92,27 +84,15 @@ jobs:
$DURATIONS_ARG \
--durations=10 \
-n auto \
--maxfail=3
--maxfail=3 \
-m "not requires_local_services"
- 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
with:
path: |
~/.cache/uv
~/.local/share/uv
.venv
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
# - name: Save uv caches
# if: steps.cache-restore.outputs.cache-hit != 'true'
# uses: actions/cache/save@v4
# with:
# path: |
# ~/.cache/uv
# ~/.local/share/uv
# .venv
# key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}

View File

@@ -40,7 +40,7 @@ jobs:
enable-cache: false
- name: Install dependencies
run: uv sync --all-groups --all-extras
run: uv sync --all-packages --all-extras
- name: Get changed Python files
id: changed-files

View File

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

BIN
assets/crew_only_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
assets/crewai_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -40,16 +40,6 @@
]
},
"tabs": [
{
"tab": "Home",
"icon": "house",
"groups": [
{
"group": "Welcome",
"pages": ["index"]
}
]
},
{
"tab": "Documentation",
"icon": "book-open",
@@ -235,9 +225,9 @@
"group": "Integrations",
"icon": "plug",
"pages": [
"en/tools/integration/overview",
"en/tools/integration/bedrockinvokeagenttool",
"en/tools/integration/crewaiautomationtool"
"en/tools/tool-integrations/overview",
"en/tools/tool-integrations/bedrockinvokeagenttool",
"en/tools/tool-integrations/crewaiautomationtool"
]
},
{
@@ -311,27 +301,15 @@
"pages": ["en/enterprise/introduction"]
},
{
"group": "Build",
"group": "Features",
"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/traces",
"en/enterprise/features/rbac",
"en/enterprise/features/tool-repository",
"en/enterprise/features/webhook-streaming",
"en/enterprise/features/hallucination-guardrail"
]
},
{
"group": "Manage",
"pages": [
"en/enterprise/features/rbac"
"en/enterprise/features/traces",
"en/enterprise/features/hallucination-guardrail",
"en/enterprise/features/integrations",
"en/enterprise/features/agent-repositories"
]
},
{
@@ -355,22 +333,6 @@
"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": [
@@ -380,11 +342,15 @@
"en/enterprise/guides/update-crew",
"en/enterprise/guides/enable-crew-studio",
"en/enterprise/guides/azure-openai-setup",
"en/enterprise/guides/tool-repository",
"en/enterprise/guides/automation-triggers",
"en/enterprise/guides/hubspot-trigger",
"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/webhook-automation"
"en/enterprise/guides/zapier-trigger"
]
},
{
@@ -457,16 +423,6 @@
]
},
"tabs": [
{
"tab": "Início",
"icon": "house",
"groups": [
{
"group": "Bem-vindo",
"pages": ["pt-BR/index"]
}
]
},
{
"tab": "Documentação",
"icon": "book-open",
@@ -642,12 +598,12 @@
]
},
{
"group": "Integrations",
"group": "Integrações",
"icon": "plug",
"pages": [
"pt-BR/tools/integration/overview",
"pt-BR/tools/integration/bedrockinvokeagenttool",
"pt-BR/tools/integration/crewaiautomationtool"
"pt-BR/tools/tool-integrations/overview",
"pt-BR/tools/tool-integrations/bedrockinvokeagenttool",
"pt-BR/tools/tool-integrations/crewaiautomationtool"
]
},
{
@@ -719,27 +675,14 @@
"pages": ["pt-BR/enterprise/introduction"]
},
{
"group": "Construir",
"group": "Funcionalidades",
"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/traces",
"pt-BR/enterprise/features/rbac",
"pt-BR/enterprise/features/tool-repository",
"pt-BR/enterprise/features/webhook-streaming",
"pt-BR/enterprise/features/hallucination-guardrail"
]
},
{
"group": "Gerenciar",
"pages": [
"pt-BR/enterprise/features/rbac"
"pt-BR/enterprise/features/traces",
"pt-BR/enterprise/features/hallucination-guardrail",
"pt-BR/enterprise/features/integrations"
]
},
{
@@ -772,20 +715,14 @@
"pt-BR/enterprise/guides/update-crew",
"pt-BR/enterprise/guides/enable-crew-studio",
"pt-BR/enterprise/guides/azure-openai-setup",
"pt-BR/enterprise/guides/tool-repository",
"pt-BR/enterprise/guides/react-component-export",
"pt-BR/enterprise/guides/team-management",
"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/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/zapier-trigger"
]
},
@@ -861,16 +798,6 @@
]
},
"tabs": [
{
"tab": "홈",
"icon": "house",
"groups": [
{
"group": "환영합니다",
"pages": ["ko/index"]
}
]
},
{
"tab": "기술 문서",
"icon": "book-open",
@@ -1054,12 +981,12 @@
]
},
{
"group": "Integrations",
"group": "통합",
"icon": "plug",
"pages": [
"ko/tools/integration/overview",
"ko/tools/integration/bedrockinvokeagenttool",
"ko/tools/integration/crewaiautomationtool"
"ko/tools/tool-integrations/overview",
"ko/tools/tool-integrations/bedrockinvokeagenttool",
"ko/tools/tool-integrations/crewaiautomationtool"
]
},
{
@@ -1132,27 +1059,15 @@
"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/traces",
"ko/enterprise/features/rbac",
"ko/enterprise/features/tool-repository",
"ko/enterprise/features/webhook-streaming",
"ko/enterprise/features/hallucination-guardrail"
]
},
{
"group": "관리",
"pages": [
"ko/enterprise/features/rbac"
"ko/enterprise/features/traces",
"ko/enterprise/features/hallucination-guardrail",
"ko/enterprise/features/integrations",
"ko/enterprise/features/agent-repositories"
]
},
{
@@ -1185,20 +1100,14 @@
"ko/enterprise/guides/update-crew",
"ko/enterprise/guides/enable-crew-studio",
"ko/enterprise/guides/azure-openai-setup",
"ko/enterprise/guides/tool-repository",
"ko/enterprise/guides/react-component-export",
"ko/enterprise/guides/team-management",
"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/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/zapier-trigger"
]
},

View File

@@ -273,12 +273,14 @@ 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
className="w-full aspect-video rounded-xl"
width="100%"
height="400"
src="https://www.youtube.com/embed/3EqSV-CYDZA"
title="CrewAI Deployment Guide"
frameBorder="0"
frameborder="0"
style={{ borderRadius: '10px' }}
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
allowfullscreen
></iframe>
### 11. Login

View File

@@ -875,13 +875,14 @@ 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
className="w-full aspect-video rounded-xl"
width="560"
height="315"
src="https://www.youtube.com/embed/MTb5my6VOT8"
title="CrewAI Flows overview"
frameBorder="0"
title="YouTube video player"
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,13 +897,14 @@ except RuntimeError as e:
Check out the video below to see how to use structured outputs in CrewAI:
<iframe
className="w-full aspect-video rounded-xl"
width="560"
height="315"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="Structured outputs in CrewAI"
frameBorder="0"
title="YouTube video player"
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,16 +1,12 @@
---
title: 'Agent Repositories'
description: 'Learn how to use Agent Repositories to share and reuse your agents across teams and projects'
icon: 'people-group'
icon: 'database'
mode: "wide"
---
Agent Repositories allow enterprise users to store, share, and reuse agent definitions across teams and projects. This feature enables organizations to maintain a centralized library of standardized agents, promoting consistency and reducing duplication of effort.
<Frame>
![Agent Repositories](/images/enterprise/agent-repositories.png)
</Frame>
## Benefits of Agent Repositories
- **Standardization**: Maintain consistent agent definitions across your organization
@@ -18,21 +14,25 @@ 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
## Creating and Use Agent Repositories
## Using Agent Repositories
### Prerequisites
1. You must have an account at CrewAI, try the [free plan](https://app.crewai.com).
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.
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:
<Frame>
![Agent Repositories](/images/enterprise/create-agent-repository.png)
</Frame>
```bash
crewai org switch <org_id>
```
### 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 to run locally:
You can load agents from repositories in your code using the `from_repository` parameter:
```python
from crewai import Agent
@@ -42,6 +42,7 @@ from crewai import Agent
researcher = Agent(
from_repository="market-research-agent"
)
```
### Overriding Repository Settings

View File

@@ -1,106 +0,0 @@
---
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

@@ -1,90 +0,0 @@
---
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

@@ -0,0 +1,186 @@
---
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

@@ -1,48 +0,0 @@
---
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

@@ -148,8 +148,7 @@ 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

@@ -1,250 +0,0 @@
---
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,104 +65,99 @@ 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 for the full list of events.
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.
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>
</CardGroup>
</Card>

View File

@@ -1,72 +1,22 @@
---
title: "Triggers Overview"
description: "Understand how CrewAI Enterprise triggers work, how to manage them, and where to find integration-specific playbooks"
icon: "face-smile"
title: "Automation Triggers"
description: "Automatically execute your CrewAI workflows when specific events occur in connected integrations"
icon: "bolt"
mode: "wide"
---
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.
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.
<Frame>
![Automation Triggers Overview](/images/enterprise/crew_connectors.png)
</Frame>
## Overview
### 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:
With automation triggers, you can:
- **Respond to real-time events** - Automatically execute workflows when specific conditions are met
- **Integrate with external systems** - Connect with platforms like Gmail, Outlook, OneDrive, JIRA, Slack, Stripe and more
- **Scale your automation** - Handle high-volume events without manual intervention
- **Maintain context** - Access trigger data within your crews and flows
## Managing Triggers
## Managing Automation Triggers
### Viewing Available Triggers
@@ -75,7 +25,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 caption="Example of available automation triggers for a Gmail deployment">
<Frame>
<img src="/images/enterprise/list-available-triggers.png" alt="List of available automation triggers" />
</Frame>
@@ -85,7 +35,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 caption="Enable or disable triggers with toggle">
<Frame>
<img src="/images/enterprise/trigger-selected.png" alt="Enable or disable triggers with toggle" />
</Frame>
@@ -98,46 +48,24 @@ Simply click the toggle to change the trigger state. Changes take effect immedia
Track the performance and history of your triggered executions:
<Frame caption="List of executions triggered by automation">
<Frame>
<img src="/images/enterprise/list-executions.png" alt="List of executions triggered by automation" />
</Frame>
## Building Trigger-Driven Automations
## Building Automation
Before building your automation, it's helpful to understand the structure of trigger payloads that your crews and flows will receive.
### Trigger Setup Checklist
### Payload Samples Repository
Before wiring a trigger into production, make sure you:
We maintain a comprehensive repository with sample payloads from various trigger sources to help you build and test your automations:
- 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:
**🔗 [CrewAI Enterprise Trigger Payload Samples](https://github.com/crewAIInc/crewai-enterprise-trigger-payload-samples)**
This repository contains:
- **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.
- **Real payload examples** from different trigger sources (Gmail, Google Drive, etc.)
- **Payload structure documentation** showing the format and available fields
### Triggers with Crew
@@ -249,7 +177,3 @@ 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,12 +12,14 @@ mode: "wide"
## Getting Started
<iframe
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
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
></iframe>
### Installation and Setup

View File

@@ -1,85 +0,0 @@
---
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

@@ -1,65 +0,0 @@
---
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

@@ -1,61 +0,0 @@
---
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,14 +51,4 @@ This guide provides a step-by-step process to set up HubSpot triggers for CrewAI
## Additional Resources
### 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).
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

@@ -1,52 +0,0 @@
---
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

@@ -1,53 +0,0 @@
---
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

@@ -1,52 +0,0 @@
---
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,14 +18,9 @@ Salesforce is a leading customer relationship management (CRM) platform that hel
## Demo
<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>
<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>
## Getting Started
@@ -47,4 +42,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 caption="Settings page">
<Frame>
<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 caption="Members tab">
<Frame>
<img src="/images/enterprise/members-tab.png" alt="Members Tab" />
</Frame>
</Step>

View File

@@ -129,14 +129,15 @@ mode: "wide"
</Steps>
Here's a tutorial on how to consistently get structured outputs from your agents:
<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>
<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>
</Accordion>
<Accordion title="How can I create custom tools for my CrewAI agents?">

View File

@@ -7,40 +7,12 @@ mode: "wide"
## Quickstarts & Demos
<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">
View all notebooks and feature demos showcasing specific CrewAI capabilities.
<Card title="Task Guardrails" icon="shield-check" href="https://github.com/crewAIInc/crewAI-quickstarts/tree/main/Task%20Guardrails">
Interactive notebooks for hands-on exploration.
</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 title="Browse Quickstarts" icon="bolt" href="https://github.com/crewAIInc/crewAI-quickstarts">
Feature demos and small projects showcasing specific CrewAI capabilities.
</Card>
</CardGroup>
@@ -48,3 +20,4 @@ mode: "wide"
Use Cookbooks to learn a pattern quickly, then jump to Full Examples for productiongrade implementations.
</Tip>

View File

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

View File

@@ -22,45 +22,6 @@ Human-in-the-Loop (HITL) is a powerful approach that combines artificial intelli
<Frame>
<img src="/images/enterprise/crew-webhook-url.png" alt="Crew Webhook URL" />
</Frame>
Example with Bearer authentication:
```bash
curl -X POST {BASE_URL}/kickoff \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"inputs": {
"topic": "AI Research"
},
"humanInputWebhook": {
"url": "https://your-webhook.com/hitl",
"authentication": {
"strategy": "bearer",
"token": "your-webhook-secret-token"
}
}
}'
```
Or with Basic authentication:
```bash
curl -X POST {BASE_URL}/kickoff \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"inputs": {
"topic": "AI Research"
},
"humanInputWebhook": {
"url": "https://your-webhook.com/hitl",
"authentication": {
"strategy": "basic",
"username": "your-username",
"password": "your-password"
}
}
}'
```
</Step>
<Step title="Receive Webhook Notification">
@@ -115,4 +76,4 @@ HITL workflows are particularly valuable for:
- Complex decision-making scenarios
- Sensitive or high-stakes operations
- Creative tasks requiring human judgment
- Compliance and regulatory reviews
- Compliance and regulatory reviews

View File

@@ -42,15 +42,6 @@ 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
@@ -148,4 +139,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,12 +21,14 @@ We currently support the following transport mechanisms:
Watch this video tutorial for a comprehensive guide on MCP integration with CrewAI:
<iframe
className="w-full aspect-video rounded-xl"
width="100%"
height="400"
src="https://www.youtube.com/embed/TpQ45lAZh48"
title="CrewAI MCP Integration Guide"
frameBorder="0"
frameborder="0"
style={{ borderRadius: '10px' }}
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
allowfullscreen
></iframe>
## Installation
@@ -173,16 +175,6 @@ 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,9 +89,10 @@ All with just two lines of code.
### 🔍 Full Demo (4min)
<iframe
className="w-full aspect-video rounded-xl"
width="100%"
height="315"
src="https://www.youtube.com/embed/8KDme9T2I7Q?si=b8oHteaBwFNs_Duk"
title="NeatLogs overview"
title="YouTube video player"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen

View File

@@ -345,12 +345,14 @@ 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
className="w-full aspect-video rounded-xl"
width="100%"
height="400"
src="https://www.youtube.com/embed/3EqSV-CYDZA"
title="CrewAI Deployment Guide"
frameBorder="0"
frameborder="0"
style={{ borderRadius: '10px' }}
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
allowfullscreen
></iframe>
<CardGroup cols={2}>

View File

@@ -1,72 +0,0 @@
---
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.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 652 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 946 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 971 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 994 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 737 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 917 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 807 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 798 KiB

View File

@@ -1,107 +1,96 @@
---
title: "CrewAI Documentation"
description: "Build collaborative AI agents, crews, and flows — production ready from day one."
icon: "house"
mode: "wide"
description: "Build collaborative AI agents, crews, and flows — fast."
mode: "center"
---
import { SearchBar } from "@mintlify/components";
<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>
<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' }}>
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 12, justifyContent: 'center', marginTop: 16 }}>
<a className="button button-primary" href="/en/quickstart">Get started</a>
<a className="button" href="/en/changelog">View changelog</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/api-reference/introduction">API Reference</a>
</div>
</div>
<div style={{ marginTop: 32 }} />
## Get started
<CardGroup cols={3}>
<Card title="Introduction" href="/en/introduction" icon="sparkles">
Overview of CrewAI concepts, architecture, and what you can build with agents, crews, and flows.
<Card title="Quickstart" href="/en/quickstart" icon="rocket">
Create your first crew in minutes. Learn the core runtime, project layout, and dev loop.
</Card>
<Card title="Installation" href="/en/installation" icon="wrench">
Install via `uv`, configure API keys, and set up the CLI for local development.
Install via UV and set up environment keys for OpenAI and tools.
</Card>
<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 title="CLI" href="/en/concepts/cli" icon="terminal">
Create, run, train, test, deploy, and manage configs — all from the CLI.
</Card>
</CardGroup>
## Build the basics
<CardGroup cols={3}>
<Card title="Agents" href="/en/concepts/agents" icon="users">
Compose agents with tools, memory, knowledge, and structured outputs using Pydantic. Includes templates and best practices.
Compose robust agents with memory, knowledge, and tools. Structure outputs with Pydantic.
</Card>
<Card title="Flows" href="/en/concepts/flows" icon="arrow-progress">
Orchestrate start/listen/router steps, manage state, persist execution, and resume long-running workflows.
Design complex workflows with start/listen/router, state, persistence, and resumability.
</Card>
<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 title="Memory & Knowledge" href="/en/concepts/memory" icon="database">
Shortterm, longterm, and entity memory. Builtin knowledge with vector storage.
</Card>
</CardGroup>
## Enterprise journey
<CardGroup cols={3}>
<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 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>
<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 title="Observability" href="/en/observability/overview" icon="timeline">
Traces with batching, metrics, and integrations (Langfuse, Phoenix, and more).
</Card>
<Card title="Team management" href="/en/enterprise/guides/team-management" icon="users-gear">
Invite teammates, configure RBAC, and control access to production automations.
<Card title="Enterprise" href="/en/enterprise/introduction" icon="building">
Deploy, automate with triggers, manage orgs, and run at scale.
</Card>
</CardGroup>
## Whats new
<Frame>
<img src="/images/asset.png" alt="CrewAI — multiagent orchestration" />
<figcaption>Compose agents, tasks, flows, and tools — productionready by default.</figcaption>
</Frame>
<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>
## Popular paths
<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>
- 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)
## Stay connected
<Note>
Looking for examples? Check out the examples repo and cookbooks under <a href="/en/examples/cookbooks">/en/examples/cookbooks</a>.
</Note>
<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 share your builds with the community.
If CrewAI helps you ship faster, give us a star and join the community.
</Card>
<Card title="Join the community" href="https://community.crewai.com" icon="comments">
Ask questions, showcase workflows, and request features alongside other builders.
Ask questions, share feedback, and see what others are building.
</Card>
</CardGroup>

View File

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

View File

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

View File

@@ -886,13 +886,14 @@ except RuntimeError as e:
아래 영상을 통해 CrewAI에서 구조화된 출력을 사용하는 방법을 확인하세요:
<iframe
className="w-full aspect-video rounded-xl"
width="560"
height="315"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="CrewAI에서 구조화된 출력 사용하기"
frameBorder="0"
title="YouTube video player"
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

@@ -1,105 +0,0 @@
---
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

@@ -1,90 +0,0 @@
---
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

@@ -1,47 +0,0 @@
---
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

@@ -1,236 +0,0 @@
---
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,130 +1,75 @@
---
title: "트리거 개요"
description: "CrewAI Enterprise 트리거의 동작 방식과 관리 방법, 그리고 통합별 플레이북을 한눈에 확인하세요"
title: "자동화 트리거"
description: "연결된 통합에서 특정 이벤트가 발생할 때 CrewAI 워크플로우를 자동으로 실행합니다"
icon: "bolt"
mode: "wide"
---
CrewAI Enterprise 트리거는 팀이 이미 사용하고 있는 도구의 실시간 이벤트와 자동화를 연결합니다. 폴링이나 수동 실행 대신, 트리거는 새로운 이메일, 캘린더 업데이트, CRM 상태 변화 등을 감지하여 지정한 크루 또는 플로우를 즉시 실행합니다.
자동화 트리거를 사용하면 연결된 통합에서 특정 이벤트가 발생할 때 CrewAI 배포를 자동으로 실행할 수 있어, 비즈니스 시스템의 실시간 변화에 반응하는 강력한 이벤트 기반 워크플로우를 만들 수 있습니다.
<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. **Triggers** 탭을 클릭하여 사용 가능한 통합을 확인합니다.
자동화 트리거에 액세스하고 관리하려면:
1. CrewAI 대시보드에서 배포로 이동
2. **트리거** 탭을 클릭하여 사용 가능한 모든 트리거 통합 보기
<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 예제 저장소
자동화를 구축하고 테스트하는 데 도움이 되도록 다양한 트리거 소스의 샘플 페이로드가 포함된 포괄적인 저장소를 유지 관리하고 있습니다:
| 통합 | 동작 시점 | 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) |
**🔗 [CrewAI Enterprise 트리거 페이로드 샘플](https://github.com/crewAIInc/crewai-enterprise-trigger-payload-samples)**
예제 payload를 참고해 파싱 로직을 검증하고, 제공되는 crew를 복사해 실제 데이터로 교체하세요.
이 저장소에는 다음이 포함되어 있습니다:
### 트리거와 Crew 연동
- **실제 페이로드 예제** - 다양한 트리거 소스(Gmail, Google Drive 등)에서 가져온 예제
- **페이로드 구조 문서** - 형식과 사용 가능한 필드를 보여주는 문서
### Crew와 트리거
기존 crew 정의는 트리거와 완벽하게 작동하며, 받은 페이로드를 분석하는 작업만 있으면 됩니다:
```python
@CrewBase
@@ -150,9 +95,15 @@ class MyAutomatedCrew:
)
```
### 플로우와의 통합
crew는 자동으로 트리거 페이로드를 받고 표준 CrewAI 컨텍스트 메커니즘을 통해 액세스할 수 있습니다.
#### Payload 접근
### Flow와의 통합
flow의 경우 트리거 데이터 처리 방법을 더 세밀하게 제어할 수 있습니다:
#### 트리거 페이로드 액세스
flow의 모든 `@start()` 메서드는 `crewai_trigger_payload`라는 추가 매개변수를 허용합니다:
```python
from crewai.flow import Flow, start, listen
@@ -160,48 +111,62 @@ 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):
"""
트리거 데이터 처리
"""
# ... 트리거 처리
```
#### 플로우에서 Crew 실행
#### Flow에서 Crew 트리거하기
트리거된 flow 내에서 crew를 시작할 때 트리거 페이로드를 전달합니다:
```python
@start()
def delegate_to_crew(self, crewai_trigger_payload: dict = None):
"""
전문 crew에 처리 위임
"""
crew = MySpecializedCrew()
# crew에 트리거 페이로드 전달
result = crew.crew().kickoff(
inputs={
'custom_parameter': "custom_value",
'a_custom_parameter': "custom_value",
'crewai_trigger_payload': crewai_trigger_payload
},
)
return result
```
## 문제 해결
**트리거가 실행되지 않나요?**
- 트리거가 활성 상태인지 확인하세요.
- 통합 연결 상태 확인하세요.
**트리거가 작동하지 않는 경우:**
- 트리거가 활성화되어 있는지 확인
- 통합 연결 상태 확인
**실행 중 오류가 발생하나요?**
- 실행 로그에서 오류 메시지를 확인하세요.
- 개발 중이라면 `crewai_trigger_payload`가 올바른 데이터로 전달되고 있는지 확인하세요.
**실행 실패:**
- 오류 세부 정보는 실행 로그 확인
- 개발 중인 경우 입력에 올바른 페이로드가 포함된 `crewai_trigger_payload` 매개변수가 포함되어 있는지 확인
트리거를 활용하면 CrewAI 자동화를 이벤트 기반 시스템으로 전환하여 기존 비즈니스 프로세스 도구에 자연스럽게 녹여낼 수 있습니다.
<Callout icon="github" title="예제 저장소">
<a href="https://github.com/crewAIInc/crewai-enterprise-trigger-examples">
CrewAI Enterprise Trigger Examples
</a>
</Callout>
자동화 트리거는 CrewAI 배포를 기존 비즈니스 프로세스 도구와 완벽하게 통합할 수 있는 반응형 이벤트 기반 시스템으로 변환합니다.

View File

@@ -12,12 +12,14 @@ mode: "wide"
## 시작하기
<iframe
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
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
></iframe>
### 설치 및 설정
@@ -39,4 +41,4 @@ Enterprise 전용 지원 또는 문의가 필요하신 경우, [support@crewai.c
<Card title="데모 예약" icon="calendar" href="mailto:support@crewai.com">
Enterprise 기능과 해당 기능이 귀사의 조직에 어떻게 도움이 될 수 있는지 알아보시려면 저희 팀과 상담 일정을 예약하세요.
</Card>
</Card>

View File

@@ -18,14 +18,9 @@ Salesforce는 기업이 영업, 서비스, 마케팅 운영을 효율화할 수
## 데모
<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>
<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>
## 시작하기
@@ -47,4 +42,4 @@ Salesforce 트리거를 설정하려면:
## 다음 단계
자세한 설정 지침 및 고급 구성 옵션에 대해서는 CrewAI Enterprise 지원팀에 문의해 주시기 바랍니다. 지원팀은 귀하의 특정 Salesforce 환경과 비즈니스 요구에 맞는 맞춤형 안내를 제공해 드릴 수 있습니다.
자세한 설정 지침 및 고급 구성 옵션에 대해서는 CrewAI Enterprise 지원팀에 문의해 주시기 바랍니다. 지원팀은 귀하의 특정 Salesforce 환경과 비즈니스 요구에 맞는 맞춤형 안내를 제공해 드릴 수 있습니다.

View File

@@ -1,109 +0,0 @@
---
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,14 +129,15 @@ mode: "wide"
</Steps>
에이전트가 항상 구조화된 출력을 내도록 만드는 방법 관련 튜토리얼은 아래 영상을 참고하세요:
<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>
<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>
</Accordion>
<Accordion title="CrewAI 에이전트를 위한 커스텀 도구는 어떻게 만들 수 있습니까?">
@@ -148,4 +149,4 @@ mode: "wide"
<Accordion title="전체 crew가 수행할 수 있는 분당 최대 요청 수는 어떻게 제한할 수 있나요?">
`max_rpm` 속성을 설정하면 crew 전체가 분당 보낼 수 있는 최대 요청 수를 제한할 수 있습니다. 이를 설정하면 개별 에이전트의 `max_rpm` 값보다 우선적으로 적용됩니다.
</Accordion>
</AccordionGroup>
</AccordionGroup>

View File

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

View File

@@ -42,15 +42,6 @@ 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
@@ -148,4 +139,4 @@ YAML 파일의 `llm`과 `tools`가 Python 클래스에서 `@llm` 및 `@tool`로
- **유연성**: agent와 task를 쉽게 추가 및 제거할 수 있도록 crew를 유연하게 설계하세요.
- **YAML-코드 일치**: YAML 파일의 이름과 구조가 Python 코드의 데코레이터가 적용된 메서드와 정확히 일치하는지 확인하세요.
이 지침을 따르고 주석을 올바르게 사용하면 CrewAI 프레임워크를 이용해 구조적이고 유지보수가 쉬운 crew를 만들 수 있습니다.
이 지침을 따르고 주석을 올바르게 사용하면 CrewAI 프레임워크를 이용해 구조적이고 유지보수가 쉬운 crew를 만들 수 있습니다.

View File

@@ -21,12 +21,14 @@ mode: "wide"
CrewAI와 MCP 통합에 대한 종합적인 안내를 위해 이 비디오 튜토리얼을 시청하세요:
<iframe
className="w-full aspect-video rounded-xl"
width="100%"
height="400"
src="https://www.youtube.com/embed/TpQ45lAZh48"
title="CrewAI MCP Integration Guide"
frameBorder="0"
frameborder="0"
style={{ borderRadius: '10px' }}
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
allowfullscreen
></iframe>
## 설치
@@ -173,16 +175,6 @@ 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,9 +85,10 @@ GitHub에 따르면, Neatlogs는:
### 🔍 전체 데모 (4분)
<iframe
className="w-full aspect-video rounded-xl"
width="100%"
height="315"
src="https://www.youtube.com/embed/8KDme9T2I7Q?si=b8oHteaBwFNs_Duk"
title="NeatLogs 개요"
title="YouTube video player"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
@@ -126,4 +127,4 @@ No setup overhead. Full trace transparency. Full team collaboration.
```
이제 몇 초 만에 CrewAI agent 실행을 캡처, 이해, 공유하고 바로 조치할 수 있습니다.
별도의 설정이 필요하지 않습니다. 완전한 트레이스 투명성. 전체 팀 협업 지원.
별도의 설정이 필요하지 않습니다. 완전한 트레이스 투명성. 전체 팀 협업 지원.

View File

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

View File

@@ -1,188 +0,0 @@
---
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

@@ -1,276 +0,0 @@
---
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

@@ -1,72 +0,0 @@
---
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,12 +288,14 @@ 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
className="w-full aspect-video rounded-xl"
width="100%"
height="400"
src="https://www.youtube.com/embed/3EqSV-CYDZA"
title="CrewAI Deployment Guide"
frameBorder="0"
frameborder="0"
style={{ borderRadius: '10px' }}
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
allowfullscreen
></iframe>
### 11. Chaves de API

View File

@@ -468,13 +468,14 @@ 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
className="w-full aspect-video rounded-xl"
width="560"
height="315"
src="https://www.youtube.com/embed/MTb5my6VOT8"
title="Visão geral de Flows no CrewAI"
frameBorder="0"
title="YouTube video player"
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
@@ -507,4 +508,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,13 +1029,14 @@ except RuntimeError as e:
Veja o vídeo abaixo para aprender como utilizar saídas estruturadas no CrewAI:
<iframe
className="w-full aspect-video rounded-xl"
width="560"
height="315"
src="https://www.youtube.com/embed/dNpKQk5uxHw"
title="Saídas estruturadas no CrewAI"
frameBorder="0"
title="YouTube video player"
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

@@ -1,158 +0,0 @@
---
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

@@ -1,105 +0,0 @@
---
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

@@ -1,90 +0,0 @@
---
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

@@ -1,47 +0,0 @@
---
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

@@ -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 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 o Git para rastrear mudanças no código e permitir colaboração.
## Pré-requisitos
@@ -102,8 +102,7 @@ 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

@@ -1,236 +0,0 @@
---
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,138 +1,75 @@
---
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"
title: "Triggers de Automação"
description: "Execute automaticamente seus workflows CrewAI quando eventos específicos ocorrem em integrações conectadas"
icon: "bolt"
mode: "wide"
---
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.
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.
<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>
## Visão Geral
### Playbooks de Integração
Com triggers de automação, você pode:
Os guias abaixo explicam, em detalhe, como habilitar e testar cada 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
<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
## Gerenciando Triggers de Automação
### Visualizando Triggers Disponíveis
1. Abra sua automação no painel da CrewAI
2. Clique na aba **Triggers** para listar todas as integrações 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
<Frame>
<img src="/images/enterprise/list-available-triggers.png" alt="Lista de triggers disponíveis" />
<img src="/images/enterprise/list-available-triggers.png" alt="Lista de triggers de automação disponíveis" />
</Frame>
### Habilitando e Desabilitando
Esta visualização mostra todas as integrações de trigger disponíveis para sua implantação, junto com seus status de conexão atuais.
Cada trigger possui uma chave de ativação:
### Habilitando e Desabilitando Triggers
Cada trigger pode ser facilmente habilitado ou desabilitado usando o botão de alternância:
<Frame>
<img src="/images/enterprise/trigger-selected.png" alt="Alternância de trigger habilitado" />
<img src="/images/enterprise/trigger-selected.png" alt="Habilitar ou desabilitar triggers com alternância" />
</Frame>
- **Habilitado (azul)** Executa a automação quando o evento ocorrer
- **Desabilitado (cinza)** Ignora eventos
- **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
As alterações são aplicadas imediatamente.
Simplesmente clique na alternância para mudar o estado do trigger. As alterações entram em vigor imediatamente.
### Monitorando Execuções
### Monitorando Execuções de Trigger
Use a lista de execuções para acompanhar histórico, status e payloads:
Acompanhe o desempenho e histórico de suas execuções acionadas:
<Frame>
<img src="/images/enterprise/list-executions.png" alt="Lista de execuções acionadas por triggers" />
<img src="/images/enterprise/list-executions.png" alt="Lista de execuções acionadas por automação" />
</Frame>
## Construindo Automações Orientadas por Trigger
## Construindo Automação
### Checklist de Configuração
Antes de construir sua automação, é útil entender a estrutura dos payloads de trigger que suas crews e flows receberão.
Antes de ativar em produção, confirme que você:
### Repositório de Amostras de Payload
- 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)
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:
### Repositório de Payloads e Crews de Exemplo
**🔗 [Amostras de Payload de Trigger CrewAI Enterprise](https://github.com/crewAIInc/crewai-enterprise-trigger-payload-samples)**
| 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) |
Este repositório contém:
Use essas amostras para ajustar o parsing, copiar a crew correspondente e substituir o payload de teste pelo dado real.
- **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
### Triggers com Crews
### Triggers com Crew
Suas definições de crew funcionam naturalmente com triggers; basta ter uma tarefa que processe o payload recebido:
Suas definições de crew existentes funcionam perfeitamente com triggers, você só precisa ter uma tarefa para analisar o payload recebido:
```python
@CrewBase
@@ -158,13 +95,15 @@ 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
Flows oferecem controle adicional sobre o uso do payload:
Para flows, você tem mais controle sobre como os dados do trigger são tratados:
#### Acessando o Payload
#### Acessando Payload do Trigger
Todos os métodos `@start()` podem receber `crewai_trigger_payload`:
Todos os métodos `@start()` em seus flows aceitarão um parâmetro adicional chamado `crewai_trigger_payload`:
```python
from crewai.flow import Flow, start, listen
@@ -172,48 +111,62 @@ 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 dispara:**
- Verifique se está habilitado
- Confira o status da conexão
**Trigger não está sendo disparado:**
- Verifique se o trigger está habilitado
- Verifique o status de conexão da integração
**Falhas de execução:**
- Consulte os logs para entender o erro
- Durante o desenvolvimento, garanta que `crewai_trigger_payload` está presente com o payload correto
- 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
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>
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.

View File

@@ -12,12 +12,14 @@ mode: "wide"
## Primeiros Passos
<iframe
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
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
></iframe>
### Instalação e Configuração

View File

@@ -18,14 +18,9 @@ O Salesforce é uma das principais plataformas de gestão de relacionamento com
## Demonstração
<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>
<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>
## Primeiros Passos
@@ -47,4 +42,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

@@ -129,14 +129,15 @@ mode: "wide"
</Steps>
Aqui está um tutorial de como obter saídas estruturadas de forma consistente dos seus agentes:
<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>
<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>
</Accordion>
<Accordion title="Como posso criar ferramentas personalizadas para meus agentes CrewAI?">

View File

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

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