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

Mark contact points bad/active (action=set_status) or reorder them (action=reorder); position 1 is the scalar mirror.

Use to correct bad contact data or reprioritize outreach order on one lead.

Reactivation of a call_disposition phone restores dialer wrong-number state — it is not silent.

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: lead:update

Risk: write; 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"
    },
    "leadId": {
      "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": {
      "type": "string",
      "enum": [
        "set_status",
        "reorder"
      ]
    },
    "kind": {
      "type": "string",
      "enum": [
        "email",
        "phone"
      ]
    },
    "id": {
      "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": {
      "type": "string",
      "enum": [
        "active",
        "bad"
      ]
    },
    "orderedIds": {
      "type": "array",
      "items": {
        "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",
    "leadId",
    "action",
    "kind"
  ],
  "patternProperties": {
    "^(?!(?:workspaceId|leadId|action|kind|id|status|orderedIds)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "workspaceId",
      "leadId",
      "action",
      "kind",
      "id",
      "status",
      "orderedIds"
    ]
  }
}
```

### 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"
    },
    "leadId": {
      "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": {
      "type": "string",
      "enum": [
        "set_status",
        "reorder"
      ]
    },
    "kind": {
      "type": "string",
      "enum": [
        "email",
        "phone"
      ]
    },
    "id": {
      "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": {
      "type": "string",
      "enum": [
        "active",
        "bad"
      ]
    },
    "orderedIds": {
      "type": "array",
      "items": {
        "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",
    "leadId",
    "action",
    "kind"
  ],
  "patternProperties": {
    "^(?!(?:workspaceId|leadId|action|kind|id|status|orderedIds)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "workspaceId",
      "leadId",
      "action",
      "kind",
      "id",
      "status",
      "orderedIds"
    ]
  }
}
```

### Output schema (structuredContent)

```json
{
  "type": "object",
  "properties": {
    "success": {
      "anyOf": [
        {
          "type": "boolean",
          "enum": [
            true
          ]
        }
      ]
    }
  },
  "required": [
    "success"
  ],
  "patternProperties": {
    "^(?!(?:success)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "anyOf": [
      {
        "type": "string",
        "enum": [
          "success"
        ]
      }
    ]
  }
}
```

### Underlying API operations

- `leads.setContactPointStatus`: `POST /v1/workspaces/:workspaceId/leads/:leadId/contact-points/status`
- `leads.reorderContactPoints`: `POST /v1/workspaces/:workspaceId/leads/:leadId/contact-points/reorder`

