Skip to content

Add docs - #736

Merged
breardon2011 merged 16 commits into
mainfrom
docs/connected-services
Sep 16, 2026
Merged

breardon2011 merged 16 commits into
mainfrom
docs/connected-services

Conversation

@breardon2011

@breardon2011 breardon2011 commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Adds documentation for managed connections, and restores the CLI command for managing them.

Docs — agents/services.mdx

New page: connect an account, declare it with useService, call it with callService, sweep several with listServices. Includes the limits the proxy enforces (4 MB bodies, 30s, and a four-name request-header allowlist whose other headers are dropped silently) and a table of failures with fixes.

CLI — opencomputer connection add|list|remove

Removed in #624, restored here. add prints a link for the account's owner and waits until it is authorized; --no-wait and --json skip the wait. list shows the connection id and re-checks pending accounts. remove takes an alias or an id.

Every operation is documented as both CLI and API. Cross-linked from secrets, tools and capabilities.

All examples were compiled and run against a live Gmail account.

…Service shipped in #733 and #734 with no page at all, so the only way to learn that an agent can reach a Gmail account the platform holds the credential for was to read the SDK's types
@mintlify

mintlify Bot commented Sep 15, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
opencomputer 🟢 Ready View Preview Sep 16, 2026, 7:39 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

…u hit — request headers outside a four-name allowlist are dropped silently rather than refused, so a call that ignores a header you set looks like the service misbehaving; plus the 4 MB body and response caps, the 30 second ceiling, and where each function can be called from
… it — connecting an account was the fifth section though nothing before it works without one, so a reader following the first example got a 404; adds the 409 for an ambiguous label, a failure table, the missing OC_API_URL, a warning that the CLI command the platform's own error suggests does not exist, and puts the multi-account example inside a tool where it compiles
…rather than a fallback, so a call with no label 404s even when exactly one account is connected under another name; gmail caps a page at 100 ids so the counting example returns a page size, not a total; and the 404 row named the less likely cause
…ted, then callService and useService shipped and made managed connections real, leaving the API as the only way to attach an account and leaving the platform's own 404 telling people to run a command that no longer existed; add|list|remove wrap the routes the docs currently spell out as curl, and nothing secret passes through the CLI because add returns a link for the account's owner to open
…in — step one was four curl invocations and a warning telling readers the platform's own error message names a command that was removed; it is one line, the warning is gone, and the failure table points at connection list because that is how you find the label a 404 is complaining about
… kept both rows in the capabilities table and both nav entries, kept the callService pointer alongside the approvals section in tools.mdx, and added a note distinguishing the two GitHub paths #735 introduced: callService proxies the REST API, useConnection injects a token for git and gh
… — the CLI is the short path but people scripting a bulk import should not have to shell out to it, so each of add, list and remove carries both forms in a CodeGroup, and the two places the API differs from the CLI are stated: it wants the provider in the URL and the connection id rather than the label
… rather than decorate — remove took matches[0] whenever --service was given, so a narrowed delete could still hit the wrong account; it now filters and refuses an ambiguous match instead of guessing, and the listing carries the id because removing through the API needs it and the docs say to read it from there
…ending accounts — the listing route never asks the provider whether a consent completed, so an account authorized minutes ago still reads pending and nothing a user could run would clear it; add now polls the status route, which does reconcile, and list reconciles the pending rows it finds. No browser is opened: the account is often somebody else's and this runs on servers too. --no-wait and --json skip the wait
…s a stored status, so an account authorized a minute ago still reads pending and the page offered no way to find out otherwise; the API tab now shows the status route beside the listing, and says plainly which of the two re-checks with the provider
…e --service was undocumented — the sample showed four fields where the CLI now prints five, so anyone matching output against the page would think their build was wrong
… re-checked whenever it is listed, so the page no longer tells people to chase the status route themselves; the caveat narrows to the case #85 deliberately does not cover, where a connected account stays connected after the grant is revoked until a call to it fails
…verloaded sentence, so it splits into connected accounts and GitHub's two separate paths; drive and sheets are absent from the connections picker because the platform has no auth config for them and linking one fails, which the services table now says rather than implying they work; and connectionServiceId returned undefined for both, which stranded such a connection in the dashboard with no way to reconcile or disconnect it
…gs for them — the picker and the services table held them back because a link call failed without one; shipping alongside the blue change that gives each a scope profile, which is what the call needs before the auth config is even looked up
…crets — the review comment was about the service table, where a reader meets github as a callService target and needs to know the App flow is a different path; repeating it in the secrets note made that note carry two ideas again
@breardon2011
breardon2011 merged commit 824bbb4 into main Sep 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants