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

## import_leads

Import rows or bulk-create leads into a lead list via email-keyed never-clear upserts; action selects import or bulk_create.

Use for JSON row imports (<=10,000) or the Add Lead bulk path; blank values never erase data.

Attio sync is available only for a single-lead bulk create and is gated on the outbound toggle.

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:import, lead:create

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"
    },
    "leadListId": {
      "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": [
        "import",
        "bulk_create"
      ]
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "acquisitionSource": {
            "type": "string",
            "maxLength": 256
          },
          "email": {
            "$ref": "#/$defs/EmailAddress"
          },
          "firstName": {
            "type": "string",
            "maxLength": 256
          },
          "lastName": {
            "type": "string",
            "maxLength": 256
          },
          "company": {
            "type": "string",
            "maxLength": 256
          },
          "city": {
            "type": "string",
            "maxLength": 256
          },
          "state": {
            "type": "string",
            "maxLength": 256
          },
          "country": {
            "type": "string",
            "maxLength": 256
          },
          "customFields": {
            "$ref": "#/$defs/LeadCustomFieldValues"
          },
          "emails": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/EmailAddress"
            }
          },
          "phones": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/ShortText"
            }
          },
          "ladder": {
            "type": "string",
            "maxLength": 256
          },
          "rank": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "email",
          "firstName",
          "lastName"
        ],
        "patternProperties": {
          "^(?!(?:acquisitionSource|email|firstName|lastName|company|city|state|country|customFields|emails|phones|ladder|rank)$)[\\s\\S]*$": false
        },
        "additionalProperties": true,
        "propertyNames": {
          "type": "string",
          "enum": [
            "acquisitionSource",
            "email",
            "firstName",
            "lastName",
            "company",
            "city",
            "state",
            "country",
            "customFields",
            "emails",
            "phones",
            "ladder",
            "rank"
          ]
        }
      },
      "maxItems": 10000
    },
    "leads": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "acquisitionSource": {
            "type": "string",
            "maxLength": 256
          },
          "email": {
            "$ref": "#/$defs/NonEmptyString"
          },
          "firstName": {
            "type": "string",
            "maxLength": 256
          },
          "lastName": {
            "type": "string",
            "maxLength": 256
          },
          "company": {
            "type": "string",
            "maxLength": 256
          },
          "city": {
            "type": "string",
            "maxLength": 256
          },
          "state": {
            "type": "string",
            "maxLength": 256
          },
          "country": {
            "type": "string",
            "maxLength": 256
          },
          "customFieldValues": {
            "$ref": "#/$defs/LeadCustomFieldValues"
          },
          "emails": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/EmailAddress"
            }
          },
          "phones": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/LeadPhoneValue"
            }
          },
          "ladder": {
            "$ref": "#/$defs/ShortText"
          },
          "rank": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "email",
          "firstName",
          "lastName"
        ],
        "patternProperties": {
          "^(?!(?:acquisitionSource|email|firstName|lastName|company|city|state|country|customFieldValues|emails|phones|ladder|rank)$)[\\s\\S]*$": false
        },
        "additionalProperties": true,
        "propertyNames": {
          "type": "string",
          "enum": [
            "acquisitionSource",
            "email",
            "firstName",
            "lastName",
            "company",
            "city",
            "state",
            "country",
            "customFieldValues",
            "emails",
            "phones",
            "ladder",
            "rank"
          ]
        }
      },
      "maxItems": 10000
    },
    "syncToAttio": {
      "type": "boolean"
    }
  },
  "required": [
    "workspaceId",
    "leadListId",
    "action"
  ],
  "patternProperties": {
    "^(?!(?:workspaceId|leadListId|action|rows|leads|syncToAttio)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "workspaceId",
      "leadListId",
      "action",
      "rows",
      "leads",
      "syncToAttio"
    ]
  },
  "$defs": {
    "EmailAddress": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320,
      "pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$"
    },
    "ShortText": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "LeadCustomFieldValues": {
      "type": "object",
      "additionalProperties": true
    },
    "NonEmptyString": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096
    },
    "LeadPhoneValue": {
      "type": "string",
      "minLength": 2,
      "maxLength": 32,
      "pattern": "^\\+?[0-9]+(;ext=[0-9]+)?$"
    }
  }
}
```

### 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"
    },
    "leadListId": {
      "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": [
        "import",
        "bulk_create"
      ]
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "acquisitionSource": {
            "type": "string",
            "maxLength": 256
          },
          "email": {
            "$ref": "#/$defs/EmailAddress"
          },
          "firstName": {
            "type": "string",
            "maxLength": 256
          },
          "lastName": {
            "type": "string",
            "maxLength": 256
          },
          "company": {
            "type": "string",
            "maxLength": 256
          },
          "city": {
            "type": "string",
            "maxLength": 256
          },
          "state": {
            "type": "string",
            "maxLength": 256
          },
          "country": {
            "type": "string",
            "maxLength": 256
          },
          "customFields": {
            "$ref": "#/$defs/LeadCustomFieldValues"
          },
          "emails": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/EmailAddress"
            }
          },
          "phones": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/ShortText"
            }
          },
          "ladder": {
            "type": "string",
            "maxLength": 256
          },
          "rank": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "email",
          "firstName",
          "lastName"
        ],
        "patternProperties": {
          "^(?!(?:acquisitionSource|email|firstName|lastName|company|city|state|country|customFields|emails|phones|ladder|rank)$)[\\s\\S]*$": false
        },
        "additionalProperties": true,
        "propertyNames": {
          "type": "string",
          "enum": [
            "acquisitionSource",
            "email",
            "firstName",
            "lastName",
            "company",
            "city",
            "state",
            "country",
            "customFields",
            "emails",
            "phones",
            "ladder",
            "rank"
          ]
        }
      },
      "maxItems": 10000
    },
    "leads": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "acquisitionSource": {
            "type": "string",
            "maxLength": 256
          },
          "email": {
            "$ref": "#/$defs/NonEmptyString"
          },
          "firstName": {
            "type": "string",
            "maxLength": 256
          },
          "lastName": {
            "type": "string",
            "maxLength": 256
          },
          "company": {
            "type": "string",
            "maxLength": 256
          },
          "city": {
            "type": "string",
            "maxLength": 256
          },
          "state": {
            "type": "string",
            "maxLength": 256
          },
          "country": {
            "type": "string",
            "maxLength": 256
          },
          "customFieldValues": {
            "$ref": "#/$defs/LeadCustomFieldValues"
          },
          "emails": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/EmailAddress"
            }
          },
          "phones": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/LeadPhoneValue"
            }
          },
          "ladder": {
            "$ref": "#/$defs/ShortText"
          },
          "rank": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "email",
          "firstName",
          "lastName"
        ],
        "patternProperties": {
          "^(?!(?:acquisitionSource|email|firstName|lastName|company|city|state|country|customFieldValues|emails|phones|ladder|rank)$)[\\s\\S]*$": false
        },
        "additionalProperties": true,
        "propertyNames": {
          "type": "string",
          "enum": [
            "acquisitionSource",
            "email",
            "firstName",
            "lastName",
            "company",
            "city",
            "state",
            "country",
            "customFieldValues",
            "emails",
            "phones",
            "ladder",
            "rank"
          ]
        }
      },
      "maxItems": 10000
    },
    "syncToAttio": {
      "type": "boolean"
    }
  },
  "required": [
    "workspaceId",
    "leadListId",
    "action"
  ],
  "patternProperties": {
    "^(?!(?:workspaceId|leadListId|action|rows|leads|syncToAttio)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "workspaceId",
      "leadListId",
      "action",
      "rows",
      "leads",
      "syncToAttio"
    ]
  },
  "$defs": {
    "EmailAddress": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320,
      "pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$"
    },
    "ShortText": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "LeadCustomFieldValues": {
      "type": "object",
      "additionalProperties": true
    },
    "NonEmptyString": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096
    },
    "LeadPhoneValue": {
      "type": "string",
      "minLength": 2,
      "maxLength": 32,
      "pattern": "^\\+?[0-9]+(;ext=[0-9]+)?$"
    }
  }
}
```

### Output schema (structuredContent)

```json
{
  "type": "object",
  "anyOf": [
    {
      "allOf": [
        {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "imported": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "imported"
              ],
              "patternProperties": {
                "^(?!(?:imported)$)[\\s\\S]*$": false
              },
              "additionalProperties": true,
              "propertyNames": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "imported"
                    ]
                  }
                ]
              }
            },
            {
              "type": "object",
              "properties": {
                "created": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "created"
              ],
              "patternProperties": {
                "^(?!(?:created)$)[\\s\\S]*$": false
              },
              "additionalProperties": true,
              "propertyNames": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "created"
                    ]
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "object"
        }
      ]
    },
    {
      "type": "object",
      "properties": {
        "data": {
          "allOf": [
            {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "imported": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    }
                  },
                  "required": [
                    "imported"
                  ],
                  "patternProperties": {
                    "^(?!(?:imported)$)[\\s\\S]*$": false
                  },
                  "additionalProperties": true,
                  "propertyNames": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "imported"
                        ]
                      }
                    ]
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "created": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    }
                  },
                  "required": [
                    "created"
                  ],
                  "patternProperties": {
                    "^(?!(?:created)$)[\\s\\S]*$": false
                  },
                  "additionalProperties": true,
                  "propertyNames": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "created"
                        ]
                      }
                    ]
                  }
                }
              ]
            },
            {
              "not": {
                "type": "object"
              }
            }
          ]
        }
      },
      "required": [
        "data"
      ],
      "additionalProperties": false
    }
  ]
}
```

### Underlying API operations

- `leads.import`: `POST /v1/workspaces/:workspaceId/leads/import`
- `leads.bulkCreate`: `POST /v1/workspaces/:workspaceId/leads/bulk`

