Hiring workflows
Candidate Self-Scheduling
Send a link. The candidate picks a time the whole panel can do, and can change or cancel it themselves.
Send a Scheduling Link
- In an email: pick the Pick an interview time template (or put
{{scheduling_link}}in any template or draft), then press Create Scheduling Link in the composer. The link replaces the placeholder. - Or from the profile: Schedule → Let Candidate Pick, then Copy or Email to Candidate.
- Choose the interviewers, length, buffer, first and last day, interview kit (the stage’s kit by default), where and the meeting link.
- To move an interview that’s already booked: on the profile’s Upcoming Interviews, press the reschedule icon, then Let Candidate Pick and Create Reschedule Link. Same interviewers, length, place and kit. The current time stays booked until the candidate picks a new one; then the interview moves in place and invites are updated. Making a new reschedule link withdraws the previous unused one.
- In an automation: add the step Send a scheduling link (pick the interviewers, length, buffer, days offered and a template with
{{scheduling_link}}). Test runs and “Send test email to me” show a placeholder instead of a real link and only ever email you.
Which Times Are Offered
- Inside every interviewer’s working hours, each in their own time zone. Set yours in My Calendar → Working Hours (default Mon–Fri, 9:00–17:00).
- Clear of their Otter interviews, plus the buffer you chose before and after each one.
- Clear of busy times on their Google or Outlook calendar, only when they’ve connected calendar sync.
- Between the first and last day you picked, and at least 4 hours from now.
What the Candidate Sees
- A simple page in your workspace’s name that works on phones, in their own time zone (detected automatically; they can change it).
- After booking: the confirmation and Add to Calendar (.ics). The page only says an invite was emailed when it really was; if the email can’t be delivered (for example sample data, or sending is paused) it asks them to use Add to Calendar instead.
- The same link lets them pick a different time (up to 2 changes) or cancel, up to 4 hours before the interview.
- Expired or withdrawn links say so and ask them to reply to your email.
What the Team Gets
- The interview, with the application’s stage and its interview kit, on the Interviews calendar and the profile.
- A My Work notification for the interviewers and whoever sent the link when the candidate books, moves or cancels; invites are sent or updated.
- No double booking: every booking re-checks the panel’s interviews inside the database while holding a lock per interviewer, so two candidates can’t take the same time.
- Profile → Scheduling Links shows each link’s status; withdraw one that hasn’t been used.
API, MCP and Webhooks
GET/POST /api/v1/scheduling-links,GET /api/v1/scheduling-links/:id,POST /api/v1/scheduling-links/:id/withdraw. The link URL is returned once, when it’s created; Otter doesn’t email it.- MCP:
list_scheduling_links,create_scheduling_link. POST /api/v1/scheduling-linkswithinterview_id(and optionalstarts_on,ends_on,buffer_minutes) makes a reschedule link for that interview.- Webhooks:
interview.scheduledwhen a candidate books,interview.rescheduledwhen an interview moves (withdata.interview.previous_starts_at) andinterview.cancelledwhen it’s cancelled, whether by the candidate or the team. Signed like every other webhook. - The read-only demo can’t create links or bookings.