From timezest
Use this skill when working with the TimeZest MCP tools — Bearer token authentication, the navigation pattern, scheduling-request payloads that carry PSA associated_entities (ConnectWise / Autotask / Halo ticket IDs), and the polling-only update model (no webhooks).
How this skill is triggered — by the user, by Claude, or both
Slash command
/timezest:api-patternsWhen to use
When working with TimeZest authentication, scheduling request payloads, PSA entity associations, or polling cadence for status changes. Use when: timezest api, timezest authentication, timezest bearer, timezest scheduling, timezest mcp, timezest associated entities, or timezest poll.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
TimeZest provides scheduling-request flows tightly coupled to MSP PSA
TimeZest provides scheduling-request flows tightly coupled to MSP PSA systems. A scheduling request is created against a PSA ticket (ConnectWise / Autotask / Halo), TimeZest sends the customer a self-service booking link, and the technician's calendar is updated when the customer picks a slot.
TimeZest uses an API token passed via header.
| Header | Value |
|---|---|
X-Timezest-Api-Token | The raw TimeZest API token |
The gateway maps the environment variable TIMEZEST_API_TOKEN onto
the X-Timezest-Api-Token header automatically. Internally, the
TimeZest MCP server forwards this to TimeZest as a Bearer token — you
do not need to add the Bearer prefix yourself.
export TIMEZEST_API_TOKEN="your-timezest-token"
| Tool | Purpose |
|---|---|
timezest_navigate | Discover the available domains |
timezest_back | Pop back to the prior context |
timezest_status | Health/status check |
Tools follow timezest_<domain>_<action>. Domains:
agents (technicians)teamsappointment_typesresourcesscheduling (the primary domain)associated_entitiesThis is the most important pattern. When you call
timezest_scheduling_create_request, the payload carries an
associated_entities array that links the booking to a PSA record:
{
"associated_entities": [
{
"type": "ConnectWiseTicket",
"id": 12345
}
]
}
Supported PSA types: ConnectWise tickets, Autotask tickets, Halo tickets. Always include the PSA association so the tech's PSA shows the booking.
TimeZest's MCP surface is poll-only. To track a booking's lifecycle
(sent / clicked / booked / canceled), call
timezest_scheduling_get on a cadence. Reasonable cadence:
Do not assume a webhook will arrive — none does at the MCP layer.
| Status | Meaning | Action |
|---|---|---|
| 401 | Bad/missing Bearer token | Re-check TIMEZEST_API_TOKEN |
| 403 | Token valid but not authorized for the agent/team | Check token scope |
| 404 | Unknown agent / team / scheduling request | Re-list to confirm |
| 422 | Bad payload (missing PSA association, invalid appointment_type) | Validate input |
associated_entities entry — a booking with no
PSA association is hard to find later.npx claudepluginhub wyre-technology/msp-claude-plugins --plugin timezestUse this skill to wire a TimeZest scheduling request into a PSA — building correct associatedEntities entries for ConnectWise, Autotask, or Halo tickets, choosing between the pod and generate_url trigger modes, and diagnosing bookings that completed but never updated the PSA ticket.
Automates Timekit operations via Composio's Timekit toolkit through Rube MCP. Discovers tool schemas, manages connections, and executes workflows.
Provides patterns for ConnectWise PSA REST API authentication, pagination, query syntax, rate limiting, and error handling.