Documentation Index
Fetch the complete documentation index at: https://alfred.black/docs/llms.txt
Use this file to discover all available pages before exploring further.
What a Connected App is
A Connected App is Composio’s name for a third-party service Alfred has been authorised to use on Sir’s behalf. Connect Gmail and Alfred can read your inbox AND send mail. Connect GitHub and Alfred can read your notifications AND open pull requests. Connect Notion and Alfred can pull your pages AND update them. Every Connected App gives Alfred two things:- Data in — a stream that polls the app on a schedule (every 5 minutes for most, longer for slower-changing sources like Notion), turning new items into vault records via zero-LLM templates.
- Actions out — gateway tools the agent can invoke conversationally: “send Sarah an email”, “schedule a 30-minute slot on Wednesday”, “open a PR with these changes”.
The catalogue
Over 1,000 apps are available. The Apps page in the dashboard browses the live Composio catalogue, classified into:- Communication — Gmail, Outlook, Slack, Discord, Teams, Telegram, WhatsApp, Twilio, SendGrid, Mailchimp, Mailgun
- Productivity — Notion, Todoist, Trello, Asana, ClickUp, Monday, Evernote, OneNote
- Dev tools — GitHub, GitLab, Bitbucket, Jira, Linear, Sentry, Vercel, Netlify, Heroku
- Finance — Stripe, PayPal, Square, QuickBooks, Xero, Plaid, Wise
- Calendar — Google Calendar, Calendly
- Storage — Google Drive, Dropbox, Box, OneDrive
- CRM — HubSpot, Salesforce, Pipedrive, Zoho
- Database — Airtable, Supabase, Firebase
- E-commerce — Shopify, WooCommerce
- Social — Twitter, LinkedIn, Facebook, Instagram, YouTube, TikTok, Reddit
- Support — Zendesk, Intercom, Freshdesk
- Other — anything else in the catalogue, classified by Composio’s metadata
Connecting an app
Open Apps in the dashboard
Click Apps in the sidebar. The page shows your already-connected apps at the top, with the catalogue beneath.
Pick the app and click Connect
For OAuth apps (most of them — Gmail, Calendar, Slack, GitHub, Notion, …) the dashboard opens an OAuth popup pointing at the provider. Sign in, approve the requested scopes.For API-key apps, the dashboard shows a single field; paste the key and submit. Composio supports both flows via the same Apps page.
Auto-config runs
Once Composio confirms
ACTIVE on the connection, your tenant fires POST /api/v1/integrations/:id/auto-config. This single call:- Creates a Composio-backed pull stream (if the toolkit has a recommended read action — Gmail’s
GMAIL_FETCH_EMAILS, Calendar’sGOOGLECALENDAR_EVENTS_LIST, GitHub’s notifications feed, Notion’sNOTION_FETCH_DATA, …) - Registers a Temporal schedule (typically 5-minute polling, 10 minutes for Notion)
- Adds the relevant
composio_executeaction prefixes togateway.tools.allowin both the main and workers openclaw configs - Generates an
alfred-composio-<toolkit>SKILL.md in the workspace, listing every available action with arguments
The agent learns the new app
After the gateway is back, the main agent can immediately invoke the new actions. From any Slack DM or web chat, “send Sarah at acme.com a quick note about the proposal” routes to
composio_execute({action: "GMAIL_SEND_EMAIL", arguments: {...}}) automatically. No manual configuration.Per-app stream + tool controls
The Apps page lets Sir control each connected app independently:| Control | Effect |
|---|---|
| Pause stream | Stops polling. Existing events stay in the vault; new ones won’t arrive until resumed. |
| Migrate stream | Switch the stream to a different action slug (preserves config). Useful when Composio renames an action — happened with GITHUB_LIST_NOTIFICATIONS → GITHUB_LIST_NOTIFICATIONS_FOR_THE_AUTHENTICATED_USER. |
| Disable stream | Removes the stream config and Temporal schedule entirely. Tool actions still work. |
| Enable / disable individual tool actions | Add or remove a specific composio_execute action slug from the gateway allowlist. The gateway restarts after each change. |
| Reconfigure | Re-runs OAuth from scratch (useful if scopes changed or the token was revoked upstream). |
| Disconnect | Removes the Composio connection, the stream, every tool, and the SKILL.md. Clean teardown. |
What “auto-config” picks for each app
The recommended stream + default args per toolkit:| Toolkit | Recommended stream | Poll interval | Default args |
|---|---|---|---|
| gmail | GMAIL_FETCH_EMAILS | 5 min | {userId: "me"} |
| googlecalendar | GOOGLECALENDAR_EVENTS_LIST | 5 min | {calendarId: "primary"} |
| github | GITHUB_LIST_NOTIFICATIONS_FOR_THE_AUTHENTICATED_USER | 5 min | {} |
| notion | NOTION_FETCH_DATA | 10 min | {get_pages: true, get_databases: true, page_size: 50} |
| slack | (no auto-stream — needs a channel ID) | — | configure manually if desired |
Per-tenant isolation
If you ever see a connected app in your dashboard that you didn’t connect, that’s a bug — open a support ticket. The isolation invariant is non-negotiable.What the agent sees
For every connected app, the agent’s workspace gets a generatedalfred-composio-<toolkit>/SKILL.md. The skill lists every available action in a markdown table:
composio_execute gateway tool with {action, arguments}. The skill file documents the most common arguments and gotchas per app.
If you ever change an app’s action set on Composio’s side, hit Regenerate skills from the Apps page. It rewrites every connected app’s SKILL.md from the current template.
Streams & Integrations
The mechanics of streams, pull modes, and zero-LLM ingest
Recipes
Concrete examples — send an email, post to Slack, open a PR
Your AI Agents
Who actually invokes these tools
Email Channel
Sir’s own AgentMail inbox vs Gmail-via-Composio