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

## manage_dialer_billing

Read the dialer add-on's plan, seats, and metered minutes, and start a hosted checkout when more are needed.

Use to report what the workspace is paying for and how much it has used, and to hand a human the checkout link when seats run out.

The payment itself is completed by a person on the provider's hosted page; no card details pass through this API. Do not use it to cancel — that is its own capability.

Return the authorization or checkout handoff to the person. The agent may initiate and inspect status, but must not complete the human approval.

Scopes: dialer:manage_billing

Risk: costly; 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"
    },
    "action": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "status"
              ]
            }
          },
          "required": [
            "kind"
          ],
          "patternProperties": {
            "^(?!(?:kind)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "kind"
                ]
              }
            ]
          }
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "usage"
              ]
            }
          },
          "required": [
            "kind"
          ],
          "patternProperties": {
            "^(?!(?:kind)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "kind"
                ]
              }
            ]
          }
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "checkout"
              ]
            },
            "checkout": {
              "type": "object",
              "properties": {
                "plan": {
                  "type": "string",
                  "enum": [
                    "dialer_5",
                    "dialer_10"
                  ]
                },
                "seatCount": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 500
                },
                "successUrl": {
                  "$ref": "#/$defs/HttpUrl"
                },
                "cancelUrl": {
                  "$ref": "#/$defs/HttpUrl"
                }
              },
              "required": [
                "plan",
                "seatCount",
                "successUrl",
                "cancelUrl"
              ],
              "patternProperties": {
                "^(?!(?:plan|seatCount|successUrl|cancelUrl)$)[\\s\\S]*$": false
              },
              "additionalProperties": true,
              "propertyNames": {
                "type": "string",
                "enum": [
                  "plan",
                  "seatCount",
                  "successUrl",
                  "cancelUrl"
                ]
              }
            }
          },
          "required": [
            "kind",
            "checkout"
          ],
          "patternProperties": {
            "^(?!(?:kind|checkout)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "type": "string",
            "enum": [
              "kind",
              "checkout"
            ]
          }
        }
      ]
    }
  },
  "required": [
    "workspaceId",
    "action"
  ],
  "patternProperties": {
    "^(?!(?:workspaceId|action)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "workspaceId",
      "action"
    ]
  },
  "$defs": {
    "HttpUrl": {
      "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"
    },
    "action": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "status"
              ]
            }
          },
          "required": [
            "kind"
          ],
          "patternProperties": {
            "^(?!(?:kind)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "kind"
                ]
              }
            ]
          }
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "usage"
              ]
            }
          },
          "required": [
            "kind"
          ],
          "patternProperties": {
            "^(?!(?:kind)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "kind"
                ]
              }
            ]
          }
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "checkout"
              ]
            },
            "checkout": {
              "type": "object",
              "properties": {
                "plan": {
                  "type": "string",
                  "enum": [
                    "dialer_5",
                    "dialer_10"
                  ]
                },
                "seatCount": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 500
                },
                "successUrl": {
                  "$ref": "#/$defs/HttpUrl"
                },
                "cancelUrl": {
                  "$ref": "#/$defs/HttpUrl"
                }
              },
              "required": [
                "plan",
                "seatCount",
                "successUrl",
                "cancelUrl"
              ],
              "patternProperties": {
                "^(?!(?:plan|seatCount|successUrl|cancelUrl)$)[\\s\\S]*$": false
              },
              "additionalProperties": true,
              "propertyNames": {
                "type": "string",
                "enum": [
                  "plan",
                  "seatCount",
                  "successUrl",
                  "cancelUrl"
                ]
              }
            }
          },
          "required": [
            "kind",
            "checkout"
          ],
          "patternProperties": {
            "^(?!(?:kind|checkout)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "type": "string",
            "enum": [
              "kind",
              "checkout"
            ]
          }
        }
      ]
    }
  },
  "required": [
    "workspaceId",
    "action"
  ],
  "patternProperties": {
    "^(?!(?:workspaceId|action)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "workspaceId",
      "action"
    ]
  },
  "$defs": {
    "HttpUrl": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "pattern": "^https?:\\/\\/[^\\s/$.?#][^\\s]*$"
    }
  }
}
```

### Output schema (structuredContent)

```json
{
  "$defs": {
    "UtcDateTimeEncoded": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
    },
    "HttpUrl": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "pattern": "^https?:\\/\\/[^\\s/$.?#][^\\s]*$"
    }
  },
  "type": "object",
  "anyOf": [
    {
      "allOf": [
        {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "active": {
                  "type": "boolean"
                },
                "cancelAtPeriodEnd": {
                  "type": "boolean"
                },
                "plan": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "dialer_5",
                        "dialer_10"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "purchasedSeats": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "assignedSeats": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "numbersPerSeat": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "active",
                "cancelAtPeriodEnd",
                "plan",
                "purchasedSeats",
                "assignedSeats",
                "numbersPerSeat"
              ],
              "patternProperties": {
                "^(?!(?:active|cancelAtPeriodEnd|plan|purchasedSeats|assignedSeats|numbersPerSeat)$)[\\s\\S]*$": false
              },
              "additionalProperties": true,
              "propertyNames": {
                "type": "string",
                "enum": [
                  "active",
                  "cancelAtPeriodEnd",
                  "plan",
                  "purchasedSeats",
                  "assignedSeats",
                  "numbersPerSeat"
                ]
              }
            },
            {
              "type": "object",
              "properties": {
                "minutesUsed": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "periodStart": {
                  "$ref": "#/$defs/UtcDateTimeEncoded"
                },
                "periodEnd": {
                  "$ref": "#/$defs/UtcDateTimeEncoded"
                }
              },
              "required": [
                "minutesUsed",
                "periodStart",
                "periodEnd"
              ],
              "patternProperties": {
                "^(?!(?:minutesUsed|periodStart|periodEnd)$)[\\s\\S]*$": false
              },
              "additionalProperties": true,
              "propertyNames": {
                "type": "string",
                "enum": [
                  "minutesUsed",
                  "periodStart",
                  "periodEnd"
                ]
              }
            },
            {
              "type": "object",
              "properties": {
                "checkoutUrl": {
                  "$ref": "#/$defs/HttpUrl"
                }
              },
              "required": [
                "checkoutUrl"
              ],
              "patternProperties": {
                "^(?!(?:checkoutUrl)$)[\\s\\S]*$": false
              },
              "additionalProperties": true,
              "propertyNames": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "checkoutUrl"
                    ]
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "object"
        }
      ]
    },
    {
      "type": "object",
      "properties": {
        "data": {
          "allOf": [
            {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "active": {
                      "type": "boolean"
                    },
                    "cancelAtPeriodEnd": {
                      "type": "boolean"
                    },
                    "plan": {
                      "anyOf": [
                        {
                          "type": "string",
                          "enum": [
                            "dialer_5",
                            "dialer_10"
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "purchasedSeats": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    "assignedSeats": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    "numbersPerSeat": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    }
                  },
                  "required": [
                    "active",
                    "cancelAtPeriodEnd",
                    "plan",
                    "purchasedSeats",
                    "assignedSeats",
                    "numbersPerSeat"
                  ],
                  "patternProperties": {
                    "^(?!(?:active|cancelAtPeriodEnd|plan|purchasedSeats|assignedSeats|numbersPerSeat)$)[\\s\\S]*$": false
                  },
                  "additionalProperties": true,
                  "propertyNames": {
                    "type": "string",
                    "enum": [
                      "active",
                      "cancelAtPeriodEnd",
                      "plan",
                      "purchasedSeats",
                      "assignedSeats",
                      "numbersPerSeat"
                    ]
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "minutesUsed": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    "periodStart": {
                      "$ref": "#/$defs/UtcDateTimeEncoded"
                    },
                    "periodEnd": {
                      "$ref": "#/$defs/UtcDateTimeEncoded"
                    }
                  },
                  "required": [
                    "minutesUsed",
                    "periodStart",
                    "periodEnd"
                  ],
                  "patternProperties": {
                    "^(?!(?:minutesUsed|periodStart|periodEnd)$)[\\s\\S]*$": false
                  },
                  "additionalProperties": true,
                  "propertyNames": {
                    "type": "string",
                    "enum": [
                      "minutesUsed",
                      "periodStart",
                      "periodEnd"
                    ]
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "checkoutUrl": {
                      "$ref": "#/$defs/HttpUrl"
                    }
                  },
                  "required": [
                    "checkoutUrl"
                  ],
                  "patternProperties": {
                    "^(?!(?:checkoutUrl)$)[\\s\\S]*$": false
                  },
                  "additionalProperties": true,
                  "propertyNames": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "checkoutUrl"
                        ]
                      }
                    ]
                  }
                }
              ]
            },
            {
              "not": {
                "type": "object"
              }
            }
          ]
        }
      },
      "required": [
        "data"
      ],
      "additionalProperties": false
    }
  ]
}
```

### Underlying API operations

- `dialerBilling.status`: `GET /v1/workspaces/:workspaceId/dialer/billing/status`
- `dialerBilling.usage`: `GET /v1/workspaces/:workspaceId/dialer/billing/usage`
- `dialerBilling.checkout`: `POST /v1/workspaces/:workspaceId/dialer/billing/checkout`

