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

## push_lead_to_attio

Push one lead to its Attio person record now, as a durable job — creating the person on first push and refreshing it afterwards.

Use when the customer asks for a specific lead to appear or refresh in Attio, including while automatic lead sync is off. Poll the handle, then read the lead link for the record URL or the last push error.

Requires a usable Attio connection with record write grants. It never runs inline and never pushes more than the one lead; bulk imports never auto-push.

Scopes: integration:update, lead:read

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

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

### Output schema (structuredContent)

```json
{
  "type": "object",
  "properties": {
    "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"
    },
    "statusUrl": {
      "anyOf": [
        {
          "$ref": "#/$defs/HttpUrl"
        },
        {
          "$ref": "#/$defs/HttpResourcePath"
        }
      ]
    },
    "state": {
      "type": "string",
      "enum": [
        "queued",
        "running",
        "waiting_for_user",
        "succeeded",
        "partially_succeeded",
        "failed",
        "canceled",
        "canceling"
      ]
    },
    "acceptedAt": {
      "$ref": "#/$defs/UtcDateTimeEncoded"
    },
    "progress": {
      "type": "object",
      "properties": {
        "completed": {
          "type": "integer",
          "minimum": 0
        },
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "message": {
          "$ref": "#/$defs/NonEmptyString"
        }
      },
      "required": [
        "completed"
      ],
      "patternProperties": {
        "^(?!(?:completed|total|message)$)[\\s\\S]*$": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "type": "string",
        "enum": [
          "completed",
          "total",
          "message"
        ]
      }
    },
    "canCancel": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "statusUrl",
    "state",
    "acceptedAt",
    "canCancel"
  ],
  "patternProperties": {
    "^(?!(?:id|statusUrl|state|acceptedAt|progress|canCancel)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "id",
      "statusUrl",
      "state",
      "acceptedAt",
      "progress",
      "canCancel"
    ]
  },
  "$defs": {
    "HttpUrl": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "pattern": "^https?:\\/\\/[^\\s/$.?#][^\\s]*$"
    },
    "HttpResourcePath": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "pattern": "^\\/[A-Za-z0-9._~!$&'()*+,;=:@/%-]*$"
    },
    "UtcDateTimeEncoded": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
    },
    "NonEmptyString": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096
    }
  }
}
```

### Underlying API operations

- `attioOutbound.pushLead`: `POST /v1/workspaces/:workspaceId/integrations/attio/leads/:leadId/push`

