diff --git a/docs/concepts/cli.mdx b/docs/concepts/cli.mdx
index ad64ee938..19482e428 100644
--- a/docs/concepts/cli.mdx
+++ b/docs/concepts/cli.mdx
@@ -147,7 +147,36 @@ Some commands may require additional configuration or setup within your project
-### 9. API Keys
+### 9. Chat
+
+Starting in version `0.98.0`, when you run the `crewai chat` command, you start an interactive session with your crew. The AI assistant will guide you by asking for necessary inputs to execute the crew. Once all inputs are provided, the crew will execute its tasks.
+
+After receiving the results, you can continue interacting with the assistant for further instructions or questions.
+
+```shell
+crewai chat
+```
+
+Ensure you execute these commands from your CrewAI project's root directory.
+
+
+IMPORTANT: Set the `chat_llm` property in your `crew.py` file to enable this command.
+
+```python
+@crew
+def crew(self) -> Crew:
+ return Crew(
+ agents=self.agents,
+ tasks=self.tasks,
+ process=Process.sequential,
+ verbose=True,
+ chat_llm="gpt-4o", # LLM for chat orchestration
+ )
+```
+
+
+
+### 10. API Keys
When running ```crewai create crew``` command, the CLI will first show you the top 5 most common LLM providers and ask you to select one.
diff --git a/docs/tools/composiotool.mdx b/docs/tools/composiotool.mdx
index 0ba1fcf60..244a5b657 100644
--- a/docs/tools/composiotool.mdx
+++ b/docs/tools/composiotool.mdx
@@ -1,78 +1,117 @@
---
-title: Composio Tool
-description: The `ComposioTool` is a wrapper around the composio set of tools and gives your agent access to a wide variety of tools from the Composio SDK.
+title: Composio
+description: Composio provides 250+ production-ready tools for AI agents with flexible authentication management.
icon: gear-code
---
-# `ComposioTool`
+# `ComposioToolSet`
## Description
+Composio is an integration platform that allows you to connect your AI agents to 250+ tools. Key features include:
-This tools is a wrapper around the composio set of tools and gives your agent access to a wide variety of tools from the Composio SDK.
+- **Enterprise-Grade Authentication**: Built-in support for OAuth, API Keys, JWT with automatic token refresh
+- **Full Observability**: Detailed tool usage logs, execution timestamps, and more
## Installation
-To incorporate this tool into your project, follow the installation instructions below:
+To incorporate Composio tools into your project, follow the instructions below:
```shell
-pip install composio-core
-pip install 'crewai[tools]'
+pip install composio-crewai
+pip install crewai
```
-after the installation is complete, either run `composio login` or export your composio API key as `COMPOSIO_API_KEY`.
+After the installation is complete, either run `composio login` or export your composio API key as `COMPOSIO_API_KEY`. Get your Composio API key from [here](https://app.composio.dev)
## Example
The following example demonstrates how to initialize the tool and execute a github action:
-1. Initialize Composio tools
+1. Initialize Composio toolset
```python Code
-from composio import App
-from crewai_tools import ComposioTool
-from crewai import Agent, Task
+from composio_crewai import ComposioToolSet, App, Action
+from crewai import Agent, Task, Crew
-
-tools = [ComposioTool.from_action(action=Action.GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER)]
+toolset = ComposioToolSet()
```
-If you don't know what action you want to use, use `from_app` and `tags` filter to get relevant actions
-
+2. Connect your GitHub account
+
+```shell CLI
+composio add github
+```
```python Code
-tools = ComposioTool.from_app(App.GITHUB, tags=["important"])
+request = toolset.initiate_connection(app=App.GITHUB)
+print(f"Open this URL to authenticate: {request.redirectUrl}")
```
+
-or use `use_case` to search relevant actions
+3. Get Tools
+- Retrieving all the tools from an app (not recommended for production):
```python Code
-tools = ComposioTool.from_app(App.GITHUB, use_case="Star a github repository")
+tools = toolset.get_tools(apps=[App.GITHUB])
```
-2. Define agent
+- Filtering tools based on tags:
+```python Code
+tag = "users"
+
+filtered_action_enums = toolset.find_actions_by_tags(
+ App.GITHUB,
+ tags=[tag],
+)
+
+tools = toolset.get_tools(actions=filtered_action_enums)
+```
+
+- Filtering tools based on use case:
+```python Code
+use_case = "Star a repository on GitHub"
+
+filtered_action_enums = toolset.find_actions_by_use_case(
+ App.GITHUB, use_case=use_case, advanced=False
+)
+
+tools = toolset.get_tools(actions=filtered_action_enums)
+```Set `advanced` to True to get actions for complex use cases
+
+- Using specific tools:
+
+In this demo, we will use the `GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER` action from the GitHub app.
+```python Code
+tools = toolset.get_tools(
+ actions=[Action.GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER]
+)
+```
+Learn more about filtering actions [here](https://docs.composio.dev/patterns/tools/use-tools/use-specific-actions)
+
+4. Define agent
```python Code
crewai_agent = Agent(
- role="Github Agent",
- goal="You take action on Github using Github APIs",
- backstory=(
- "You are AI agent that is responsible for taking actions on Github "
- "on users behalf. You need to take action on Github using Github APIs"
- ),
+ role="GitHub Agent",
+ goal="You take action on GitHub using GitHub APIs",
+ backstory="You are AI agent that is responsible for taking actions on GitHub on behalf of users using GitHub APIs",
verbose=True,
tools=tools,
+ llm= # pass an llm
)
```
-3. Execute task
+5. Execute task
```python Code
task = Task(
- description="Star a repo ComposioHQ/composio on GitHub",
+ description="Star a repo composiohq/composio on GitHub",
agent=crewai_agent,
- expected_output="if the star happened",
+ expected_output="Status of the operation",
)
-task.execute()
+crew = Crew(agents=[crewai_agent], tasks=[task])
+
+crew.kickoff()
```
-* More detailed list of tools can be found [here](https://app.composio.dev)
\ No newline at end of file
+* More detailed list of tools can be found [here](https://app.composio.dev)
diff --git a/src/crewai/crew.py b/src/crewai/crew.py
index 38b96a0e0..5d4b9ff79 100644
--- a/src/crewai/crew.py
+++ b/src/crewai/crew.py
@@ -37,7 +37,6 @@ from crewai.tasks.task_output import TaskOutput
from crewai.telemetry import Telemetry
from crewai.tools.agent_tools.agent_tools import AgentTools
from crewai.tools.base_tool import Tool
-from crewai.types.crew_chat import ChatInputs
from crewai.types.usage_metrics import UsageMetrics
from crewai.utilities import I18N, FileHandler, Logger, RPMController
from crewai.utilities.constants import TRAINING_DATA_FILE
@@ -84,6 +83,7 @@ class Crew(BaseModel):
step_callback: Callback to be executed after each step for every agents execution.
share_crew: Whether you want to share the complete crew information and execution with crewAI to make the library better, and allow us to train models.
planning: Plan the crew execution and add the plan to the crew.
+ chat_llm: The language model used for orchestrating chat interactions with the crew.
"""
__hash__ = object.__hash__ # type: ignore