Skip to content

Composio API Key

Composio powers every skill’s external writeback path. Without it, skills still run — they just return artifacts in chat instead of pushing them to Google Docs, Confluence, Linear, or GitHub.

Go to composio.dev and sign up. The signup flow lands you in the dashboard.

In the Composio dashboard:

  1. Open Settings → API Keys (or Developers → API Keys, depending on the current dashboard layout).
  2. Click Create API Key.
  3. Give the key a recognizable name — e.g. solutioneer-local.
  4. Copy the key. It starts with cmp-.

In the repo root:

Terminal window
cp .env.example .env

Then set the key:

Terminal window
COMPOSIO_API_KEY=cmp-...

Solutioneer also respects .env.local and process.env. Whichever file you use, the variable name must be exactly COMPOSIO_API_KEY.

From the repo root:

Terminal window
npm run doctor

The doctor should report COMPOSIO_API_KEY as present.

Composio is the writeback layer. The flow, every time, is:

  1. You ask for an external write (“push this brief to Confluence”, “create a Linear project for this POC plan”).
  2. Codex confirms that you want the external write.
  3. Codex confirms the target destination.
  4. Codex verifies that COMPOSIO_API_KEY is present.
  5. Codex verifies that the required toolkit is connected.

If the toolkit is not connected, you see a Connect now / Skip decision point. Connect now opens Composio’s hosted login flow in a browser tab (when available) and waits for the connection to become active. Skip keeps the workflow chat-only.

Writes are always confirmation-based. Codex does not execute the write before the connection is active.

The toolkits each skill can use are declared in its manifest.json:

SkillToolkits
Account Intel Briefgooglesuper (Docs), confluence
Demo Scenario Buildergooglesuper (Docs + Sheets), github
Integration Fit Gap Analyzerlinear, confluence, googlesuper, github
POC Handoff Orchestratorlinear, confluence, googlesuper, github

For reference, the Composio tool slugs Solutioneer is allowed to call (from tools/composio/slugs.ts):

  • GOOGLESUPER_CREATE_DOCUMENT_MARKDOWN
  • GOOGLESUPER_CREATE_GOOGLE_SHEET1
  • GOOGLESUPER_ADD_SHEET
  • GOOGLESUPER_CREATE_SPREADSHEET_ROW
  • LINEAR_CREATE_LINEAR_ISSUE
  • LINEAR_SEARCH_ISSUES
  • LINEAR_CREATE_LINEAR_PROJECT
  • LINEAR_CREATE_PROJECT_MILESTONE
  • LINEAR_CREATE_PROJECT_UPDATE
  • CONFLUENCE_CREATE_PAGE
  • CONFLUENCE_UPDATE_PAGE
  • GITHUB_CREATE_AN_ISSUE

Connect the toolkits you actually need. Each one is its own OAuth flow:

Or go deeper on behavior: