Skip to main content

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.

ParameterTypeRequiredDescription
displayNameFilterstringYesPartial 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.

ParameterTypeRequiredDescription
resourceDisplayNamestringYesThe display name of the resource
capacityStartDatestringNoStart date for capacity and calendar information (ISO 8601)
capacityEndDatestringNoEnd 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.

ParameterTypeRequiredDescription
resourceDisplayNamestringYesThe display name of the resource
startDateTimestringYesStart date and time (ISO 8601)
endDateTimestringYesEnd date and time (ISO 8601)
timeZonestringYesIANA 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?".

ParameterTypeRequiredDescription
resourceDisplayNamestringYesThe display name of the resource
startDatestringYesStart of the search range (ISO 8601)
durationInMinutesnumberYesDuration of the slot, e.g. 30, 60, 120
timeZonestringYesIANA timezone identifier
endDatestringNoEnd 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.

ParameterTypeRequiredDescription
resourceDisplayNamestringYesThe display name of the resource
startDateTimestringYesStart of the slot to check (ISO 8601)
timeZonestringYesIANA timezone identifier
endDateTimestringNoEnd 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.

Discovery vs. reassignment

For moving an existing appointment to another resource, use reschedule_appointment - not get_recommendations.

Time window​

ParameterTypeRequiredDescription
startDatestringYesStart of the availability search window in UTC (ISO 8601)
endDatestringYesEnd of the availability search window in UTC (ISO 8601)
timeZonestringYesIANA timezone identifier

Filters​

ParameterTypeRequiredDescription
requirementsstringNoSkills filter - what the resource can do (e.g. plumbing, electrical work, HVAC). Comma-separated.
resourceTypesstringNoRole filter - what the resource is (e.g. technician, engineer, driver). Comma-separated.
durationstringNoRequired duration in ISO 8601 format (e.g. PT2H, PT30M)
granularitystringNoTime-slot granularity in ISO 8601 format (e.g. PT15M, PT30M, PT1H)

Location​

ParameterTypeRequiredDescription
locationAddressstringNoAddress string used for proximity scoring
locationCountrystringNoCountry code for geocoding (e.g. US, BE, GB)
locationLatitudenumberNoLatitude (alternative to locationAddress)
locationLongitudenumberNoLongitude (alternative to locationAddress)
locationModestringNohome (default) or actual - base proximity on home address or current GPS location
maxDistanceKmnumberNoMaximum 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.

ParameterTypeRequiredDescription
skillsstringYesFilter values to match (e.g. plumbing, French, West, Forklift certified). Comma-separated to require several at once.
timeZonestringNoIANA timezone identifier. Falls back to the user's profile timezone, then the organization default.
startDatestringNoStart of the availability window (ISO 8601). Defaults to today.
endDatestringNoEnd of the availability window (ISO 8601). Defaults to one week after startDate.
durationstringNoTask duration in ISO 8601 format (e.g. PT2H). Defaults to PT1H.

Example prompt

"Who can do plumbing and speaks French?"