config-composio

Use when user asks to configure Composio API key, enable or disable Composio toolkits (Gmail, GitHub, Slack, etc.), manage app integrations, or authenticate with external services.

Config Composio - Composio Integration Management

Overview

Manage Composio API key and toolkit configurations. Enable/disable app integrations like Gmail, GitHub, Slack, and more.

When to Use

  • User needs to set up Composio API key
  • User wants to enable a toolkit (Gmail, GitHub, Slack, etc.)
  • User needs to disable a toolkit
  • User wants to check which toolkits are available
  • User needs to manage toolkit authentication (OAuth)
  • User wants to configure toolkit tools selection

API Endpoints

Base path: $VIBESURF_ENDPOINT/api/composio

API Key Management

ActionMethodEndpointDescription
Check StatusGET/api/composio/statusGet Composio connection status
Verify KeyPOST/api/composio/verify-keyVerify and store API key

Toolkit Management

ActionMethodEndpointDescription
List ToolkitsGET/api/composio/toolkitsGet all available toolkits
Toggle ToolkitPOST/api/composio/toolkit/{slug}/toggleEnable/disable toolkit
Get ToolsGET/api/composio/toolkit/{slug}/toolsGet tools for a toolkit
Update ToolsPOST/api/composio/toolkit/{slug}/toolsUpdate selected tools
Connection StatusGET/api/composio/toolkit/{slug}/connection-statusCheck OAuth connection

Request Examples

Verify API Key

POST /api/composio/verify-key
{
  "api_key": "your-composio-api-key"
}

Enable Toolkit

POST /api/composio/toolkit/gmail/toggle
{
  "enabled": true,
  "force_reauth": false
}

Disable Toolkit

POST /api/composio/toolkit/gmail/toggle
{
  "enabled": false
}

Update Tool Selection

POST /api/composio/toolkit/gmail/tools
{
  "selected_tools": {
    "GMAIL_SEND_EMAIL": true,
    "GMAIL_FETCH_EMAILS": false
  }
}

Common Toolkits

ToolkitDescription
gmailSend and receive emails
githubRepository management, PRs, issues
slackSend messages, manage channels
google_calendarEvent management
google_sheetsSpreadsheet operations
notionPage and database management
trelloCard and board management
asanaTask management
jiraIssue tracking

OAuth Flow

When enabling a toolkit that requires OAuth:

  1. Enable toolkitPOST /api/composio/toolkit/{slug}/toggle with enabled: true
  2. Check response → If requires_oauth: true, an oauth_url is provided
  3. User authenticates → Open oauth_url in browser to complete OAuth
  4. Verify connectionGET /api/composio/toolkit/{slug}/connection-status

Using Composio Tools

Once toolkits are enabled, their tools become available through the integrations skill:

1. List available tools → GET /api/tool/search?keyword=composio
2. Execute tool → POST /api/tool/execute
   {
     "action_name": "execute_extra_tool",
     "parameters": {
       "tool_name": "cpo.{toolkit}.{action}",
       "tool_arguments": {...}
     }
   }

Tool Naming Convention

Composio tools follow the pattern: cpo.{toolkit_slug}.{action_name}

Examples:

  • cpo.gmail.GMAIL_SEND_EMAIL
  • cpo.github.GITHUB_CREATE_PULL_REQUEST
  • cpo.slack.SLACK_SEND_MESSAGE

Workflow

  1. Check API key statusGET /api/composio/status
  2. Set up API key (if needed) → POST /api/composio/verify-key
  3. List available toolkitsGET /api/composio/toolkits
  4. Enable desired toolkitPOST /api/composio/toolkit/{slug}/toggle
  5. Complete OAuth (if required) → Use provided oauth_url
  6. Use tools → Execute via integrations skill