Composio
Choose DorkOS-managed access or connect your own Composio project
Composio
Composio connects services such as Gmail to DorkOS. Composio holds each service's login access in its vault. DorkOS keeps the stable connection, your agent choices, and the exact action versions you approved.
DorkOS-managed Accounts are available in alpha. A real Gmail sign-in, one profile read, usage tracking, and removal of agent access have been verified. Other services may still need custom setup. Managed account notifications remain unavailable pending a separate live delivery check.
Pick a route
| Route | Project key | Who pays Composio | Cloud link | Offline notification buffer |
|---|---|---|---|---|
| DorkOS-managed | DorkOS keeps a server-only project key | DorkOS | Required | Up to the original delivery deadline after event readiness passes |
| Your Composio project | Your installation keeps your project key | You | Not required | None in DorkOS hosting |
Both routes use Composio's vault for the connected service login. Bring-your-own setup changes who supplies the Composio project. It does not move Gmail or another service's login token into DorkOS.
DorkOS searches Composio's current service catalog instead of keeping a short list of services. A service can still appear when it needs custom setup. Its tile explains the missing requirement instead of hiding it.
DorkOS billing is off. Usage records identify the route and attempt, but DorkOS does not charge you or create an invoice.
Use your own Composio project
Create a project key
Create a Composio project and copy its project API key. A user account key beginning with uak_ can manage existing accounts, but it cannot provide the pinned action schemas DorkOS requires. DorkOS leaves action discovery and execution unavailable for that key type.
Save the key
Open Settings › Connections. Under How DorkOS reaches your apps, open Add another way (if nothing is set up yet, the choices are already open) and paste the key into the Your Composio key entry. Your browser sends it to your local DorkOS server when you save. The server keeps it in the local encrypted credential store, does not return or echo it after saving, and leaves it out of normal logs.
Connect and review
Choose a service, add an optional label, and open the sign-in page. After the connection appears, choose which agents can use it and how much they can do (see below).
Your installation calls Composio directly for this route. It also receives signed notifications directly when you configure them. If your installation is offline, recovery depends on the service's own retry behavior. DorkOS hosting does not relay or buffer bring-your-own notifications in this release.
Use DorkOS-managed access
Link your DorkOS account first: open Settings → DorkOS account, select Link this computer, and finish the DorkOS sign-in flow.
Then open Connections and select Connect on Gmail, Google Drive, Linear, or another app, or search for it. You do not need your own Composio key for this route. Connect opens a sign-in flow bound to your account. DorkOS uses its server project key and a private account identity derived from your signed-in owner and linked installation. The browser cannot choose another owner, installation, Composio user, or callback.
DorkOS chooses the sign-in method in this order:
- An explicit setup for that service takes priority. If it is broken, DorkOS stops and shows the problem instead of silently choosing another method.
- A service with supported managed OAuth opens the service's consent flow. The consent page may name Composio because Composio handles the service connection. DorkOS owns the surrounding product flow and your access choices.
- A service with supported account fields opens a secure form on
dorkos.ai. The form identifies the service and account context, uses the field labels supplied by the service, masks secret values, and keeps DorkOS sign-in separate. Our servers pass these details to Composio without saving them. They never pass through your local installation or an agent. - A service that needs no account fields asks the owner to confirm before continuing.
- A service that needs an unsupported method or custom developer setup stays visible with that requirement.
The actions available after OAuth depend on the scopes approved during consent. You then choose which agents can use the account, and how much they can do. On Trusted, the default permissions preset, a new account starts shared with every agent at Read and write, or Read where that is all the app offers, and you can narrow it from the same question. On Careful, nobody can use it until you choose:
- Read lets agents look without changing anything, such as reading email or finding free time in your calendar.
- Read and write, for Gmail and Google Calendar, also lets agents send, create and edit things, such as sending an email, replying, saving a draft, labeling a message or adding an event. Other apps offer Read only for now.
- Some actions are never part of a level, and you allow them one at a time: deleting anything, sharing a calendar, forwarding or redirecting mail, changing who your mail is sent as or how it is delivered, turning on an automatic reply, changing many messages at once, moving an event to another calendar, and watching for changes. So is any action whose effect DorkOS can't tell for sure.
On Trusted, when an agent working on its own runs one of these high-risk actions, it waits 60 seconds first, and anyone except that agent can cancel it. See High-risk actions wait 60 seconds. Everywhere else, it still asks you first.
A level keeps its meaning when the app changes. If the app adds a way to read your mail, agents on Read get it. If an action starts changing things, it leaves Read. It stays in Read and write unless it becomes one of the actions above, which no level covers. This happens the next time DorkOS reads the app's actions: every 12 hours while it runs, right after DorkOS is updated, and whenever you open Who can use it? A level never covers more than its kind of action. Actions you picked one by one under Exact actions per agent stay exactly as you picked them. An action the app changed stays off for them until you choose it again.
Composio-managed apps use shared quotas and default scopes, and their polling triggers have a 15-minute minimum interval. That interval does not describe webhook delivery or Slack and Telegram Messaging.
Action inputs pass through DorkOS hosting and Composio to the service. Results return through the same path. Agents receive neither the project key nor the service login token. DorkOS keeps payload-free usage receipts with the action name, reviewed revision, attempt, outcome, and payer route. Those receipts do not contain action inputs or results.
Managed availability has two separate switches:
- common readiness covers catalog, sign-in, and actions;
- event readiness covers new notification intake.
Accounts are enabled after the real-account check passed. Managed notifications stay off until their separate live delivery check passes. A configured key alone does not enable either capability.
If your DorkOS account link ends
Managed access runs through your linked DorkOS account. If that link ends — you unlink it, or DorkOS can no longer confirm it — the accounts you reached that way stop working locally, even though the sign-in at the service (Gmail's own consent, for example) is untouched and still live there. Linking this computer again with the same DorkOS account can bring those accounts back, unless its earlier link was removed from that account. If it was, or you link a different account or a different computer, reconnect them from Connections once you've linked. To end the sign-in at the service itself while the link is down, remove the access directly in that service's own account settings — look for an entry named Composio, not DorkOS, since Composio is who actually holds the connection.
Revoking the computer from Linked instances on your dorkos.ai account is different: it ends those sign-ins at the service for you. DorkOS signs each app out right away, and if the service can't be reached just then, it keeps trying until the sign-in is gone. Deleting your DorkOS account does the same first. If a sign-in can't be ended yet, you're sent back to your account page, which says this can take up to a day and to request deletion again from there later; after a day, the account is deleted anyway and DorkOS records which sign-in is left so it can be ended by hand.
Add notifications
DorkOS-managed notifications are not available yet. The steps below apply only when notifications are available for your chosen route. This does not affect Slack or Telegram Messaging.
Open a connected account's side panel, then More and choose the activity — Gmail names it "When a new email arrives…"; another app names its own. Select any supported filter, the receiving agent, and the destination. Action access does not grant notification access.
Every notification sent to an agent lands in one chat with that agent, so a busy inbox stays one chat. Each row says how its newest event went: delivered, on its way, being tried again, or what stopped it. Open chat takes you to that chat. A notification that can no longer work, because the app changed that kind of activity or you changed the key, says it stopped for good.
For a managed notification, DorkOS hosting keeps an encrypted delivery copy until your linked installation stores it or the original seven-day window ends. Your installation then keeps its protected copy until the destination outcome is known or that same deadline ends. Cleanup runs in bounded sweeps, so physical deletion can happen after the logical deadline.
Removing a notification takes it off the list and closes its local permission immediately, whatever state it is in. DorkOS then removes the upstream subscription when it still owns that subscription, and keeps trying in the background if the service doesn't answer. To change a filter, agent, or destination, remove the notification and create a reviewed replacement.
Inspect approved access from the CLI
Every program command names the agent whose access it may inspect or use:
dorkos connections list --agent <agent-id> --json
dorkos connections schema <connection-id> --agent <agent-id> --json
dorkos connections usage --agent <agent-id> --limit 20 --json
dorkos connections subscriptions --agent <agent-id> --jsonThese commands return stable DorkOS connection IDs. They do not expose Composio account references, credentials, sign-in URLs, or notification content.
Disconnect
Disconnecting closes local action and notification authority before DorkOS asks Composio to remove the account. If that external cleanup fails, the connection stays closed and the app shows that cleanup is pending. Do not repeat an action whose outcome is unknown. Check its existing receipt first.