Skip to main content
Composio is an integration platform that provides access to 500+ tools across popular applications like GitHub, Slack, Notion, and more. It enables AI agents to interact with external services through a unified API, handling authentication, permissions, and event-driven workflows.

Overview

Integration details

Tool features

  • 500+ Tool Access: Prebuilt integrations for GitHub, Slack, Gmail, Jira, Notion, and more
  • Authentication Management: Handles OAuth flows, API keys, and authentication state
  • Event-Driven Workflows: Trigger agents based on external events (new Slack messages, GitHub issues, etc.)
  • Fine-Grained Permissions: Control tool access and data exposure per user
  • Custom Tool Support: Add proprietary APIs and internal tools

Setup

The integration lives in the @composio/langchain package.
Or using other package managers:

Credentials

You’ll need a Composio API key. Sign up for free at composio.dev to get your API key.
Set API key
It’s also helpful to set up LangSmith for tracing:
Enable tracing

Instantiation

Initialize Composio with the LangChain provider and get tools from specific toolkits. Each toolkit represents a service (e.g., GitHub, Slack) with multiple tools (actions you can perform).
Initialize Composio

Available toolkits

Composio provides toolkits for various services: Productivity: GitHub, Slack, Gmail, Jira, Notion, Asana, Trello, ClickUp Communication: Discord, Telegram, WhatsApp, Microsoft Teams Development: GitLab, Bitbucket, Linear, Sentry Data & Analytics: Google Sheets, Airtable, HubSpot, Salesforce And 100+ more…

Invocation

Get tools from multiple toolkits

You can load tools from multiple services:

Get specific tools

Instead of entire toolkits, you can load specific tools:

User-specific tools

Composio supports multi-user scenarios with user-specific authentication:

Use within an agent

Here’s a complete example using Composio tools with a LangGraph agent to interact with HackerNews:

Using with GitHub toolkit

Here’s an example that stars a GitHub repository:

Authentication setup

Before using tools that require authentication, users need to connect their accounts:

Multi-user scenarios

For applications with multiple users:

Event-driven workflows

Composio supports triggering agents based on external events. When events occur in connected apps (like new GitHub commits or Slack messages), triggers automatically send structured payloads to your application.

Creating a trigger

First, create a trigger for the events you want to monitor:

Subscribing to triggers (Development)

For local development and prototyping, you can subscribe directly to triggers:

Type-safe trigger handling

For better type safety, define payload types:

Webhooks (Production)

For production, configure webhooks in the Composio dashboard:
For more details, see the Composio Triggers documentation

Advanced features

Custom tools

Composio allows you to create custom tools that can be used alongside built-in tools. There are two types:

Standalone tools

Simple tools that don’t require authentication:

Toolkit-based tools

Tools that require authentication and can use toolkit credentials:
Execute custom tools:
For more details, see the Composio Custom Tools documentation

Fine-grained permissions

Control what actions tools can perform:

API reference

For detailed documentation of all Composio features and configurations, visit: