> ## Documentation Index
> Fetch the complete documentation index at: https://docs.junis.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Composio Integration

> Connect 200+ OAuth apps to your AI agents — Gmail, Slack, GitHub, and more

## Overview

**Composio** enables your Junis agents to interact with 200+ third-party applications through secure OAuth connections. Instead of managing API keys and webhooks manually, Composio handles authentication and provides ready-to-use tools for your agents.

> Connect once, use everywhere. Your agents get native access to Gmail, Slack, GitHub, Jira, and 200+ more services.

<Info>
  **No Code Required**: Connect apps through the Junis dashboard. Your agents automatically gain access to the connected tools.
</Info>

***

## Supported Applications

Composio supports 200+ integrations across major categories:

<CardGroup cols={3}>
  <Card title="Communication" icon="envelope">
    Gmail, Slack, Microsoft Teams, Discord
  </Card>

  <Card title="Productivity" icon="calendar">
    Google Drive, Notion, Jira, Linear, Asana
  </Card>

  <Card title="Development" icon="code">
    GitHub, GitLab, Azure DevOps, Bitbucket
  </Card>

  <Card title="CRM & Sales" icon="handshake">
    Salesforce, HubSpot, Pipedrive
  </Card>

  <Card title="Social Media" icon="share-nodes">
    Twitter/X, LinkedIn, Instagram
  </Card>

  <Card title="Cloud & Storage" icon="cloud">
    Google Drive, Dropbox, OneDrive
  </Card>
</CardGroup>

***

## Connection Types

<Tabs>
  <Tab title="Personal Connections">
    ### Personal OAuth

    Connect your **personal accounts** to your agents. Only you have access to these connections.

    **Use cases**:

    * Personal Gmail for email workflows
    * Personal GitHub for repository management
    * Individual calendar access

    **Who can create**: Any team member
  </Tab>

  <Tab title="Organization Connections">
    ### Organization OAuth

    Connect **shared team accounts** that all agents in the organization can access.

    **Use cases**:

    * Company Slack workspace
    * Team GitHub organization
    * Shared CRM access

    **Who can create**: Admin or Owner only
  </Tab>
</Tabs>

<Note>
  **Priority**: When both personal and organization connections exist for the same app, your **personal connection** takes priority — ensuring your agents use your own credentials for sensitive operations.
</Note>

***

## Setting Up Composio

<Steps>
  <Step title="Navigate to Integrations">
    Go to **Team > Integrations** in the sidebar.
  </Step>

  <Step title="Choose an Application">
    Browse available integrations and click **Connect** on the app you want (e.g., Gmail).
  </Step>

  <Step title="Authorize via OAuth">
    You'll be redirected to the application's OAuth page. Sign in and grant the requested permissions.
  </Step>

  <Step title="Verify Connection">
    Back in Junis, you'll see the connection status change to **Active**.
  </Step>

  <Step title="Link to an Agent">
    Go to **Admin > Agents**, edit your agent, and add the Composio integration in the **Integrations** section.
  </Step>
</Steps>

***

## How Agents Use Composio Tools

Once an integration is connected and linked to an agent, the agent can use it automatically:

### Example: Gmail Agent

```
User: "Check my inbox for any urgent emails from the marketing team."

Agent:
1. Connects to Gmail via Composio
2. Searches for recent emails from marketing team addresses
3. Identifies urgent/flagged messages
4. Summarizes findings for the user

Response: "You have 3 unread emails from the marketing team.
The most urgent is about the Q4 budget deadline tomorrow..."
```

### Example: GitHub + Slack Workflow

```
User: "Review my open PRs and notify the team on Slack."

Agent:
1. Fetches open pull requests from GitHub
2. Analyzes each PR's status and review state
3. Sends a formatted summary to the team's Slack channel

Response: "I found 5 open PRs. Summary posted to #dev-updates on Slack."
```

### Example: CRM Data Lookup

```
User: "Find all deals closing this month in our pipeline."

Agent:
1. Queries the CRM for deals with close dates in the current month
2. Filters by pipeline stage
3. Calculates total expected revenue

Response: "There are 12 deals expected to close this month,
with a total pipeline value of $340K..."
```

***

## Managing Connections

### Connection Status

| Status      | Meaning                                        |
| ----------- | ---------------------------------------------- |
| **Active**  | Connection is working and available to agents  |
| **Pending** | OAuth authorization not yet completed          |
| **Expired** | Token expired — re-authorize to restore access |
| **Failed**  | Connection error — try reconnecting            |

### Disconnect an Application

1. Go to **Team > Integrations**
2. Find the active connection
3. Click **Disconnect**

<Warning>
  Disconnecting an integration immediately removes agent access to that application's tools. Active workflows using that integration will be affected.
</Warning>

***

## Composio via Junis Magic

You can also manage Composio integrations through [Junis Magic](/guides/junis-magic) MCP tools:

| Tool                         | Purpose                                        |
| ---------------------------- | ---------------------------------------------- |
| `list_composio_integrations` | Browse available integrations and their status |
| `link_agent_composio`        | Connect an integration to a specific agent     |
| `list_composio_connections`  | Check active OAuth connections                 |
| `get_agent_composio_status`  | Verify agent's integration readiness           |

***

## Best Practices

<Check>
  **Recommended**:

  * Use personal connections for individual accounts (personal Gmail, GitHub)
  * Use organization connections for shared team resources (company Slack, team CRM)
  * Only connect integrations that your agents actually need
  * Regularly review active connections in the Integrations dashboard
  * Grant minimum necessary OAuth permissions (least privilege)
</Check>

<Warning>
  **Important**:

  * Re-authorize connections promptly when tokens expire
  * Don't share personal connection credentials with team members — use organization connections for shared access
  * Test integrations after connecting before deploying to production workflows
</Warning>

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="Connection shows as Pending" icon="clock">
    **Cause**: OAuth authorization was not completed.

    **Solution**: Click the integration again to re-open the OAuth page and complete authorization.
  </Accordion>

  <Accordion title="Agent can't access connected tools" icon="triangle-exclamation">
    **Cause**: Integration not linked to the agent.

    **Solution**: Go to **Admin > Agents**, edit the agent, and add the Composio integration in the **Integrations** section.
  </Accordion>

  <Accordion title="Connection expired" icon="rotate">
    **Cause**: OAuth tokens have a limited lifespan.

    **Solution**: Go to **Team > Integrations** and re-authorize the connection. The agent will resume access automatically.
  </Accordion>

  <Accordion title="Tool calls failing intermittently" icon="circle-xmark">
    **Cause**: Temporary service issue with the connected application.

    **Solution**: Check the application's status page. If the issue persists, disconnect and reconnect the integration.
  </Accordion>
</AccordionGroup>

***

## Related Guides

<CardGroup cols={2}>
  <Card title="MCP Integration" icon="plug" href="/guides/mcp/overview">
    Learn about MCP platforms
  </Card>

  <Card title="Junis Magic" icon="wand-magic-sparkles" href="/guides/junis-magic">
    Manage integrations via MCP
  </Card>

  <Card title="Agent System" icon="robot" href="/getting-started/agent-system">
    Configure agents
  </Card>

  <Card title="Slack Integration" icon="hashtag" href="/integrations/slack">
    Slack-specific setup guide
  </Card>
</CardGroup>

***

<Note>
  **Need Help?** Contact us at [contact@junis.ai](mailto:contact@junis.ai) for assistance with Composio integration setup.
</Note>
