{
  "schemaVersion": "1.0",
  "item": {
    "slug": "zendesk",
    "name": "Zendesk",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ivangdavila/zendesk",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/zendesk",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/zendesk",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=zendesk",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "api-reference.md",
      "memory-template.md",
      "setup.md",
      "troubleshooting.md"
    ],
    "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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.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/zendesk"
    },
    "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/zendesk",
    "agentPageUrl": "https://openagent3.xyz/skills/zendesk/agent",
    "manifestUrl": "https://openagent3.xyz/skills/zendesk/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/zendesk/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": "Setup",
        "body": "On first use, read setup.md for API credentials and workspace integration."
      },
      {
        "title": "When to Use",
        "body": "User needs to interact with Zendesk: create or update tickets, search support history, check user details, or automate support workflows. Agent handles API operations, ticket management, and reporting."
      },
      {
        "title": "Architecture",
        "body": "Memory at ~/zendesk/. See memory-template.md for structure.\n\n~/zendesk/\n├── memory.md        # Credentials + preferences + recent context\n├── templates/       # Saved ticket templates and macros\n└── exports/         # Report exports and ticket dumps"
      },
      {
        "title": "Quick Reference",
        "body": "TopicFileSetup processsetup.mdMemory templatememory-template.mdAPI operationsapi-reference.mdCommon issuestroubleshooting.md"
      },
      {
        "title": "1. Authenticate Before Operations",
        "body": "Credentials from environment variables (ZENDESK_SUBDOMAIN, ZENDESK_EMAIL, ZENDESK_TOKEN) or ~/zendesk/memory.md.\n\n# Test auth\ncurl -u \"$ZENDESK_EMAIL/token:$ZENDESK_TOKEN\" \"https://$ZENDESK_SUBDOMAIN.zendesk.com/api/v2/users/me.json\""
      },
      {
        "title": "2. Search Before Create",
        "body": "Always search existing tickets before creating new ones to avoid duplicates.\n\ncurl -u \"$AUTH\" \"$BASE/search.json?query=type:ticket+subject:issue\""
      },
      {
        "title": "3. Use Views for Efficiency",
        "body": "Don't list all tickets. Use views to get relevant subsets.\n\nViewUse Case/views/activeGet available views/views/{id}/ticketsTickets in specific view/tickets/recentRecently updated"
      },
      {
        "title": "4. Preserve Ticket History",
        "body": "When updating, add internal notes explaining changes. Never delete ticket data."
      },
      {
        "title": "5. Rate Limits",
        "body": "Zendesk limits: 700 requests/minute (Enterprise), 200/minute (others). Add delays for bulk operations."
      },
      {
        "title": "6. Always Confirm Destructive Actions",
        "body": "Before closing, merging, or deleting tickets, confirm with user and summarize what will happen."
      },
      {
        "title": "Common Operations",
        "body": "Set auth: AUTH=\"$ZENDESK_EMAIL/token:$ZENDESK_TOKEN\" and BASE=\"https://$ZENDESK_SUBDOMAIN.zendesk.com/api/v2\""
      },
      {
        "title": "Create Ticket",
        "body": "curl -X POST \"$BASE/tickets.json\" -u \"$AUTH\" -H \"Content-Type: application/json\" \\\n  -d '{\"ticket\":{\"subject\":\"Issue\",\"comment\":{\"body\":\"Description\"},\"priority\":\"normal\"}}'"
      },
      {
        "title": "Update Ticket Status",
        "body": "curl -X PUT \"$BASE/tickets/$ID.json\" -u \"$AUTH\" -H \"Content-Type: application/json\" \\\n  -d '{\"ticket\":{\"status\":\"solved\",\"comment\":{\"body\":\"Resolution\",\"public\":false}}}'"
      },
      {
        "title": "Search Tickets",
        "body": "curl -u \"$AUTH\" \"$BASE/search.json?query=type:ticket+status:open+priority:urgent\""
      },
      {
        "title": "Get User Details",
        "body": "curl -u \"$AUTH\" \"$BASE/users/search.json?query=email:user@example.com\""
      },
      {
        "title": "Ticket Statuses",
        "body": "StatusMeaningNext ActionsnewUnassignedAssign, respondopenBeing workedUpdate, solvependingWaiting on customerFollow up, solveholdWaiting internallyUnhold, updatesolvedResolution providedClose (auto after 4 days)closedFinalReopen creates new ticket"
      },
      {
        "title": "Priorities",
        "body": "PrioritySLA TargetUse Forurgent1 hourSystem down, revenue impacthigh4 hoursMajor feature brokennormal8 hoursStandard issueslow24 hoursQuestions, minor bugs"
      },
      {
        "title": "Common Traps",
        "body": "Auth format wrong → Must be email/token:API_TOKEN, not just token\nSearching with special chars → URL-encode queries\nBulk updates failing → Check rate limits, add 100ms delay\nMissing ticket fields → Some fields require specific plans\nPagination ignored → Results capped at 100, use next_page URL"
      },
      {
        "title": "External Endpoints",
        "body": "EndpointData SentPurposehttps://{subdomain}.zendesk.com/api/v2/*Ticket/user dataAll operations\n\nNo other data is sent externally."
      },
      {
        "title": "Security & Privacy",
        "body": "Data that leaves your machine:\n\nTicket content sent to Zendesk API\nSearch queries sent to Zendesk\n\nData that stays local:\n\nAPI credentials in ~/zendesk/memory.md\nExported reports in ~/zendesk/exports/\n\nThis skill does NOT:\n\nStore credentials in plain text outside ~/zendesk/\nSend data to any service other than Zendesk\nAccess tickets without explicit user request"
      },
      {
        "title": "Trust",
        "body": "By using this skill, ticket and user data is sent to Zendesk's API.\nOnly install if you have authorized Zendesk API access."
      },
      {
        "title": "Related Skills",
        "body": "Install with clawhub install <slug> if user confirms:\n\napi - REST API patterns\ncustomer-support - Support best practices\ncsv - Export and analyze ticket data"
      },
      {
        "title": "Feedback",
        "body": "If useful: clawhub star zendesk\nStay updated: clawhub sync"
      }
    ],
    "body": "Setup\n\nOn first use, read setup.md for API credentials and workspace integration.\n\nWhen to Use\n\nUser needs to interact with Zendesk: create or update tickets, search support history, check user details, or automate support workflows. Agent handles API operations, ticket management, and reporting.\n\nArchitecture\n\nMemory at ~/zendesk/. See memory-template.md for structure.\n\n~/zendesk/\n├── memory.md        # Credentials + preferences + recent context\n├── templates/       # Saved ticket templates and macros\n└── exports/         # Report exports and ticket dumps\n\nQuick Reference\nTopic\tFile\nSetup process\tsetup.md\nMemory template\tmemory-template.md\nAPI operations\tapi-reference.md\nCommon issues\ttroubleshooting.md\nCore Rules\n1. Authenticate Before Operations\n\nCredentials from environment variables (ZENDESK_SUBDOMAIN, ZENDESK_EMAIL, ZENDESK_TOKEN) or ~/zendesk/memory.md.\n\n# Test auth\ncurl -u \"$ZENDESK_EMAIL/token:$ZENDESK_TOKEN\" \"https://$ZENDESK_SUBDOMAIN.zendesk.com/api/v2/users/me.json\"\n\n2. Search Before Create\n\nAlways search existing tickets before creating new ones to avoid duplicates.\n\ncurl -u \"$AUTH\" \"$BASE/search.json?query=type:ticket+subject:issue\"\n\n3. Use Views for Efficiency\n\nDon't list all tickets. Use views to get relevant subsets.\n\nView\tUse Case\n/views/active\tGet available views\n/views/{id}/tickets\tTickets in specific view\n/tickets/recent\tRecently updated\n4. Preserve Ticket History\n\nWhen updating, add internal notes explaining changes. Never delete ticket data.\n\n5. Rate Limits\n\nZendesk limits: 700 requests/minute (Enterprise), 200/minute (others). Add delays for bulk operations.\n\n6. Always Confirm Destructive Actions\n\nBefore closing, merging, or deleting tickets, confirm with user and summarize what will happen.\n\nCommon Operations\n\nSet auth: AUTH=\"$ZENDESK_EMAIL/token:$ZENDESK_TOKEN\" and BASE=\"https://$ZENDESK_SUBDOMAIN.zendesk.com/api/v2\"\n\nCreate Ticket\ncurl -X POST \"$BASE/tickets.json\" -u \"$AUTH\" -H \"Content-Type: application/json\" \\\n  -d '{\"ticket\":{\"subject\":\"Issue\",\"comment\":{\"body\":\"Description\"},\"priority\":\"normal\"}}'\n\nUpdate Ticket Status\ncurl -X PUT \"$BASE/tickets/$ID.json\" -u \"$AUTH\" -H \"Content-Type: application/json\" \\\n  -d '{\"ticket\":{\"status\":\"solved\",\"comment\":{\"body\":\"Resolution\",\"public\":false}}}'\n\nSearch Tickets\ncurl -u \"$AUTH\" \"$BASE/search.json?query=type:ticket+status:open+priority:urgent\"\n\nGet User Details\ncurl -u \"$AUTH\" \"$BASE/users/search.json?query=email:user@example.com\"\n\nTicket Statuses\nStatus\tMeaning\tNext Actions\nnew\tUnassigned\tAssign, respond\nopen\tBeing worked\tUpdate, solve\npending\tWaiting on customer\tFollow up, solve\nhold\tWaiting internally\tUnhold, update\nsolved\tResolution provided\tClose (auto after 4 days)\nclosed\tFinal\tReopen creates new ticket\nPriorities\nPriority\tSLA Target\tUse For\nurgent\t1 hour\tSystem down, revenue impact\nhigh\t4 hours\tMajor feature broken\nnormal\t8 hours\tStandard issues\nlow\t24 hours\tQuestions, minor bugs\nCommon Traps\nAuth format wrong → Must be email/token:API_TOKEN, not just token\nSearching with special chars → URL-encode queries\nBulk updates failing → Check rate limits, add 100ms delay\nMissing ticket fields → Some fields require specific plans\nPagination ignored → Results capped at 100, use next_page URL\nExternal Endpoints\nEndpoint\tData Sent\tPurpose\nhttps://{subdomain}.zendesk.com/api/v2/*\tTicket/user data\tAll operations\n\nNo other data is sent externally.\n\nSecurity & Privacy\n\nData that leaves your machine:\n\nTicket content sent to Zendesk API\nSearch queries sent to Zendesk\n\nData that stays local:\n\nAPI credentials in ~/zendesk/memory.md\nExported reports in ~/zendesk/exports/\n\nThis skill does NOT:\n\nStore credentials in plain text outside ~/zendesk/\nSend data to any service other than Zendesk\nAccess tickets without explicit user request\nTrust\n\nBy using this skill, ticket and user data is sent to Zendesk's API. Only install if you have authorized Zendesk API access.\n\nRelated Skills\n\nInstall with clawhub install <slug> if user confirms:\n\napi - REST API patterns\ncustomer-support - Support best practices\ncsv - Export and analyze ticket data\nFeedback\nIf useful: clawhub star zendesk\nStay updated: clawhub sync"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/zendesk",
    "publisherUrl": "https://clawhub.ai/ivangdavila/zendesk",
    "owner": "ivangdavila",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/zendesk",
    "downloadUrl": "https://openagent3.xyz/downloads/zendesk",
    "agentUrl": "https://openagent3.xyz/skills/zendesk/agent",
    "manifestUrl": "https://openagent3.xyz/skills/zendesk/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/zendesk/agent.md"
  }
}