assign_leads
Assign a campaign contact to a workspace member (action=assign) or remove the assignment (action=remove).
# 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)
## assign_leads
Assign a campaign contact to a workspace member (action=assign) or remove the assignment (action=remove).
Use to route a campaign contact; assign requires a current member, remove deliberately does not.
Removal is idempotent and never fails for stale assignments — do not pre-check membership.
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"
},
"action": {
"type": "string",
"enum": [
"assign",
"remove"
]
},
"campaignContactId": {
"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"
},
"assigneeUserId": {
"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",
"action",
"campaignContactId",
"assigneeUserId"
],
"patternProperties": {
"^(?!(?:workspaceId|action|campaignContactId|assigneeUserId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"action",
"campaignContactId",
"assigneeUserId"
]
}
}
```
### 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": {
"type": "string",
"enum": [
"assign",
"remove"
]
},
"campaignContactId": {
"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"
},
"assigneeUserId": {
"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",
"action",
"campaignContactId",
"assigneeUserId"
],
"patternProperties": {
"^(?!(?:workspaceId|action|campaignContactId|assigneeUserId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"action",
"campaignContactId",
"assigneeUserId"
]
}
}
```
### 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
- `campaignContactAssignments.create`: `POST /v1/workspaces/:workspaceId/leads/:campaignContactId/assignees`
- `campaignContactAssignments.remove`: `DELETE /v1/workspaces/:workspaceId/leads/:campaignContactId/assignees/:assigneeUserId`