Skip to main content
POST
/
agents
/
{agentId}
/
integrations
/
{kind}
/
mcp-skills
Error
A valid request URL is required to generate request examples
{
  "data": {
    "skill": {
      "id": "<string>",
      "agentId": "<string>",
      "organizationId": "<string>",
      "name": "<string>",
      "description": "<string>",
      "parametersSchema": {},
      "requiredParams": [
        "<string>"
      ],
      "executionConfig": {},
      "dataEgressMap": {},
      "allowedFields": [
        "<string>"
      ],
      "isWrite": true,
      "requiresVerifiedIdentity": true,
      "requiresConfirmation": true,
      "nonParallelizable": true,
      "channels": [],
      "errorHandling": {},
      "isEnabled": true,
      "expectedLatencyMs": 123,
      "schemaDrifted": true,
      "createdAt": "2023-11-07T05:31:56Z",
      "updatedAt": "2023-11-07T05:31:56Z"
    },
    "warnings": [
      "<string>"
    ],
    "attestedRead": true
  }
}

Authorizations

Authorization
string
header
required

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

agentId
string
required
kind
enum<string>
required
Available options:
google_calendar,
google_sheets,
calendly,
hubspot,
square,
opentable,
shopify,
postgres,
mysql,
zapier

Body

application/json
toolName
string
required

The equipped MCP tool to freeze to (stamped into execution_config.tool_name).

name
string
required

The LLM-facing skill/function name.

description
string
required

The LLM-facing skill description.

pinnedArgs
object

Operator-pinned args (override/augment LLM args); the second lock. Cannot overlap exposedParams; sensitive-PII fields are refused.

exposedParams
string[]

The subset of the tool's input the LLM may fill → becomes parameters_schema (byte-faithful sub-schemas). Sensitive-PII fields are refused.

allowedFields
string[]

Dotted leaf paths (from a probe) the agent may READ back. Deny-by-default: an empty list returns NO data (a warning is emitted).

timeoutMs
integer

Optional per-call overall timeout (bounded at 25s; the mcp type is slow-listed so filler masks the dip).

enabled
boolean

Start enabled (default true; the confirm gate — not a draft flag — protects a write).

readAttestation
object

When attestedRead is true, DOWNGRADES the fail-closed write to an un-gated read, recorded verbatim (who + when + note).

agentic
object

Optional AGENTIC block — present to freeze ONE concrete action from a Zapier AGENTIC (dynamic-discovery) server (see POST …/tools/{tool}/resolve). When present, the server RE-RESOLVES the action from selectedApi + action + parentParams (never trusting a client-supplied schema), synthesizes a CLOSED schema, and rejoins the same freeze pipeline. instructions/output are OPERATOR-authored and LOCKED — they are stored, NEVER LLM-filled, and are NOT schema inputs (listing them in exposedParams is rejected). Omit for the classic per-tool freeze (unchanged).

Response

The created (frozen) mcp skill, plus authoring warnings and whether it was attested a read.

data
object