Connector catalog, setup guides, and shared access documentation, followed by a final code-accuracy repair pass. This PR does not change application behavior. ## Final accuracy pass Checked against shipped Paperclip `v2026.916.0`, commit `dffc2b3ca1b9e88fa21cb17493083e682dffd1ca`, rather than the dirty local checkout or the earlier canary baseline. - Corrects connector/method-specific identity choices, human audiences, and managed GitHub versus PAT scope and verification. - Explains that **Always allow** covers different arguments for the same agent/action/connection, with project scope when present; uses actual button labels and removes the test-panel control from review instructions. - Qualifies new-action quarantine, including safe-default read exceptions. Removes unconditional approval guarantees. - Separates provider channel/repository reach from Paperclip sender authorization. - Completes sandbox sign-in and model credential-selection instructions from the current UI implementation. - Repairs Notion's hub summary, removes incomplete optional Notion/Sentry client-registration procedures, and corrects Linear's provider-versus-Paperclip attribution. - Removes unsupported Postman tier claims, contradictory Cloudinary/Mem0 verification assertions, API-equivalence claims, and overbroad successful-test assurances. - Retains Supabase's required project reference: both released method definitions explicitly require it. An earlier review suggested otherwise; release code is authoritative here. - Updates the release baseline and removes draft commit chronology from the public introduction. ## Availability and remaining runtime gates - **Google:** Verification is pending. Per the product-owner clarification, authorization can continue where Google offers an Advanced option; this is not available for every account and does not override Workspace policy or other Google prerequisites. Notices on the hub and all Google guides now distinguish an unverified-app warning from blocked authorization. - **Slack is available but not yet fully functional; follow-up fixes are planned.** For agent tools, the released OAuth endpoint/scope defaults differ from Slack's documented MCP contract. The page now warns against treating that route as production-ready and removes the misleading bot-scope walkthrough. Chat-channel bot setup remains separate. Engineering must reconcile the integration and run OAuth plus one read before removing this warning. Source: https://docs.slack.dev/ai/slack-mcp-server/ - No credentialed connector run was performed in this pass. Code consistency, provider documentation, UI rendering, and successful live execution are separate evidence levels. No claim of runtime certification for all connectors. ## Validation - Root build: 253 crawlable documentation pages. - Full `docs:test`: all eight suites passed locally, including root/subpath routes, sitemap history, fingerprints, navigation, skill source blocks, crawlable links, doc-link resolution, and SEO metadata. - Internal-link lint: 258 Markdown files; no broken internal links. - Latest cleanup: full build, all eight docs:test suites, internal-link lint and diff whitespace checks passed; 1,878 link-resolution checks. - Fixed the Calendar MCP reference URL; browser-checked the five inconclusive external destinations (Miro article loads; Asana, Google Cloud, OpenAI and xAI reach sign-in/console screens). Authenticated destinations were not tested beyond those screens. - Replaced the Sandbox providers editorial TODO with a scope note and removed the CLI overview's unfinished-guide announcement. - Browser client navigation: 687 checks passed using installed Chrome. Initial launch lacked the downloaded Playwright browser; rerun used `DOCS_CHROMIUM_PATH` without changing the tests. - Nine representative connector/shared pages at 1440px and 390px: HTTP 200, one article H1, no page-level horizontal overflow. Mobile screenshot inspected; approval page opened in the Codex browser. - Navigation audit reports three existing non-connector orphan files; this patch does not alter those files or their navigation. The previous revision's provider-page expansion, Google shared setup guide, navigation additions, and accidental node_modules-symlink cleanup remain in this PR. Internal review ledgers remain outside the publication branch. No merge or production deployment authorized. --------- Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> Co-authored-by: Claude Opus 5 (1M context) <[email protected]> Co-authored-by: Michael Nguyen <[email protected]>
5.2 KiB
seo_title, seo_description
| seo_title | seo_description |
|---|---|
| OpenRouter Connector | Give agents model access through OpenRouter with an API key. Runtime and model-prefix requirements, assignment, a bounded test, and fixes. |
OpenRouter
An OpenRouter connection gives agents a credential that routes to many model providers through one account. It is model access, not a set of tools — there are no actions to permit.
OpenRouter is API key only. There is no subscription sign-in for this provider, and Paperclip says so on the sign-in screen.
Before you connect
- An OpenRouter account with credit or billing set up, and an API key from OpenRouter keys.
- An agent that runs on the OpenCode runtime. This credential is only usable by an agent whose harness resolves to OpenCode.
- A model id that starts with
openrouter/. This is a hard requirement, not a convention — Paperclip treats an OpenRouter connection as incompatible with a model id that lacks the prefix.
Connect OpenRouter
- Open Connectors and select OpenRouter.
- On the Access step, choose whether the credential is Personal or Company shared, and which agents may use it.
- Paste the API key. Paperclip stores it as a secret and it is not readable afterwards.
Assign the credential
- Set it as your default for the provider, and agents configured to use the responsible user's connection draw on each person's own account.
- Bind a specific shared connection to the agent so eligible runs use that account.
A specific binding is not unconditional. Each run through it must satisfy all three, or be refused:
| Requirement | Why a run fails without it |
|---|---|
| The connection is Company shared | A specific binding must point at a company-shared account; the older personal-account binding is a legacy format the current interface no longer creates |
| The run has a responsible user who may use the credential | The human sharing audience governs every binding — "This credential is not shared with the responsible user" |
| The connection is installed for that agent (or company-wide) | Otherwise "This connection is not permitted for this agent" |
A binding cannot substitute for a responsible user: with nobody responsible there is nobody for the check to evaluate.
Then set the agent's model to an openrouter/-prefixed id, for example openrouter/anthropic/claude-sonnet-4.5. The provider and model choice happens in the agent's configuration; the connection only supplies the credential.
Warning: Authenticating successfully does not mean a particular model is available to you. OpenRouter decides which upstream models your account can route to, based on its own availability, your credit, and any provider-specific requirements. A key that works for one model can be refused for another.
Try it
Reply with the single word: ready
Run it on an agent with an openrouter/-prefixed model, after noting which AI connection that agent is configured to use.
A reply proves an OpenRouter credential was accepted, the runtime and model prefix are compatible, and the checks above passed — Paperclip refuses an ineligible binding rather than falling back to another account. It does not prove which OpenRouter account was charged; Paperclip does not surface that attribution per run, so check the activity and credit balance in your OpenRouter account if you need to confirm it.
If it fails, change only one thing at a time — the model id is the most common cause.
Note: Illustrative task, not a recorded test result.
Troubleshooting and limitations
| Problem | Likely cause | Fix |
|---|---|---|
| "Select an AI connection compatible with this harness and model" | The model id does not start with openrouter/, or the agent is not on an OpenCode runtime |
Fix the model id, or move the agent to an OpenCode runtime |
| There is no subscription option | Expected. OpenRouter is API key only | Use an API key |
| "Connect an account and choose your personal default" | The agent uses the responsible user's connection and that person has no default | Connect an account and mark it as your default |
| "This run needs a responsible user to select an AI connection" | The run has no responsible person to evaluate the credential checks against | Give the work an eligible responsible user. Binding a shared connection does not work around this |
| The key works but one model is refused | OpenRouter is not routing that model for your account | Choose another model, or check the model's requirements with OpenRouter |
| Runs fail once usage rises | OpenRouter credit is exhausted or a rate limit applied | Top up or check limits in your OpenRouter account |
| Status needs attention | The key was revoked or rotated | Reconnect with a current key |
Limitations: one connection is one OpenRouter account, and it grants no tool access. Only openrouter/-prefixed models are usable with it. Which upstream models are reachable is OpenRouter's decision, not Paperclip's.
Related guides
- Anthropic, OpenAI, Grok — the other model providers.
- How connector access works
- OpenRouter documentation