# 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)

## grant_support_access

Grant Scheduler Zero support a chosen subset of your permissions in one workspace for 24, 72 (default), or 168 hours.

Use only when the person asked for support to access this workspace and explicitly approved the exact permissions and period; pass confirmed: true.

Never grant on your own initiative or broader than the task needs. You cannot grant a permission you do not hold here. API keys cannot grant.

Obtain the user's explicit authorization before invoking a write or destructive action. This is a client interaction requirement, not a server-issued approval token.

Scopes: workspaceMember:invite

Risk: security_admin; confirmation: explicit; 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"
    },
    "permissions": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "agent:capabilities",
          "agent:identity",
          "agent:operations:cancel",
          "agent:operations:read",
          "analytics:export",
          "analytics:read",
          "apiKey:create",
          "apiKey:delete",
          "apiKey:read",
          "apiKey:update",
          "audit:read",
          "billing:manage",
          "billing:read",
          "blocklist:create",
          "blocklist:delete",
          "blocklist:read",
          "campaign:archive",
          "campaign:create",
          "campaign:delete",
          "campaign:launch",
          "campaign:pause",
          "campaign:read",
          "campaign:update",
          "dialer:assign_numbers",
          "dialer:assign_seats",
          "dialer:create",
          "dialer:delete",
          "dialer:dial",
          "dialer:manage_billing",
          "dialer:manage_number_health",
          "dialer:manage_numbers",
          "dialer:manage_numbers_self",
          "dialer:manage_voicemails",
          "dialer:read",
          "dialer:read_analytics",
          "dialer:read_numbers_all",
          "dialer:release_numbers",
          "dialer:update",
          "domain:manage_dns",
          "domain:purchase",
          "domain:read",
          "domain:transfer",
          "emailVerification:manage_credits",
          "emailVerification:manage_keys",
          "emailVerification:manage_sharing",
          "emailVerification:read",
          "emailVerification:verify",
          "inbox:connect",
          "inbox:create",
          "inbox:delete",
          "inbox:read",
          "inbox:update",
          "inbox:warmup_manage",
          "integration:create",
          "integration:delete",
          "integration:read",
          "integration:update",
          "lead:create",
          "lead:delete",
          "lead:export",
          "lead:import",
          "lead:read",
          "lead:update",
          "leadList:create",
          "leadList:delete",
          "leadList:read",
          "leadList:update",
          "org:delete",
          "orgAnalytics:read",
          "orgAnalytics:manage",
          "org:read",
          "org:update",
          "orgApiKey:manage",
          "orgMember:invite",
          "orgMember:read",
          "orgMember:remove",
          "orgMember:update",
          "phoneVerification:manage_keys",
          "phoneVerification:read",
          "phoneVerification:verify",
          "platform:operate",
          "replyLabel:create",
          "replyLabel:delete",
          "replyLabel:read",
          "replyLabel:update",
          "role:manage",
          "role:read",
          "sequence:create",
          "sequence:delete",
          "sequence:read",
          "sequence:update",
          "sql:manage_dashboards",
          "sql:query",
          "support:create",
          "support:read",
          "support:update",
          "tag:create",
          "tag:delete",
          "tag:read",
          "tag:update",
          "task:create",
          "task:delete",
          "task:read",
          "task:update",
          "template:create",
          "template:delete",
          "template:read",
          "template:update",
          "unibox:archive",
          "unibox:label",
          "unibox:read",
          "unibox:reply",
          "usage:read",
          "webhook:create",
          "webhook:delete",
          "webhook:read",
          "webhook:update",
          "whiteLabel:read",
          "whiteLabel:update",
          "workflow:create",
          "workflow:delete",
          "workflow:publish",
          "workflow:read",
          "workflow:run",
          "workflow:update",
          "workspace:create",
          "workspace:delete",
          "workspace:read",
          "workspace:transfer",
          "workspace:update",
          "workspaceMember:invite",
          "workspaceMember:read",
          "workspaceMember:remove",
          "workspaceMember:update"
        ]
      },
      "minItems": 1,
      "maxItems": 200
    },
    "durationHours": {
      "$ref": "#/$defs/SupportAccessDurationHours"
    },
    "reason": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "confirmed": {
      "type": "boolean",
      "enum": [
        true
      ]
    }
  },
  "required": [
    "workspaceId",
    "permissions",
    "confirmed"
  ],
  "patternProperties": {
    "^(?!(?:workspaceId|permissions|durationHours|reason|confirmed)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "workspaceId",
      "permissions",
      "durationHours",
      "reason",
      "confirmed"
    ]
  },
  "$defs": {
    "SupportAccessDurationHours": {
      "type": "number",
      "enum": [
        24,
        72,
        168
      ]
    }
  }
}
```

### 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"
    },
    "permissions": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "agent:capabilities",
          "agent:identity",
          "agent:operations:cancel",
          "agent:operations:read",
          "analytics:export",
          "analytics:read",
          "apiKey:create",
          "apiKey:delete",
          "apiKey:read",
          "apiKey:update",
          "audit:read",
          "billing:manage",
          "billing:read",
          "blocklist:create",
          "blocklist:delete",
          "blocklist:read",
          "campaign:archive",
          "campaign:create",
          "campaign:delete",
          "campaign:launch",
          "campaign:pause",
          "campaign:read",
          "campaign:update",
          "dialer:assign_numbers",
          "dialer:assign_seats",
          "dialer:create",
          "dialer:delete",
          "dialer:dial",
          "dialer:manage_billing",
          "dialer:manage_number_health",
          "dialer:manage_numbers",
          "dialer:manage_numbers_self",
          "dialer:manage_voicemails",
          "dialer:read",
          "dialer:read_analytics",
          "dialer:read_numbers_all",
          "dialer:release_numbers",
          "dialer:update",
          "domain:manage_dns",
          "domain:purchase",
          "domain:read",
          "domain:transfer",
          "emailVerification:manage_credits",
          "emailVerification:manage_keys",
          "emailVerification:manage_sharing",
          "emailVerification:read",
          "emailVerification:verify",
          "inbox:connect",
          "inbox:create",
          "inbox:delete",
          "inbox:read",
          "inbox:update",
          "inbox:warmup_manage",
          "integration:create",
          "integration:delete",
          "integration:read",
          "integration:update",
          "lead:create",
          "lead:delete",
          "lead:export",
          "lead:import",
          "lead:read",
          "lead:update",
          "leadList:create",
          "leadList:delete",
          "leadList:read",
          "leadList:update",
          "org:delete",
          "orgAnalytics:read",
          "orgAnalytics:manage",
          "org:read",
          "org:update",
          "orgApiKey:manage",
          "orgMember:invite",
          "orgMember:read",
          "orgMember:remove",
          "orgMember:update",
          "phoneVerification:manage_keys",
          "phoneVerification:read",
          "phoneVerification:verify",
          "platform:operate",
          "replyLabel:create",
          "replyLabel:delete",
          "replyLabel:read",
          "replyLabel:update",
          "role:manage",
          "role:read",
          "sequence:create",
          "sequence:delete",
          "sequence:read",
          "sequence:update",
          "sql:manage_dashboards",
          "sql:query",
          "support:create",
          "support:read",
          "support:update",
          "tag:create",
          "tag:delete",
          "tag:read",
          "tag:update",
          "task:create",
          "task:delete",
          "task:read",
          "task:update",
          "template:create",
          "template:delete",
          "template:read",
          "template:update",
          "unibox:archive",
          "unibox:label",
          "unibox:read",
          "unibox:reply",
          "usage:read",
          "webhook:create",
          "webhook:delete",
          "webhook:read",
          "webhook:update",
          "whiteLabel:read",
          "whiteLabel:update",
          "workflow:create",
          "workflow:delete",
          "workflow:publish",
          "workflow:read",
          "workflow:run",
          "workflow:update",
          "workspace:create",
          "workspace:delete",
          "workspace:read",
          "workspace:transfer",
          "workspace:update",
          "workspaceMember:invite",
          "workspaceMember:read",
          "workspaceMember:remove",
          "workspaceMember:update"
        ]
      },
      "minItems": 1,
      "maxItems": 200
    },
    "durationHours": {
      "$ref": "#/$defs/SupportAccessDurationHours"
    },
    "reason": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "confirmed": {
      "type": "boolean",
      "enum": [
        true
      ]
    }
  },
  "required": [
    "workspaceId",
    "permissions",
    "confirmed"
  ],
  "patternProperties": {
    "^(?!(?:workspaceId|permissions|durationHours|reason|confirmed)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "workspaceId",
      "permissions",
      "durationHours",
      "reason",
      "confirmed"
    ]
  },
  "$defs": {
    "SupportAccessDurationHours": {
      "type": "number",
      "enum": [
        24,
        72,
        168
      ]
    }
  }
}
```

### Output schema (structuredContent)

```json
{
  "$defs": {
    "SupportAccessGrantId": {
      "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"
    },
    "SupportAccessStatus": {
      "type": "string",
      "enum": [
        "active",
        "expired",
        "revoked"
      ]
    },
    "SupportAccessDurationHours": {
      "type": "number",
      "enum": [
        24,
        72,
        168
      ]
    },
    "SupportAccessPerson": {
      "type": "object",
      "properties": {
        "userId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "userId",
        "email"
      ],
      "patternProperties": {
        "^(?!(?:userId|email)$)[\\s\\S]*$": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "type": "string",
        "enum": [
          "userId",
          "email"
        ]
      }
    },
    "UtcDateTimeEncoded": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
    },
    "SupportAccessGrant": {
      "type": "object",
      "properties": {
        "id": {
          "$ref": "#/$defs/SupportAccessGrantId"
        },
        "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"
        },
        "status": {
          "$ref": "#/$defs/SupportAccessStatus"
        },
        "permissions": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "agent:capabilities",
              "agent:identity",
              "agent:operations:cancel",
              "agent:operations:read",
              "analytics:export",
              "analytics:read",
              "apiKey:create",
              "apiKey:delete",
              "apiKey:read",
              "apiKey:update",
              "audit:read",
              "billing:manage",
              "billing:read",
              "blocklist:create",
              "blocklist:delete",
              "blocklist:read",
              "campaign:archive",
              "campaign:create",
              "campaign:delete",
              "campaign:launch",
              "campaign:pause",
              "campaign:read",
              "campaign:update",
              "dialer:assign_numbers",
              "dialer:assign_seats",
              "dialer:create",
              "dialer:delete",
              "dialer:dial",
              "dialer:manage_billing",
              "dialer:manage_number_health",
              "dialer:manage_numbers",
              "dialer:manage_numbers_self",
              "dialer:manage_voicemails",
              "dialer:read",
              "dialer:read_analytics",
              "dialer:read_numbers_all",
              "dialer:release_numbers",
              "dialer:update",
              "domain:manage_dns",
              "domain:purchase",
              "domain:read",
              "domain:transfer",
              "emailVerification:manage_credits",
              "emailVerification:manage_keys",
              "emailVerification:manage_sharing",
              "emailVerification:read",
              "emailVerification:verify",
              "inbox:connect",
              "inbox:create",
              "inbox:delete",
              "inbox:read",
              "inbox:update",
              "inbox:warmup_manage",
              "integration:create",
              "integration:delete",
              "integration:read",
              "integration:update",
              "lead:create",
              "lead:delete",
              "lead:export",
              "lead:import",
              "lead:read",
              "lead:update",
              "leadList:create",
              "leadList:delete",
              "leadList:read",
              "leadList:update",
              "org:delete",
              "orgAnalytics:read",
              "orgAnalytics:manage",
              "org:read",
              "org:update",
              "orgApiKey:manage",
              "orgMember:invite",
              "orgMember:read",
              "orgMember:remove",
              "orgMember:update",
              "phoneVerification:manage_keys",
              "phoneVerification:read",
              "phoneVerification:verify",
              "platform:operate",
              "replyLabel:create",
              "replyLabel:delete",
              "replyLabel:read",
              "replyLabel:update",
              "role:manage",
              "role:read",
              "sequence:create",
              "sequence:delete",
              "sequence:read",
              "sequence:update",
              "sql:manage_dashboards",
              "sql:query",
              "support:create",
              "support:read",
              "support:update",
              "tag:create",
              "tag:delete",
              "tag:read",
              "tag:update",
              "task:create",
              "task:delete",
              "task:read",
              "task:update",
              "template:create",
              "template:delete",
              "template:read",
              "template:update",
              "unibox:archive",
              "unibox:label",
              "unibox:read",
              "unibox:reply",
              "usage:read",
              "webhook:create",
              "webhook:delete",
              "webhook:read",
              "webhook:update",
              "whiteLabel:read",
              "whiteLabel:update",
              "workflow:create",
              "workflow:delete",
              "workflow:publish",
              "workflow:read",
              "workflow:run",
              "workflow:update",
              "workspace:create",
              "workspace:delete",
              "workspace:read",
              "workspace:transfer",
              "workspace:update",
              "workspaceMember:invite",
              "workspaceMember:read",
              "workspaceMember:remove",
              "workspaceMember:update"
            ]
          }
        },
        "durationHours": {
          "$ref": "#/$defs/SupportAccessDurationHours"
        },
        "reason": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 1000
            },
            {
              "type": "null"
            }
          ]
        },
        "grantedBy": {
          "$ref": "#/$defs/SupportAccessPerson"
        },
        "createdAt": {
          "$ref": "#/$defs/UtcDateTimeEncoded"
        },
        "expiresAt": {
          "$ref": "#/$defs/UtcDateTimeEncoded"
        },
        "revokedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/UtcDateTimeEncoded"
            },
            {
              "type": "null"
            }
          ]
        },
        "revokedBy": {
          "anyOf": [
            {
              "$ref": "#/$defs/SupportAccessPerson"
            },
            {
              "type": "null"
            }
          ]
        },
        "lastUsedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/UtcDateTimeEncoded"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "workspaceId",
        "status",
        "permissions",
        "durationHours",
        "reason",
        "grantedBy",
        "createdAt",
        "expiresAt",
        "revokedAt",
        "revokedBy",
        "lastUsedAt"
      ],
      "patternProperties": {
        "^(?!(?:id|workspaceId|status|permissions|durationHours|reason|grantedBy|createdAt|expiresAt|revokedAt|revokedBy|lastUsedAt)$)[\\s\\S]*$": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "type": "string",
        "enum": [
          "id",
          "workspaceId",
          "status",
          "permissions",
          "durationHours",
          "reason",
          "grantedBy",
          "createdAt",
          "expiresAt",
          "revokedAt",
          "revokedBy",
          "lastUsedAt"
        ]
      }
    }
  },
  "type": "object",
  "anyOf": [
    {
      "allOf": [
        {
          "$ref": "#/$defs/SupportAccessGrant"
        },
        {
          "type": "object"
        }
      ]
    },
    {
      "type": "object",
      "properties": {
        "data": {
          "allOf": [
            {
              "$ref": "#/$defs/SupportAccessGrant"
            },
            {
              "not": {
                "type": "object"
              }
            }
          ]
        }
      },
      "required": [
        "data"
      ],
      "additionalProperties": false
    }
  ]
}
```

### Underlying API operations

- `supportAccess.grant`: `POST /v1/workspaces/:workspaceId/support-access`

