monitor_job_progress
Read one bounded batch of up to 250 events for a workflow run, number provisioning, domain registration, mailbox order, verification run, or mailbox migration. Repeat with the returned cursor until the operation is terminal.
# 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)
## monitor_job_progress
Read one bounded batch of up to 250 events for a workflow run, number provisioning, domain registration, mailbox order, verification run, or mailbox migration. Repeat with the returned cursor until the operation is terminal.
Use after starting long work to report what it is actually doing rather than guessing from a status field. Each batch carries a cursor; repeat with that cursor to continue without losing later events.
The stream is scoped to one operation the caller already owns; it cannot enumerate a workspace's work. Each kind is authorized against the permission that owns the underlying resource, so a credential that may follow a verification run may not follow a domain registration.
Scopes: workspace:read, dialer:read, domain:read, emailVerification:read, phoneVerification:read, workflow:read, inbox:read
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"
},
"kind": {
"$ref": "#/$defs/JobProgressKind"
},
"resourceId": {
"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"
},
"cursor": {
"type": "integer",
"minimum": 0
}
},
"required": [
"workspaceId",
"kind",
"resourceId"
],
"patternProperties": {
"^(?!(?:workspaceId|kind|resourceId|cursor)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"kind",
"resourceId",
"cursor"
]
},
"$defs": {
"JobProgressKind": {
"type": "string",
"enum": [
"dialer-provision",
"domain-registration",
"email-verification",
"phone-verification",
"inbox-migration",
"workflow"
]
}
}
}
```
### 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"
},
"kind": {
"$ref": "#/$defs/JobProgressKind"
},
"resourceId": {
"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"
},
"cursor": {
"type": "integer",
"minimum": 0
}
},
"required": [
"workspaceId",
"kind",
"resourceId"
],
"patternProperties": {
"^(?!(?:workspaceId|kind|resourceId|cursor)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"kind",
"resourceId",
"cursor"
]
},
"$defs": {
"JobProgressKind": {
"type": "string",
"enum": [
"dialer-provision",
"domain-registration",
"email-verification",
"phone-verification",
"inbox-migration",
"workflow"
]
}
}
}
```
### Output schema (structuredContent)
```json
{
"type": "object",
"properties": {
"kind": {
"$ref": "#/$defs/JobProgressKind"
},
"resourceId": {
"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"
},
"cursor": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"events": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"_tag": {
"type": "string",
"enum": [
"SpanStart"
]
},
"traceId": {
"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"
},
"spanId": {
"type": "string",
"pattern": "^[0-9a-f]{16}$"
},
"parentSpanId": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{16}$"
},
{
"type": "null"
}
]
},
"name": {
"$ref": "#/$defs/ShortText"
},
"timestamp": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"attempt": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"_tag",
"traceId",
"spanId",
"parentSpanId",
"name",
"timestamp",
"attempt"
],
"patternProperties": {
"^(?!(?:_tag|traceId|spanId|parentSpanId|name|timestamp|attempt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"_tag",
"traceId",
"spanId",
"parentSpanId",
"name",
"timestamp",
"attempt"
]
}
},
{
"type": "object",
"properties": {
"_tag": {
"type": "string",
"enum": [
"SpanEnd"
]
},
"traceId": {
"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"
},
"spanId": {
"type": "string",
"pattern": "^[0-9a-f]{16}$"
},
"timestamp": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"durationMs": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"status": {
"type": "string",
"enum": [
"ok",
"error"
]
}
},
"required": [
"_tag",
"traceId",
"spanId",
"timestamp",
"durationMs",
"status"
],
"patternProperties": {
"^(?!(?:_tag|traceId|spanId|timestamp|durationMs|status)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"_tag",
"traceId",
"spanId",
"timestamp",
"durationMs",
"status"
]
}
}
]
},
"maxItems": 250
},
"status": {
"$ref": "#/$defs/ShortText"
},
"terminal": {
"type": "boolean"
},
"migrationConnection": {
"$ref": "#/$defs/MigrationConnectionProgress"
}
},
"required": [
"kind",
"resourceId",
"cursor",
"events",
"status",
"terminal"
],
"patternProperties": {
"^(?!(?:kind|resourceId|cursor|events|status|terminal|migrationConnection)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"resourceId",
"cursor",
"events",
"status",
"terminal",
"migrationConnection"
]
},
"$defs": {
"JobProgressKind": {
"type": "string",
"enum": [
"dialer-provision",
"domain-registration",
"email-verification",
"phone-verification",
"inbox-migration",
"workflow"
]
},
"ShortText": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"MigrationConnectionProgress": {
"type": "object",
"properties": {
"itemId": {
"anyOf": [
{
"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"
},
{
"type": "null"
}
]
},
"stage": {
"type": "string",
"enum": [
"checking_existing",
"finding_admin",
"approving_app",
"signing_in",
"submitting_login",
"waiting_for_provider",
"granting_consent",
"confirming_connection",
"connected",
"needs_attention"
]
},
"completed": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"failed": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"updatedAt": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"itemId",
"stage",
"completed",
"failed",
"total",
"updatedAt"
],
"patternProperties": {
"^(?!(?:itemId|stage|completed|failed|total|updatedAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"itemId",
"stage",
"completed",
"failed",
"total",
"updatedAt"
]
}
}
}
}
```
### Underlying API operations
- `jobProgress.stream`: `GET /v1/workspaces/:workspaceId/job-progress/:kind/:resourceId`