TimeZest Agents & Teams
Every TimeZest scheduling request books against a resource — either an individual agent or a team. Picking the right one is the first step of any booking, and TimeZest treats agents and teams differently enough that the choice matters.
Domains & Tools
TimeZest's MCP server is navigation-based. Enter a domain with timezest_navigate before its tools are available; return with timezest_back.
Agents — individual technicians
| Tool | Purpose | |------|---------| | timezest_agents_list | List all agents (technicians) available for scheduling | | timezest_agents_get | Get full detail for one agent by agentId |
timezest_agents_list accepts pageSize (1–100, default 50) and a filter TQL string (e.g. active:true AND department:"IT Support").
Teams — round-robin / shared pools
| Tool | Purpose | |------|---------| | timezest_teams_list | List all teams available for scheduling | | timezest_teams_get | Get full detail for one team by teamId |
timezest_teams_list accepts pageSize and a filter TQL string (e.g. active:true).
Agent vs Team — which to book
| Situation | Book | |-----------|------| | The dispatcher named a specific technician | An agent | | The customer needs the soonest slot from any qualified tech | A team (round-robin) | | Work requires a named specialist (e.g. a security lead) | An agent | | Tier-1 / general support where any tech will do | A team |
A team request shows the customer combined availability across the team's members and lets TimeZest assign whoever the round-robin lands on. An agent request shows only that one technician's calendar.
Common Workflows
Resolve a technician by name
timezest_navigatetoagents.- Call
timezest_agents_list. Use afilterlikeactive:trueto
skip deactivated technicians.
- Match the dispatcher's name against the result. If two agents have
similar names, call timezest_agents_get on each to disambiguate.
- Carry the resolved
agentIdforward to the scheduling request.
Resolve a team
timezest_navigatetoteams.- Call
timezest_teams_listwithactive:true. - Match by team name (e.g. "Network", "Onsite Dispatch").
- Carry the resolved
teamIdforward.
Edge Cases
- Inactive resources —
timezest_agents_listand
timezest_teams_list can return deactivated entries. Always filter active:true unless you specifically need historical resources.
- Name collisions — Two technicians named "Chris" is common. Never
pick the first match; confirm with _get.
- Pagination — Large MSPs exceed the 50-row default. Raise
pageSize to 100 or page through before assuming a name is absent.
Best Practices
- Always resolve agents and teams by name through a
listcall in the
current session — do not hard-code or cache IDs across days.
- Prefer a team for "soonest available" requests; an agent only when a
named person is genuinely required.
- Confirm ambiguous matches with
_getbefore booking.
Related Skills
- [scheduling](../scheduling/SKILL.md) — Booking technicians against PSA tickets
- [resources](../resources/SKILL.md) — Querying agents and teams together as one pool
- [appointment-types](../appointment-types/SKILL.md) — Choosing the right appointment type