Resources
The resource tools handle three jobs: looking up resourcesResourceAn entity that can carry out work - a person, vehicle, tool, or room - that you schedule on the planning board. and their metadata, checking availability for a known resource, and discovering unknown resources that match a jobJobA high-level container, comparable to a project, that bundles related tasks together with common information such as customer, billing, and address.'s requirements.
To pull the full roster without a filter, read the dimescheduler://resources data source instead. It returns the same data without consuming a tool call.
Search resources
Tool: search_resources
Searches resources by display name (partial, case-insensitive match). Returns matching resources with their basic info.
| Parameter | Type | Required | Description |
|---|---|---|---|
displayNameFilter | string | Yes | Partial display name to filter by (e.g. john matches John Doe, Johnny Smith) |
Example prompt
"Find resources whose name contains 'john'."
Get resource details
Tool: get_resource_details
Returns detailed information for a single resource: skillsSkillA qualification a resource holds and a task can require, typically modeled as a filter group. Skills drive resource filtering, the project team view and the solver’s choice of who can do what., capacityCapacityThe amount of working time a resource has available in a given period, used to spot over- and under-planning., calendarCalendarA definition of when work can happen, for the whole tenant or for specific resources: business hours, weekends and holidays. Calendars shade non-working time on the planning board and skip it in Gantt durations., and contact details.
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceDisplayName | string | Yes | The display name of the resource |
capacityStartDate | string | No | Start date for capacity and calendar information (ISO 8601) |
capacityEndDate | string | No | End date for capacity and calendar information (ISO 8601) |
Example prompt
"Get details for resource John Smith."
Get resource availability
Tool: get_resource_availability
Returns all availability periods (both available and unavailable) for one resource over a time range. Periods can be any length - this is the raw availability timeline.
Use this only when the assistant needs to render or reason over a complete calendar view. For "find me a free slot", prefer find_available_slots.
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceDisplayName | string | Yes | The display name of the resource |
startDateTime | string | Yes | Start date and time (ISO 8601) |
endDateTime | string | Yes | End date and time (ISO 8601) |
timeZone | string | Yes | IANA timezone identifier (e.g. Europe/Brussels) |
Example prompt
"Show me all availability periods for John Smith next week."
Find available slots
Tool: find_available_slots
Returns slots of a specified duration that fit inside the resource's availability over a date range. This is the preferred tool for scheduling questions of the form "when is X free for N hours?".
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceDisplayName | string | Yes | The display name of the resource |
startDate | string | Yes | Start of the search range (ISO 8601) |
durationInMinutes | number | Yes | Duration of the slot, e.g. 30, 60, 120 |
timeZone | string | Yes | IANA timezone identifier |
endDate | string | No | End of the search range (defaults to the same day as startDate) |
Example prompt
"When is John Smith available for a 2-hour meeting this week?"
Check time slot availability
Tool: check_time_slot_availability
Validates whether one specific time window is available for one resource. Returns a yes/no answer plus any conflicting periods.
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceDisplayName | string | Yes | The display name of the resource |
startDateTime | string | Yes | Start of the slot to check (ISO 8601) |
timeZone | string | Yes | IANA timezone identifier |
endDateTime | string | No | End of the slot (defaults to one hour after startDateTime) |
Example prompt
"Is John Smith available on January 15th at 2 PM?"
Get recommendations
Tool: get_recommendations
The discovery tool. Finds resources matching a set of skills, roles, and/or location, and returns the best available slots for each candidate. Use it when the user does not yet know which resource should do the work.
For moving an existing appointment to another resource, use reschedule_appointment - not get_recommendations.
Time window
| Parameter | Type | Required | Description |
|---|---|---|---|
startDate | string | Yes | Start of the availability search window in UTC (ISO 8601) |
endDate | string | Yes | End of the availability search window in UTC (ISO 8601) |
timeZone | string | Yes | IANA timezone identifier |
Filters
| Parameter | Type | Required | Description |
|---|---|---|---|
requirements | string | No | Skills filter - what the resource can do (e.g. plumbing, electrical work, HVAC). Comma-separated. |
resourceTypes | string | No | Role filter - what the resource is (e.g. technician, engineer, driver). Comma-separated. |
duration | string | No | Required duration in ISO 8601 format (e.g. PT2H, PT30M) |
granularity | string | No | Time-slot granularity in ISO 8601 format (e.g. PT15M, PT30M, PT1H) |
Location
| Parameter | Type | Required | Description |
|---|---|---|---|
locationAddress | string | No | Address string used for proximity scoring |
locationCountry | string | No | Country code for geocoding (e.g. US, BE, GB) |
locationLatitude | number | No | Latitude (alternative to locationAddress) |
locationLongitude | number | No | Longitude (alternative to locationAddress) |
locationMode | string | No | home (default) or actual - base proximity on home address or current GPS location |
maxDistanceKm | number | No | Maximum distance in kilometers for the resource filter |
Example prompt
"Who is available this week for a 2-hour job near London (UK) with the skill electrician?"
Find resource by skill
Tool: find_resource_by_skill
A convenience shortcut for get_recommendations when the question is simply "who matches X?" and you do not want to compose dates, a location, or scoring weights. It fills in a one-week availability window starting today and a one-hour duration, then returns the same recommendationRecommendationA ranked suggestion of resources for a job, matched on skills, location and availability. Available through the API and through the MCP server’s recommendation tool. response: the matching resources and their best available slots. Despite the name, skills is matched against the full filter valueFilter valueA single value inside a filter group, used as a qualification on a resource or a requirement on a task. catalog, so languages, regions, certifications, and departments work just as well.
Use get_recommendations directly when you need to control the date range, proximity, exact duration, or scoring.
| Parameter | Type | Required | Description |
|---|---|---|---|
skills | string | Yes | Filter values to match (e.g. plumbing, French, West, Forklift certified). Comma-separated to require several at once. |
timeZone | string | No | IANA timezone identifier. Falls back to the user's profile timezone, then the organization default. |
startDate | string | No | Start of the availability window (ISO 8601). Defaults to today. |
endDate | string | No | End of the availability window (ISO 8601). Defaults to one week after startDate. |
duration | string | No | Task duration in ISO 8601 format (e.g. PT2H). Defaults to PT1H. |
Example prompt
"Who can do plumbing and speaks French?"