Skip to documentation
Early accessOpen Fork
Docs/Build

Build

Composio connectors

Connect application users to external tools without placing provider credentials in a space.

How connectors work

Composio is installed once for an organization from Fork Services. Eligible spaces then use Fork’s private Service Gateway. Fork supplies the project credential, derives the calling organization and space, checks wallet availability, and keeps each connected account bound to its application user.

OAuth happens in a hosted Connect Link. The user’s provider token and Fork’s Composio project key do not enter application code or the space filesystem.

Connection flow

  1. Derive the application identity
    Use a stable internal user ID from a verified server-side session.
  2. Create a Connect Link
    Your backend requests a link for one allowed toolkit, such as Gmail.
  3. Wait for ACTIVE
    Poll status from the backend; completing OAuth does not by itself prove readiness.
  4. Execute a named tool
    Validate the tool and arguments in application code, then use a fresh idempotency key.

Use a connector from the Fork Agent

The signed-in Fork Agent can discover connections for the person in the current chat:

Terminal
fork-service composio-list   --current-chat-user   --toolkit gmail   --idempotency-key "connections-gmail-$(date +%s)"

The Agent should confirm externally visible side effects—sending mail, creating an event, posting a message, deleting data, or changing permissions—unless the current request already explicitly authorizes the exact action.

Composio Sessions

Sessions group enabled toolkits and connected accounts for a task. Create the Session for the current chat user, discover its exact tool schemas, then execute against the returned Session ID. The Composio Session ID is not the same as the Fork Agent conversation ID.

Terminal
fork-service composio-session create   --current-chat-user   --toolkits gmail,googledrive   --idempotency-key "session-$(date +%s)"
Fork documentationBuilt from the current control plane