Skip to main content

Calendar Update Service Catalog

Immutable Catalog Entry

This descriptor comes from the active versioned Portal catalog.

WRITEghl.calendar_update_service_catalog
  • Contract tier: agent_ready
  • Risk: write
  • Catalog version: 2026-07-12.2
  • Descriptor hash: 5b7835a40aa7193538e4e50d0237300f18ea2eaa552f577a1cb73707b2dbcc17

Update a GHL service catalog entry. Use this Calendars write tool to create, update, associate, or change GHL calendar data. Do not use it against live appointments or schedules unless the user explicitly requested that action. GHL category: Calendars. This writes to GoHighLevel and may change account data.

Request Body

{
"jsonrpc": "2.0",
"id": "ghl-calendar-update-service-catalog-example",
"method": "tools/call",
"params": {
"name": "ghl.calendar_update_service_catalog",
"arguments": {
"serviceId": "serviceId_123",
"body": {},
"query": {},
"tenantId": "tenantId_123",
"locationId": "locationId_123",
"strictTenant": false
}
}
}

Arguments Schema

{
"type": "object",
"required": [
"serviceId"
],
"properties": {
"body": {
"type": "object",
"description": "Request body for this official GHL Calendars endpoint, using only fields documented by GHL.",
"additionalProperties": true
},
"query": {
"type": "object",
"description": "Optional GHL-supported query parameters for this official Calendars endpoint.",
"additionalProperties": true
},
"tenantId": {
"type": "string",
"description": "Tenant ID from list_tenants."
},
"serviceId": {
"type": "string",
"description": "serviceId path parameter required by /calendars/services/catalog/:serviceId."
},
"locationId": {
"type": "string",
"description": "Optional GHL location ID. If provided, it must match the authenticated runtime location; otherwise the runtime location is used automatically."
},
"strictTenant": {
"type": "boolean",
"default": true,
"description": "Require tenantId to match locationId routing (default: true)."
}
},
"additionalProperties": false
}

Output Schema

{
"type": "object",
"required": [
"ok",
"data",
"error",
"meta"
],
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the GHL MCP operation completed successfully."
},
"data": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "array",
"items": {}
},
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Tool-specific GHL or local navigation result when ok is true."
},
"meta": {
"type": "object",
"description": "Safe execution, routing, and timing metadata.",
"additionalProperties": true
},
"error": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Safe error details when ok is false; credential values are never returned."
}
},
"description": "Normalized GHL MCP response envelope.",
"additionalProperties": false
}

Code Examples

curl -X POST 'https://portal.madpanda3d.com/api/mcp' \
-H 'Authorization: Bearer mad_live_***' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "ghl-calendar-update-service-catalog-example",
"method": "tools/call",
"params": {
"name": "ghl.calendar_update_service_catalog",
"arguments": {
"serviceId": "serviceId_123",
"body": {},
"query": {},
"tenantId": "tenantId_123",
"locationId": "locationId_123",
"strictTenant": false
}
}
}'

Example Responses

{
"ok": true,
"message": "Tool ghl.calendar_update_service_catalog executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}