Composio Tool

no
Summary: Composio provides 250+ production-ready tools for AI agents with flexible authentication management.

Original Documentation

Documentation Index#

Fetch the complete documentation index at: https://docs.crewai.com/llms.txt Use this file to discover all available pages before exploring further.

Composio provides 250+ production-ready tools for AI agents with flexible authentication management.

ComposioToolSet#

Description#

Composio is an integration platform that allows you to connect your AI agents to 250+ tools. Key features include:

  • 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 Composio tools into your project, follow the instructions below:

pip install composio composio-crewai
pip install crewai

After the installation is complete, set your Composio API key as COMPOSIO_API_KEY. Get your Composio API key from here

Example#

The following example demonstrates how to initialize the tool and execute a github action:

  1. Initialize Composio with CrewAI Provider
from composio_crewai import ComposioProvider
from composio import Composio
from crewai import Agent, Task, Crew

composio = Composio(provider=ComposioProvider())
  1. Create a new Composio Session and retrieve the tools
session = composio.create(
    user_id="your-user-id",
    toolkits=["gmail", "github"] # optional, default is all toolkits
)
tools = session.tools()

Read more about sessions and user management here

  1. Authenticating users manually

Composio automatically authenticates the users during the agent chat session. However, you can also authenticate the user manually by calling the authorize method.

connection_request = session.authorize("github")
print(f"Open this URL to authenticate: {connection_request.redirect_url}")
  1. Define agent
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 behalf of users using GitHub APIs",
    verbose=True,
    tools=tools,
    llm= # pass an llm
)
  1. Execute task
task = Task(
    description="Star a repo composiohq/composio on GitHub",
    agent=crewai_agent,
    expected_output="Status of the operation",
)

crew = Crew(agents=[crewai_agent], tasks=[task])

crew.kickoff()
  • More detailed list of tools can be found here
Link last verified June 7, 2026. View original ↗
Source: CrewAI Docs
Link last verified: 2026-03-04