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

## inspect_dialer_retention_eligibility

Read whether the dialer add-on is eligible for its one-time retention offer.

Use when a person asks whether the named product has an offboarding discount available.

This only reads eligibility. A person in the web app must accept an offer or cancel a product.

Scopes: dialer:manage_billing

Risk: read; confirmation: none; idempotency: none.

### 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"
    }
  },
  "required": [
    "workspaceId"
  ],
  "patternProperties": {
    "^(?!(?:workspaceId)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "anyOf": [
      {
        "type": "string",
        "enum": [
          "workspaceId"
        ]
      }
    ]
  }
}
```

### 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"
    }
  },
  "required": [
    "workspaceId"
  ],
  "patternProperties": {
    "^(?!(?:workspaceId)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "anyOf": [
      {
        "type": "string",
        "enum": [
          "workspaceId"
        ]
      }
    ]
  }
}
```

### Output schema (structuredContent)

```json
{
  "type": "object",
  "properties": {
    "eligible": {
      "type": "boolean"
    },
    "label": {
      "$ref": "#/$defs/ShortText"
    },
    "discountPercent": {
      "type": "number",
      "enum": [
        30
      ]
    },
    "discountMonths": {
      "type": "number",
      "enum": [
        2
      ]
    }
  },
  "required": [
    "eligible",
    "label",
    "discountPercent",
    "discountMonths"
  ],
  "patternProperties": {
    "^(?!(?:eligible|label|discountPercent|discountMonths)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "eligible",
      "label",
      "discountPercent",
      "discountMonths"
    ]
  },
  "$defs": {
    "ShortText": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    }
  }
}
```

### Underlying API operations

- `billing.retentionEligibility`: `GET /v1/organizations/:organizationId/billing/retention-eligibility`

