manage_heyreach_connection
Keep the workspace's HeyReach connection healthy: re-validate the stored key, restore the reply subscription native campaigns stop on, subscribe to or remove HeyReach webhook events, or disconnect HeyReach entirely.
# 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_heyreach_connection
Keep the workspace's HeyReach connection healthy: re-validate the stored key, restore the reply subscription native campaigns stop on, subscribe to or remove HeyReach webhook events, or disconnect HeyReach entirely.
Use when the connection read says reply tracking is not live, when a person asks to receive a HeyReach event type, or to retire the integration. Disconnect removes every subscription first and only then retires the key.
This never enters or rotates the API key — that is a person's job in Settings. Disconnect and webhook removal are refused while a registration is still being confirmed; retry after two minutes. Disconnecting stops LinkedIn reply tracking for every native campaign.
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: integration:read, integration:update, integration:delete
Risk: security_admin; confirmation: explicit; idempotency: supported.
### Input schema (personal API key)
```json
{
"type": "object",
"anyOf": [
{
"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": [
"test"
]
}
},
"required": [
"workspaceId",
"action"
],
"patternProperties": {
"^(?!(?:workspaceId|action)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"action"
]
}
},
{
"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": [
"ensure_reply_webhook"
]
}
},
"required": [
"workspaceId",
"action"
],
"patternProperties": {
"^(?!(?:workspaceId|action)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"action"
]
}
},
{
"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": [
"disconnect"
]
}
},
"required": [
"workspaceId",
"action"
],
"patternProperties": {
"^(?!(?:workspaceId|action)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"action"
]
}
},
{
"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": [
"create_webhook"
]
},
"webhook": {
"$ref": "#/$defs/CreateHeyReachWebhookInput"
}
},
"required": [
"workspaceId",
"action",
"webhook"
],
"patternProperties": {
"^(?!(?:workspaceId|action|webhook)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"action",
"webhook"
]
}
},
{
"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": [
"delete_webhook"
]
},
"webhookId": {
"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",
"webhookId"
],
"patternProperties": {
"^(?!(?:workspaceId|action|webhookId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"action",
"webhookId"
]
}
}
],
"$defs": {
"HeyReachWebhookEventType": {
"type": "string",
"enum": [
"CONNECTION_REQUEST_SENT",
"CONNECTION_REQUEST_ACCEPTED",
"MESSAGE_SENT",
"MESSAGE_REPLY_RECEIVED",
"INMAIL_SENT",
"INMAIL_REPLY_RECEIVED",
"EVERY_MESSAGE_REPLY_RECEIVED",
"FOLLOW_SENT",
"LIKED_POST",
"VIEWED_PROFILE",
"CAMPAIGN_COMPLETED",
"LEAD_TAG_UPDATED"
]
},
"HeyReachId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"CreateHeyReachWebhookInput": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 150
},
"eventType": {
"$ref": "#/$defs/HeyReachWebhookEventType"
},
"campaignIds": {
"type": "array",
"items": {
"$ref": "#/$defs/HeyReachId"
},
"minItems": 0,
"maxItems": 100
}
},
"required": [
"eventType"
],
"patternProperties": {
"^(?!(?:name|eventType|campaignIds)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"eventType",
"campaignIds"
]
}
}
}
}
```
### Input schema (OAuth / delegated agent)
```json
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"format": "uuid",
"description": "Target Workspace UUID. Call list_workspaces to enumerate the Workspaces this credential may access, then pass the chosen id here."
}
},
"required": [
"workspaceId"
],
"anyOf": [
{
"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": [
"test"
]
}
},
"required": [
"workspaceId",
"action"
],
"patternProperties": {
"^(?!(?:workspaceId)$)[\\s\\S]*?(?:^(?!(?:workspaceId|action)$)[\\s\\S]*$)": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"workspaceId",
"action"
]
},
{
"enum": [
"workspaceId"
]
}
]
}
},
{
"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": [
"ensure_reply_webhook"
]
}
},
"required": [
"workspaceId",
"action"
],
"patternProperties": {
"^(?!(?:workspaceId)$)[\\s\\S]*?(?:^(?!(?:workspaceId|action)$)[\\s\\S]*$)": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"workspaceId",
"action"
]
},
{
"enum": [
"workspaceId"
]
}
]
}
},
{
"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": [
"disconnect"
]
}
},
"required": [
"workspaceId",
"action"
],
"patternProperties": {
"^(?!(?:workspaceId)$)[\\s\\S]*?(?:^(?!(?:workspaceId|action)$)[\\s\\S]*$)": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"workspaceId",
"action"
]
},
{
"enum": [
"workspaceId"
]
}
]
}
},
{
"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": [
"create_webhook"
]
},
"webhook": {
"$ref": "#/$defs/CreateHeyReachWebhookInput"
}
},
"required": [
"workspaceId",
"action",
"webhook"
],
"patternProperties": {
"^(?!(?:workspaceId)$)[\\s\\S]*?(?:^(?!(?:workspaceId|action|webhook)$)[\\s\\S]*$)": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"workspaceId",
"action",
"webhook"
]
},
{
"enum": [
"workspaceId"
]
}
]
}
},
{
"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": [
"delete_webhook"
]
},
"webhookId": {
"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",
"webhookId"
],
"patternProperties": {
"^(?!(?:workspaceId)$)[\\s\\S]*?(?:^(?!(?:workspaceId|action|webhookId)$)[\\s\\S]*$)": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"workspaceId",
"action",
"webhookId"
]
},
{
"enum": [
"workspaceId"
]
}
]
}
}
],
"$defs": {
"HeyReachWebhookEventType": {
"type": "string",
"enum": [
"CONNECTION_REQUEST_SENT",
"CONNECTION_REQUEST_ACCEPTED",
"MESSAGE_SENT",
"MESSAGE_REPLY_RECEIVED",
"INMAIL_SENT",
"INMAIL_REPLY_RECEIVED",
"EVERY_MESSAGE_REPLY_RECEIVED",
"FOLLOW_SENT",
"LIKED_POST",
"VIEWED_PROFILE",
"CAMPAIGN_COMPLETED",
"LEAD_TAG_UPDATED"
]
},
"HeyReachId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"CreateHeyReachWebhookInput": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 150
},
"eventType": {
"$ref": "#/$defs/HeyReachWebhookEventType"
},
"campaignIds": {
"type": "array",
"items": {
"$ref": "#/$defs/HeyReachId"
},
"minItems": 0,
"maxItems": 100
}
},
"required": [
"eventType"
],
"patternProperties": {
"^(?!(?:name|eventType|campaignIds)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"eventType",
"campaignIds"
]
}
}
}
}
```
### Output schema (structuredContent)
```json
{
"$defs": {
"NonEmptyString": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"UtcDateTimeEncoded": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"HeyReachConnectionStatus": {
"type": "object",
"properties": {
"connected": {
"type": "boolean"
},
"replyWebhookReady": {
"type": "boolean"
},
"connectionId": {
"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"
}
]
},
"credential": {
"anyOf": [
{
"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"
},
"provider": {
"$ref": "#/$defs/NonEmptyString"
},
"kind": {
"$ref": "#/$defs/NonEmptyString"
},
"status": {
"type": "string",
"enum": [
"connected",
"needs_reauthorization",
"disabled",
"disconnected"
]
},
"fingerprint": {
"$ref": "#/$defs/NonEmptyString"
},
"lastFour": {
"type": "string",
"pattern": "^.{4}$"
},
"createdAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"updatedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"lastUsedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
}
},
"required": [
"id",
"provider",
"kind",
"status",
"createdAt",
"updatedAt"
],
"patternProperties": {
"^(?!(?:id|provider|kind|status|fingerprint|lastFour|createdAt|updatedAt|lastUsedAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"provider",
"kind",
"status",
"fingerprint",
"lastFour",
"createdAt",
"updatedAt",
"lastUsedAt"
]
}
},
{
"type": "null"
}
]
},
"connectedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"lastCheckedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
}
},
"required": [
"connected",
"replyWebhookReady",
"connectionId",
"credential",
"connectedAt",
"lastCheckedAt"
],
"patternProperties": {
"^(?!(?:connected|replyWebhookReady|connectionId|credential|connectedAt|lastCheckedAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"connected",
"replyWebhookReady",
"connectionId",
"credential",
"connectedAt",
"lastCheckedAt"
]
}
},
"HeyReachDisconnectResult": {
"type": "object",
"properties": {
"connected": {
"type": "boolean",
"enum": [
false
]
},
"removedWebhookCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"disconnectedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
}
},
"required": [
"connected",
"removedWebhookCount",
"disconnectedAt"
],
"patternProperties": {
"^(?!(?:connected|removedWebhookCount|disconnectedAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"connected",
"removedWebhookCount",
"disconnectedAt"
]
}
},
"HeyReachId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"ShortText": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"HeyReachWebhookEventType": {
"type": "string",
"enum": [
"CONNECTION_REQUEST_SENT",
"CONNECTION_REQUEST_ACCEPTED",
"MESSAGE_SENT",
"MESSAGE_REPLY_RECEIVED",
"INMAIL_SENT",
"INMAIL_REPLY_RECEIVED",
"EVERY_MESSAGE_REPLY_RECEIVED",
"FOLLOW_SENT",
"LIKED_POST",
"VIEWED_PROFILE",
"CAMPAIGN_COMPLETED",
"LEAD_TAG_UPDATED"
]
},
"HeyReachWebhookStatus": {
"type": "string",
"enum": [
"pending",
"active",
"failed",
"deleting"
]
},
"HeyReachWebhook": {
"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"
},
"remoteId": {
"anyOf": [
{
"$ref": "#/$defs/HeyReachId"
},
{
"type": "null"
}
]
},
"name": {
"$ref": "#/$defs/ShortText"
},
"eventType": {
"$ref": "#/$defs/HeyReachWebhookEventType"
},
"campaignIds": {
"type": "array",
"items": {
"$ref": "#/$defs/HeyReachId"
},
"maxItems": 100
},
"status": {
"$ref": "#/$defs/HeyReachWebhookStatus"
},
"lastReceivedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"createdAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
}
},
"required": [
"id",
"remoteId",
"name",
"eventType",
"campaignIds",
"status",
"lastReceivedAt",
"createdAt"
],
"patternProperties": {
"^(?!(?:id|remoteId|name|eventType|campaignIds|status|lastReceivedAt|createdAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"remoteId",
"name",
"eventType",
"campaignIds",
"status",
"lastReceivedAt",
"createdAt"
]
}
},
"HeyReachWebhookDeleted": {
"type": "object",
"properties": {
"webhookId": {
"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"
},
"deleted": {
"type": "boolean",
"enum": [
true
]
}
},
"required": [
"webhookId",
"deleted"
],
"patternProperties": {
"^(?!(?:webhookId|deleted)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"webhookId",
"deleted"
]
}
}
},
"type": "object",
"anyOf": [
{
"allOf": [
{
"anyOf": [
{
"$ref": "#/$defs/HeyReachConnectionStatus"
},
{
"$ref": "#/$defs/HeyReachDisconnectResult"
},
{
"$ref": "#/$defs/HeyReachWebhook"
},
{
"$ref": "#/$defs/HeyReachWebhookDeleted"
}
]
},
{
"type": "object"
}
]
},
{
"type": "object",
"properties": {
"data": {
"allOf": [
{
"anyOf": [
{
"$ref": "#/$defs/HeyReachConnectionStatus"
},
{
"$ref": "#/$defs/HeyReachDisconnectResult"
},
{
"$ref": "#/$defs/HeyReachWebhook"
},
{
"$ref": "#/$defs/HeyReachWebhookDeleted"
}
]
},
{
"not": {
"type": "object"
}
}
]
}
},
"required": [
"data"
],
"additionalProperties": false
}
]
}
```
### Underlying API operations
- `heyreachConnection.test`: `POST /v1/workspaces/:workspaceId/integrations/heyreach/test`
- `heyreachConnection.ensureReplyWebhook`: `POST /v1/workspaces/:workspaceId/integrations/heyreach/reply-webhook`
- `heyreachConnection.disconnect`: `DELETE /v1/workspaces/:workspaceId/integrations/heyreach/disconnect`
- `heyreachWebhooks.create`: `POST /v1/workspaces/:workspaceId/integrations/heyreach/webhooks`
- `heyreachWebhooks.delete`: `DELETE /v1/workspaces/:workspaceId/integrations/heyreach/webhooks/:webhookId`