Retrieve interviewer availability by querying your calendar provider API (e.g., Google Calendar FreeBusy API or Microsoft Graph calendar/getSchedule endpoint) for the interviewers' calendars
Identify overlapping free slots that match the required interview duration using set intersection on available time ranges
Present available slots to the candidate via email or a scheduling link; capture their selection
Create a calendar event using your calendar API, invite all participants (interviewer(s) and candidate), and include a video conferencing link if applicable
Update the ATS application stage or add a note via the ATS API (e.g., Greenhouse Harvest POST /v1/applications/{id}/advance or a note endpoint) to reflect the scheduled interview
Known gotchas
Calendar FreeBusy APIs only indicate busy/free status, not the content of existing events; interviewers may have soft blocks or focus time not marked as busy, leading to scheduling conflicts
Time zone handling is a common failure point; always store and transmit times in UTC and convert to each participant's local time zone only at display time
Candidate-facing scheduling links that expire or are single-use must be regenerated if the candidate does not select a slot before expiry; build retry and re-send logic
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp