Freeze one resolved Composio tool into a `composio` skill on the agent (Agent Bridge )
Turn ONE Composio tool (see GET /integrations/composio/tools + POST …/tools//resolve) into a frozen composio skill on the agent, pinned to a connected Composio account. It is the sibling of the Zapier mcp-skills freeze, GENERALIZED for Composio: the tool’s input_parameters are closed through the SAME additionalProperties:false synthesizer, and it reuses the SAME freeze gates verbatim — only the operator-EXPOSED params become the skill’s parameters_schema, PINNED args are layered on at runtime, every schema-required input must be pinned OR exposed, and pinning/exposing a government-id / financial / credential / health field is refused. Because a Composio tool carries NO read/write metadata, the skill lands FAIL-CLOSED as a WRITE (confirm + non-parallel + high stakes) UNLESS readAttestation.attestedRead is true — a human downgrade recorded verbatim for audit. allowedFields (dotted leaf paths) is deny-by-default; outputPick is an optional top-level output narrowing. fireAndForget (WRITE only, the voice-turn default — Composio has no latency SLA) enqueues the send off-turn on the CONFIRMED call. The pinned connectedAccountId must be an ACTIVE account for toolkitSlug. Composio-only. 404 if the agent/kind is wrong; 409 integration_not_connected if the account isn’t connected/active; 422 for any validation failure; 503 if Composio is unconfigured. Scope skills:write (creates a skill). Use this when the connector is Composio (kind=composio). For a Zapier MCP tool use the sibling freezeMcpSkill (POST /agents//integrations/zapier/mcp-skills) instead — the two have an identical request/response shape and differ only by connector kind.
Authorizations
Flowyte secret API key (Authorization: Bearer flowyte_sk_live_…). Scope-gated; is scoped to your organization — a key can never reach another tenant. The listed scopes in each operation's apiKey requirement are the scopes that key must hold. The tokenUrl is nominal: keys are minted in the dashboard.
Path Parameters
The agent this resource is scoped to (the UUID returned by createAgent / listAgents).
The integration provider (connector). One of the supported connector slugs: native providers (google_calendar, google_sheets, calendly, hubspot, ``, square, opentable, shopify), SQL databases (postgres, mysql), the universal Zapier MCP fallback (zapier), or Composio (composio).
google_calendar, google_sheets, calendly, hubspot, square, opentable, shopify, postgres, mysql, zapier, composio Body
The Composio tool slug to freeze (e.g. GMAIL_SEND_EMAIL).
The pinned Composio connected-account nanoid this skill runs against (must be ACTIVE).
The toolkit the account is for (e.g. gmail); must match the account.
The LLM-facing skill/function name.
The LLM-facing skill description.
Operator-pinned args (override/augment LLM args). Cannot overlap exposedParams; sensitive-PII fields are refused.
The subset of the tool's input the LLM may fill → becomes parameters_schema (byte-faithful sub-schemas). Sensitive-PII fields are refused.
Dotted leaf paths the agent may READ back. Deny-by-default: an empty list returns NO data (a warning is emitted).
Optional top-level output narrowing (execution_config.composio.output_pick) applied before the deny-by-default egress filter.
Optional per-call overall timeout.
WRITE actions only. On the CONFIRMED execution, enqueues the send to a durable background queue and returns an immediate speakable done instead of blocking the turn (Composio has no latency SLA). Never bypasses the confirm gate; stamped only on an effective write. Default false = synchronous.
Start enabled (default true; the confirm gate — not a draft flag — protects a write).
When attestedRead is true, DOWNGRADES the fail-closed write to an un-gated read, recorded verbatim (who + when + note).
Response
The created (frozen) composio skill, plus authoring warnings and whether it was attested a read.