connect_workflow_integration
Start connecting an app — or a customer's own MCP server — that an agent block may later call, and hand back the authorization URL a person opens to finish it.
# MCP tool reference
1 callable tools.
Use tools/call at https://mcp.schedulerzero.com/mcp with the exact tool name and arguments below. The /tools/ paths in this view are documentation identifiers, not HTTP endpoints. Request execution is disabled for this reference.
Inputs are shown for personal API keys (bound) and for OAuth/delegated agents. Output schemas describe MCP structuredContent: native objects pass through; arrays, scalars and null use a data wrapper. Text content retains the native JSON result.
[Connect a client](/mcp/connect) · [Authentication and authorization](/authentication) · [Generated auth guide](/auth.md) · [Download tool catalog](/mcp-catalog.json) · [Agent documentation](/llms.txt)
## connect_workflow_integration
Start connecting an app — or a customer's own MCP server — that an agent block may later call, and hand back the authorization URL a person opens to finish it.
Use when a graph needs an app this workspace has not authorized yet. The agent proposes the connection and the person authorizes it; poll the MCP server list to see when the authorization lands.
The agent never sees or carries the authorization itself — the provider issues it to the person who opens the URL. A no-auth toolkit finishes without a URL, which the result states rather than leaving you to infer from a null. Connecting is disabled on preview deployments, which share real customer accounts.
Return the authorization or checkout handoff to the person. The agent may initiate and inspect status, but must not complete the human approval.
Scopes: integration:create, integration:read
Risk: security_admin; confirmation: human_completion; idempotency: supported.
### Input schema (personal API key)
```json
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"connect": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"app"
]
},
"name": {
"$ref": "#/$defs/ShortText"
},
"toolkitSlug": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_-]+$"
}
},
"required": [
"kind",
"name",
"toolkitSlug"
],
"patternProperties": {
"^(?!(?:kind|name|toolkitSlug)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"name",
"toolkitSlug"
]
}
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"custom"
]
},
"name": {
"$ref": "#/$defs/ShortText"
},
"url": {
"$ref": "#/$defs/HttpsUrl"
},
"auth": {
"type": "string",
"enum": [
"no_auth",
"api_key",
"dcr_oauth"
]
},
"discoveryUrl": {
"$ref": "#/$defs/HttpsUrl"
},
"headerName": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9-]+$"
},
"headerPrefix": {
"type": "string",
"maxLength": 50,
"pattern": "^[^\\r\\n]*$"
}
},
"required": [
"kind",
"name",
"url",
"auth"
],
"patternProperties": {
"^(?!(?:kind|name|url|auth|discoveryUrl|headerName|headerPrefix)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"name",
"url",
"auth",
"discoveryUrl",
"headerName",
"headerPrefix"
]
}
}
]
}
},
"required": [
"workspaceId",
"connect"
],
"patternProperties": {
"^(?!(?:workspaceId|connect)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"connect"
]
},
"$defs": {
"ShortText": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"HttpsUrl": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"pattern": "^https?:\\/\\/[^\\s/$.?#][^\\s]*$"
}
}
}
```
### Input schema (OAuth / delegated agent)
```json
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"connect": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"app"
]
},
"name": {
"$ref": "#/$defs/ShortText"
},
"toolkitSlug": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_-]+$"
}
},
"required": [
"kind",
"name",
"toolkitSlug"
],
"patternProperties": {
"^(?!(?:kind|name|toolkitSlug)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"name",
"toolkitSlug"
]
}
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"custom"
]
},
"name": {
"$ref": "#/$defs/ShortText"
},
"url": {
"$ref": "#/$defs/HttpsUrl"
},
"auth": {
"type": "string",
"enum": [
"no_auth",
"api_key",
"dcr_oauth"
]
},
"discoveryUrl": {
"$ref": "#/$defs/HttpsUrl"
},
"headerName": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9-]+$"
},
"headerPrefix": {
"type": "string",
"maxLength": 50,
"pattern": "^[^\\r\\n]*$"
}
},
"required": [
"kind",
"name",
"url",
"auth"
],
"patternProperties": {
"^(?!(?:kind|name|url|auth|discoveryUrl|headerName|headerPrefix)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"name",
"url",
"auth",
"discoveryUrl",
"headerName",
"headerPrefix"
]
}
}
]
}
},
"required": [
"workspaceId",
"connect"
],
"patternProperties": {
"^(?!(?:workspaceId|connect)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"connect"
]
},
"$defs": {
"ShortText": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"HttpsUrl": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"pattern": "^https?:\\/\\/[^\\s/$.?#][^\\s]*$"
}
}
}
```
### Output schema (structuredContent)
```json
{
"$defs": {
"WorkflowMcpServerId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"HttpUrl": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"pattern": "^https?:\\/\\/[^\\s/$.?#][^\\s]*$"
},
"ShortText": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"UtcDateTimeEncoded": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
}
},
"type": "object",
"anyOf": [
{
"allOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/WorkflowMcpServerId"
},
"requiresAuthorization": {
"type": "boolean"
},
"redirectUrl": {
"anyOf": [
{
"$ref": "#/$defs/HttpUrl"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"requiresAuthorization",
"redirectUrl"
],
"patternProperties": {
"^(?!(?:id|requiresAuthorization|redirectUrl)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"requiresAuthorization",
"redirectUrl"
]
}
},
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/WorkflowMcpServerId"
},
"name": {
"$ref": "#/$defs/ShortText"
},
"url": {
"$ref": "#/$defs/HttpUrl"
},
"composio": {
"anyOf": [
{
"type": "object",
"properties": {
"toolkitSlug": {
"$ref": "#/$defs/ShortText"
},
"custom": {
"type": "boolean"
},
"noAuth": {
"type": "boolean"
},
"authorizationPending": {
"type": "boolean"
}
},
"required": [
"toolkitSlug",
"custom",
"noAuth",
"authorizationPending"
],
"patternProperties": {
"^(?!(?:toolkitSlug|custom|noAuth|authorizationPending)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"toolkitSlug",
"custom",
"noAuth",
"authorizationPending"
]
}
},
{
"type": "null"
}
]
},
"allowedToolNames": {
"type": "array",
"items": {
"$ref": "#/$defs/ShortText"
},
"maxItems": 40
},
"active": {
"type": "boolean"
},
"authorizationConfigured": {
"type": "boolean"
},
"credentialRefId": {
"anyOf": [
{
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
{
"type": "null"
}
]
},
"lastValidatedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"createdAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"updatedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
}
},
"required": [
"id",
"name",
"url",
"composio",
"allowedToolNames",
"active",
"authorizationConfigured",
"credentialRefId",
"lastValidatedAt",
"createdAt",
"updatedAt"
],
"patternProperties": {
"^(?!(?:id|name|url|composio|allowedToolNames|active|authorizationConfigured|credentialRefId|lastValidatedAt|createdAt|updatedAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"name",
"url",
"composio",
"allowedToolNames",
"active",
"authorizationConfigured",
"credentialRefId",
"lastValidatedAt",
"createdAt",
"updatedAt"
]
}
},
"maxItems": 200
}
},
"required": [
"items"
],
"patternProperties": {
"^(?!(?:items)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"items"
]
}
]
}
}
]
},
{
"type": "object"
}
]
},
{
"type": "object",
"properties": {
"data": {
"allOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/WorkflowMcpServerId"
},
"requiresAuthorization": {
"type": "boolean"
},
"redirectUrl": {
"anyOf": [
{
"$ref": "#/$defs/HttpUrl"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"requiresAuthorization",
"redirectUrl"
],
"patternProperties": {
"^(?!(?:id|requiresAuthorization|redirectUrl)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"requiresAuthorization",
"redirectUrl"
]
}
},
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/WorkflowMcpServerId"
},
"name": {
"$ref": "#/$defs/ShortText"
},
"url": {
"$ref": "#/$defs/HttpUrl"
},
"composio": {
"anyOf": [
{
"type": "object",
"properties": {
"toolkitSlug": {
"$ref": "#/$defs/ShortText"
},
"custom": {
"type": "boolean"
},
"noAuth": {
"type": "boolean"
},
"authorizationPending": {
"type": "boolean"
}
},
"required": [
"toolkitSlug",
"custom",
"noAuth",
"authorizationPending"
],
"patternProperties": {
"^(?!(?:toolkitSlug|custom|noAuth|authorizationPending)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"toolkitSlug",
"custom",
"noAuth",
"authorizationPending"
]
}
},
{
"type": "null"
}
]
},
"allowedToolNames": {
"type": "array",
"items": {
"$ref": "#/$defs/ShortText"
},
"maxItems": 40
},
"active": {
"type": "boolean"
},
"authorizationConfigured": {
"type": "boolean"
},
"credentialRefId": {
"anyOf": [
{
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
{
"type": "null"
}
]
},
"lastValidatedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"createdAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"updatedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
}
},
"required": [
"id",
"name",
"url",
"composio",
"allowedToolNames",
"active",
"authorizationConfigured",
"credentialRefId",
"lastValidatedAt",
"createdAt",
"updatedAt"
],
"patternProperties": {
"^(?!(?:id|name|url|composio|allowedToolNames|active|authorizationConfigured|credentialRefId|lastValidatedAt|createdAt|updatedAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"name",
"url",
"composio",
"allowedToolNames",
"active",
"authorizationConfigured",
"credentialRefId",
"lastValidatedAt",
"createdAt",
"updatedAt"
]
}
},
"maxItems": 200
}
},
"required": [
"items"
],
"patternProperties": {
"^(?!(?:items)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"items"
]
}
]
}
}
]
},
{
"not": {
"type": "object"
}
}
]
}
},
"required": [
"data"
],
"additionalProperties": false
}
]
}
```
### Underlying API operations
- `workflowIntegrations.connect`: `POST /v1/workspaces/:workspaceId/workflows/integrations/apps`
- `workflowMcpServers.list`: `GET /v1/workspaces/:workspaceId/workflows/mcp-servers`