Build
Composio connectors
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
- Derive the application identityUse a stable internal user ID from a verified server-side session.
- Create a Connect LinkYour backend requests a link for one allowed toolkit, such as Gmail.
- Wait for ACTIVEPoll status from the backend; completing OAuth does not by itself prove readiness.
- Execute a named toolValidate 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:
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.
fork-service composio-session create --current-chat-user --toolkits gmail,googledrive --idempotency-key "session-$(date +%s)"