Overview Install Files SecuritySummary This source did not publish a separate summary. Review SKILL.md before using the skill.
Connect
Connect Codex to any app using the Composio CLI . Stop generating text about what you could do - actually do it from the shell.
When to Use This Skill
Use this skill when you need Codex to:
Send that email instead of drafting it
Create that issue instead of describing it
Post that message instead of suggesting it
Update that database instead of explaining how
What Changes
Without Connect With Connect "Here's a draft email..." Sends the email "You should create an issue..." Creates the issue "Post this to Slack..." Posts it "Add this to Notion..." Adds it
Supported Apps
1000+ integrations including:
Email: Gmail, Outlook, SendGrid
Chat: Slack, Discord, Teams, Telegram
Dev: GitHub, GitLab, Jira, Linear
Docs: Notion, Google Docs, Confluence
Data: Sheets, Airtable, PostgreSQL
CRM: HubSpot, Salesforce, Pipedrive
Storage: Drive, Dropbox, S3
Social: Twitter, LinkedIn, Reddit
Setup
1. Install the Composio CLI
curl -fsSL https://composio.dev/install | bash
2. Log In
composio login
composio whoami
This opens a browser for authentication and lets you pick your default org and project. Use -y to skip prompts in automated flows.
3. Link the Toolkits You Need composio link github
composio link gmail
composio link slack
Each command walks through OAuth once, then the connection persists.
Done. Codex can now drive any connected app from the shell.
Core Workflow
Know the tool slug? → composio execute
Don't know the slug? → composio search
Need clarification on inputs? → composio execute --get-schema or --dry-run
Toolkit not connected? → composio link <toolkit> and retry
Multiple steps needed? → composio run for workflows, composio proxy for raw API calls
Examples
Discover a Tool composio search "create a github issue"
composio search "send an email" --toolkits gmail
Inspect Inputs Before Calling composio tools info GITHUB_CREATE_ISSUE
composio execute GITHUB_CREATE_ISSUE --get-schema
composio execute GITHUB_CREATE_ISSUE --dry-run -d '{"owner":"acme","repo":"app","title":"Bug"}'
Send an Email composio execute GMAIL_SEND_EMAIL -d '{
"recipient_email": "[email protected] ",
"subject": "Shipped!",
"body": "v2.0 is live, let me know if issues"
}'
Create a GitHub Issue composio execute GITHUB_CREATE_ISSUE -d '{
"owner": "my-org",
"repo": "repo",
"title": "Mobile timeout bug",
"labels": ["bug"]
}'
Post to Slack composio execute SLACK_SEND_MESSAGE -d '{
"channel": "engineering",
"text": "Deploy complete - v2.4.0 live"
}'
Run Calls in Parallel composio execute --parallel \
GMAIL_FETCH_EMAILS -d '{"max_results": 2}' \
GITHUB_GET_THE_AUTHENTICATED_USER -d '{}'
Chain Actions with composio run composio run '
const issues = await search("github issues labeled bug this week");
const summary = issues.map(i => `- ${i.title}`).join("\n");
await execute("SLACK_SEND_MESSAGE", {
channel: "bugs",
text: `This week’s bugs:\n${summary}`
});
'
Load reusable workflows from a file:
composio run --file ./workflow.ts -- --repo composiohq/composio
Raw API Access (proxy) When no dedicated tool exists, hit the authenticated API directly:
composio proxy https://gmail.googleapis.com/gmail/v1/users/me/profile \
--toolkit gmail
composio proxy https://gmail.googleapis.com/gmail/v1/users/me/drafts \
--toolkit gmail -X POST -H 'content-type: application/json' \
-d '{"message":{"raw":"..."}}'
How It Works
You ask Codex to do something
Codex picks a slug via composio search or prior knowledge
CLI checks connection , prompts composio link if missing
Action executes against the real API and returns JSON to stdout
Configuration
--log-level <all|trace|debug|info|warning|error|fatal|none>
--help for per-command docs
COMPOSIO_API_KEY - auth credential (set for non-interactive use)
COMPOSIO_BASE_URL - custom API endpoint
COMPOSIO_SESSION_DIR - override artifact storage
COMPOSIO_DISABLE_TELEMETRY=true - opt out of telemetry
Type-Safe SDK (Optional) Generate typed client code when you want to call tools from an app rather than the shell:
composio generate ts # TypeScript types
composio generate py # Python types
Flags: -o <dir>, --toolkits <list>, --compact, --transpiled, --type-tools.
Troubleshooting
Not logged in → run composio login
Connection required for <toolkit> → run composio link <toolkit>
Unknown slug → composio search "<what you want>" or composio tools list <toolkit>
Bad inputs → composio execute <SLUG> --get-schema then --dry-run
Action failed → check permissions in the target app
Join 20,000+ developers building agents that ship