{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ghl-crm-pro",
    "name": "GHL CRM Pro",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/aiwithabidi/ghl-crm-pro",
    "canonicalUrl": "https://clawhub.ai/aiwithabidi/ghl-crm-pro",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/ghl-crm-pro",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ghl-crm-pro",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/ghl_api.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ghl-crm-pro"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/ghl-crm-pro",
    "agentPageUrl": "https://openagent3.xyz/skills/ghl-crm-pro/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ghl-crm-pro/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ghl-crm-pro/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "GHL CRM — GoHighLevel Integration for OpenClaw",
        "body": "Complete GoHighLevel CRM integration. Manage contacts, pipelines, conversations, appointments, and workflows through the GHL API v2."
      },
      {
        "title": "Quick Start",
        "body": "export GHL_API_KEY=\"your-private-integration-token\"\nexport GHL_LOCATION_ID=\"your-location-id\"\npython3 {baseDir}/scripts/ghl_api.py contacts search \"john@example.com\""
      },
      {
        "title": "Authentication",
        "body": "GHL uses Private Integration Tokens (API v2). Get yours from:\n\nGo to Settings → Integrations → Private Integrations in your GHL sub-account\nCreate a new integration, enable the scopes you need\nCopy the API key — this is your GHL_API_KEY\n\nThe GHL_LOCATION_ID is your sub-account/location ID (found in Settings → Business Info or the URL).\n\nBase URL: https://services.leadconnectorhq.com\n\nAuth header: Authorization: Bearer <GHL_API_KEY> + Version: 2021-07-28"
      },
      {
        "title": "Contact Management",
        "body": "# Search contacts by email, phone, or name\npython3 {baseDir}/scripts/ghl_api.py contacts search \"query\"\n\n# Get contact by ID\npython3 {baseDir}/scripts/ghl_api.py contacts get <contactId>\n\n# Create a new contact\npython3 {baseDir}/scripts/ghl_api.py contacts create '{\"firstName\":\"John\",\"lastName\":\"Doe\",\"email\":\"john@example.com\",\"phone\":\"+15551234567\"}'\n\n# Update contact\npython3 {baseDir}/scripts/ghl_api.py contacts update <contactId> '{\"tags\":[\"vip\",\"hot-lead\"]}'\n\n# Delete contact\npython3 {baseDir}/scripts/ghl_api.py contacts delete <contactId>\n\n# List contacts (with optional limit)\npython3 {baseDir}/scripts/ghl_api.py contacts list --limit 20"
      },
      {
        "title": "Pipeline & Opportunity Management",
        "body": "# List all pipelines\npython3 {baseDir}/scripts/ghl_api.py pipelines list\n\n# List opportunities in a pipeline\npython3 {baseDir}/scripts/ghl_api.py opportunities list <pipelineId>\n\n# Get opportunity details\npython3 {baseDir}/scripts/ghl_api.py opportunities get <opportunityId>\n\n# Create opportunity\npython3 {baseDir}/scripts/ghl_api.py opportunities create '{\"pipelineId\":\"...\",\"stageId\":\"...\",\"contactId\":\"...\",\"name\":\"Deal Name\",\"monetaryValue\":5000}'\n\n# Update opportunity (move stage, update value)\npython3 {baseDir}/scripts/ghl_api.py opportunities update <opportunityId> '{\"stageId\":\"new-stage-id\",\"status\":\"won\"}'\n\n# Delete opportunity\npython3 {baseDir}/scripts/ghl_api.py opportunities delete <opportunityId>"
      },
      {
        "title": "Conversations (SMS, Email, WhatsApp)",
        "body": "# List recent conversations\npython3 {baseDir}/scripts/ghl_api.py conversations list\n\n# Get conversation messages\npython3 {baseDir}/scripts/ghl_api.py conversations get <conversationId>\n\n# Send SMS\npython3 {baseDir}/scripts/ghl_api.py conversations send-sms <contactId> \"Hello! Following up on our call.\"\n\n# Send email\npython3 {baseDir}/scripts/ghl_api.py conversations send-email <contactId> '{\"subject\":\"Follow Up\",\"body\":\"<p>Hi there!</p>\",\"emailFrom\":\"you@domain.com\"}'"
      },
      {
        "title": "Calendar & Appointments",
        "body": "# List calendars\npython3 {baseDir}/scripts/ghl_api.py calendars list\n\n# Get free slots\npython3 {baseDir}/scripts/ghl_api.py calendars slots <calendarId> --start 2026-02-16 --end 2026-02-17\n\n# Create appointment\npython3 {baseDir}/scripts/ghl_api.py appointments create '{\"calendarId\":\"...\",\"contactId\":\"...\",\"startTime\":\"2026-02-16T10:00:00Z\",\"endTime\":\"2026-02-16T10:30:00Z\",\"title\":\"Discovery Call\"}'\n\n# List appointments\npython3 {baseDir}/scripts/ghl_api.py appointments list <calendarId>\n\n# Update appointment\npython3 {baseDir}/scripts/ghl_api.py appointments update <appointmentId> '{\"status\":\"confirmed\"}'\n\n# Delete appointment\npython3 {baseDir}/scripts/ghl_api.py appointments delete <appointmentId>"
      },
      {
        "title": "Workflows",
        "body": "# Add contact to workflow\npython3 {baseDir}/scripts/ghl_api.py workflows add-contact <workflowId> <contactId>\n\n# Remove contact from workflow  \npython3 {baseDir}/scripts/ghl_api.py workflows remove-contact <workflowId> <contactId>"
      },
      {
        "title": "Key API Endpoints Reference",
        "body": "ResourceMethodEndpointSearch contactsGET/contacts/search?query=...&locationId=...Get contactGET/contacts/{id}Create contactPOST/contacts/Update contactPUT/contacts/{id}List pipelinesGET/opportunities/pipelines?locationId=...List opportunitiesGET/opportunities/search?location_id=...&pipeline_id=...Create opportunityPOST/opportunities/List conversationsGET/conversations/search?locationId=...Send messagePOST/conversations/messagesList calendarsGET/calendars/?locationId=...Get free slotsGET/calendars/{id}/free-slots?startDate=...&endDate=...Create appointmentPOST/calendars/events/appointments"
      },
      {
        "title": "Rate Limits",
        "body": "GHL API v2 enforces rate limits:\n\nGeneral: 100 requests/10 seconds per location\nBulk operations: 10 requests/10 seconds\nThe script auto-retries on 429 with exponential backoff (up to 3 retries)"
      },
      {
        "title": "Lead Capture → CRM Pipeline",
        "body": "Capture lead via form/chatbot\ncontacts create with lead data\nopportunities create to add to pipeline\nworkflows add-contact to trigger nurture sequence"
      },
      {
        "title": "Appointment Booking Flow",
        "body": "calendars list to find the right calendar\ncalendars slots to get availability\nappointments create to book the slot\nGHL auto-sends confirmation via configured workflow"
      },
      {
        "title": "Follow-Up Automation",
        "body": "conversations list to find unresponded conversations\ncontacts get for context\nGenerate follow-up with AI\nconversations send-sms or send-email"
      },
      {
        "title": "Credits",
        "body": "Built by M. Abidi | agxntsix.ai\nYouTube | GitHub\nPart of the AgxntSix Skill Suite for OpenClaw agents.\n\n📅 Need help setting up OpenClaw for your business? Book a free consultation"
      }
    ],
    "body": "GHL CRM — GoHighLevel Integration for OpenClaw\n\nComplete GoHighLevel CRM integration. Manage contacts, pipelines, conversations, appointments, and workflows through the GHL API v2.\n\nQuick Start\nexport GHL_API_KEY=\"your-private-integration-token\"\nexport GHL_LOCATION_ID=\"your-location-id\"\npython3 {baseDir}/scripts/ghl_api.py contacts search \"john@example.com\"\n\nAuthentication\n\nGHL uses Private Integration Tokens (API v2). Get yours from:\n\nGo to Settings → Integrations → Private Integrations in your GHL sub-account\nCreate a new integration, enable the scopes you need\nCopy the API key — this is your GHL_API_KEY\n\nThe GHL_LOCATION_ID is your sub-account/location ID (found in Settings → Business Info or the URL).\n\nBase URL: https://services.leadconnectorhq.com\n\nAuth header: Authorization: Bearer <GHL_API_KEY> + Version: 2021-07-28\n\nAvailable Commands\nContact Management\n# Search contacts by email, phone, or name\npython3 {baseDir}/scripts/ghl_api.py contacts search \"query\"\n\n# Get contact by ID\npython3 {baseDir}/scripts/ghl_api.py contacts get <contactId>\n\n# Create a new contact\npython3 {baseDir}/scripts/ghl_api.py contacts create '{\"firstName\":\"John\",\"lastName\":\"Doe\",\"email\":\"john@example.com\",\"phone\":\"+15551234567\"}'\n\n# Update contact\npython3 {baseDir}/scripts/ghl_api.py contacts update <contactId> '{\"tags\":[\"vip\",\"hot-lead\"]}'\n\n# Delete contact\npython3 {baseDir}/scripts/ghl_api.py contacts delete <contactId>\n\n# List contacts (with optional limit)\npython3 {baseDir}/scripts/ghl_api.py contacts list --limit 20\n\nPipeline & Opportunity Management\n# List all pipelines\npython3 {baseDir}/scripts/ghl_api.py pipelines list\n\n# List opportunities in a pipeline\npython3 {baseDir}/scripts/ghl_api.py opportunities list <pipelineId>\n\n# Get opportunity details\npython3 {baseDir}/scripts/ghl_api.py opportunities get <opportunityId>\n\n# Create opportunity\npython3 {baseDir}/scripts/ghl_api.py opportunities create '{\"pipelineId\":\"...\",\"stageId\":\"...\",\"contactId\":\"...\",\"name\":\"Deal Name\",\"monetaryValue\":5000}'\n\n# Update opportunity (move stage, update value)\npython3 {baseDir}/scripts/ghl_api.py opportunities update <opportunityId> '{\"stageId\":\"new-stage-id\",\"status\":\"won\"}'\n\n# Delete opportunity\npython3 {baseDir}/scripts/ghl_api.py opportunities delete <opportunityId>\n\nConversations (SMS, Email, WhatsApp)\n# List recent conversations\npython3 {baseDir}/scripts/ghl_api.py conversations list\n\n# Get conversation messages\npython3 {baseDir}/scripts/ghl_api.py conversations get <conversationId>\n\n# Send SMS\npython3 {baseDir}/scripts/ghl_api.py conversations send-sms <contactId> \"Hello! Following up on our call.\"\n\n# Send email\npython3 {baseDir}/scripts/ghl_api.py conversations send-email <contactId> '{\"subject\":\"Follow Up\",\"body\":\"<p>Hi there!</p>\",\"emailFrom\":\"you@domain.com\"}'\n\nCalendar & Appointments\n# List calendars\npython3 {baseDir}/scripts/ghl_api.py calendars list\n\n# Get free slots\npython3 {baseDir}/scripts/ghl_api.py calendars slots <calendarId> --start 2026-02-16 --end 2026-02-17\n\n# Create appointment\npython3 {baseDir}/scripts/ghl_api.py appointments create '{\"calendarId\":\"...\",\"contactId\":\"...\",\"startTime\":\"2026-02-16T10:00:00Z\",\"endTime\":\"2026-02-16T10:30:00Z\",\"title\":\"Discovery Call\"}'\n\n# List appointments\npython3 {baseDir}/scripts/ghl_api.py appointments list <calendarId>\n\n# Update appointment\npython3 {baseDir}/scripts/ghl_api.py appointments update <appointmentId> '{\"status\":\"confirmed\"}'\n\n# Delete appointment\npython3 {baseDir}/scripts/ghl_api.py appointments delete <appointmentId>\n\nWorkflows\n# Add contact to workflow\npython3 {baseDir}/scripts/ghl_api.py workflows add-contact <workflowId> <contactId>\n\n# Remove contact from workflow  \npython3 {baseDir}/scripts/ghl_api.py workflows remove-contact <workflowId> <contactId>\n\nKey API Endpoints Reference\nResource\tMethod\tEndpoint\nSearch contacts\tGET\t/contacts/search?query=...&locationId=...\nGet contact\tGET\t/contacts/{id}\nCreate contact\tPOST\t/contacts/\nUpdate contact\tPUT\t/contacts/{id}\nList pipelines\tGET\t/opportunities/pipelines?locationId=...\nList opportunities\tGET\t/opportunities/search?location_id=...&pipeline_id=...\nCreate opportunity\tPOST\t/opportunities/\nList conversations\tGET\t/conversations/search?locationId=...\nSend message\tPOST\t/conversations/messages\nList calendars\tGET\t/calendars/?locationId=...\nGet free slots\tGET\t/calendars/{id}/free-slots?startDate=...&endDate=...\nCreate appointment\tPOST\t/calendars/events/appointments\nRate Limits\n\nGHL API v2 enforces rate limits:\n\nGeneral: 100 requests/10 seconds per location\nBulk operations: 10 requests/10 seconds\nThe script auto-retries on 429 with exponential backoff (up to 3 retries)\nIntegration Patterns\nLead Capture → CRM Pipeline\nCapture lead via form/chatbot\ncontacts create with lead data\nopportunities create to add to pipeline\nworkflows add-contact to trigger nurture sequence\nAppointment Booking Flow\ncalendars list to find the right calendar\ncalendars slots to get availability\nappointments create to book the slot\nGHL auto-sends confirmation via configured workflow\nFollow-Up Automation\nconversations list to find unresponded conversations\ncontacts get for context\nGenerate follow-up with AI\nconversations send-sms or send-email\nCredits\n\nBuilt by M. Abidi | agxntsix.ai YouTube | GitHub Part of the AgxntSix Skill Suite for OpenClaw agents.\n\n📅 Need help setting up OpenClaw for your business? Book a free consultation"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/aiwithabidi/ghl-crm-pro",
    "publisherUrl": "https://clawhub.ai/aiwithabidi/ghl-crm-pro",
    "owner": "aiwithabidi",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ghl-crm-pro",
    "downloadUrl": "https://openagent3.xyz/downloads/ghl-crm-pro",
    "agentUrl": "https://openagent3.xyz/skills/ghl-crm-pro/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ghl-crm-pro/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ghl-crm-pro/agent.md"
  }
}