Start OAuth
start_oauthStart, poll, or finish FreedomOS-native vendor sign-in (X, Slack, Meta, Xero) after the operator approved the Connect card. action=start mints once and returns authorize_url only when open=true — open that URL once. If already pending, start reuses the mint and does not return a URL (do not open another tab). Poll action=status until connected; status never returns authorize_url. action=claim stays for hosts that already hold the bounce code. Do not use for Composio/rented connectors.
Routing: After decide_command_center_item approve on an oauth_account Connect card, call this — do not wait for a browser Sign in on getfreedomos.com.
[sensitive-tier — company managers (executive/gm) run this without a card. Other members ask once; a from-now-on approval makes future calls seamless. Connecting a connector still needs the OAuth/connect card (request≠grant). Call it on the first clear ask — do not re-ask in chat.]
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Bounce authorization code. Required for claim only — Desk reclaim does not need the host to pass it. Xero org pick can pass tenant_id without a new code. | |
| action | Yes | start mints a one-time vendor authorize_url (open only when open=true); a second start while pending reuses and does not remint; status polls until Desk reclaims and never re-hands the URL; claim finishes when a host already holds the bounce code. | |
| card_id | No | Connect card UUID (from request_connector / get_command_center_item). Required for start. | |
| provider | No | Native door id (x_twitter, x_ads, slack, meta, threads, xero). Optional on start when the card names it; required on claim. | |
| companyId | Yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. | |
| tenant_id | No | Xero organisation id. Optional on start (preferred org) and claim. Required to finish when claim returns needs_org_selection — pass tenant_id without a new code. Never binds an org already used by another company. | |
| oauth_claim_state | No | Returned by action=start. Required for claim when a host already holds the bounce code. |