Getting started

Everyone

Recruit runs your hiring from job post to hire. People on the hiring team sign in as employees, each with a role; candidates have their own accounts. A recruiting agent does the coordinating in between.

Roles

Each employee has one role, and every role can do everything the roles below it can.

  • Company admin: everything, plus the team, levels, job roles, integrations and the hiring dashboard.
  • Interview designer: recruiter work, plus designing interview stages and flows and labelling who can interview for what.
  • Recruiter: jobs, applicants, decisions and offers.
  • Interviewer: their own interviews and feedback.
  • Hiring manager isn't a role: a recruiter makes any employee the hiring manager for a particular candidate.

Setting up a new company

A company admin prepares the groundwork once; after that, posting a job is a few minutes' work. Follow the admin onboarding guide below, step by step.

Admin onboarding

AdminsTeam, Team → Integrations, and Integrations

Everything a company admin does once before the first job goes live: the team, levels and roles, your calendar, video, email and Slack, and a test run. Most of it takes a few minutes; connecting a tool means signing in to it and approving Recruit's access.

1. Invite your team

Add everyone who takes part in hiring, so they can be given work and messages.

  1. 1Open Team and choose Add employee.
  2. 2Enter their work email and pick a role (admin, interview designer, recruiter or interviewer).
  3. 3They get an email to set their password. Resend it from the Team page if the invite is still pending.
  • Use the same email they use for Slack and Google, so messages and calendars match up.

2. Add levels and job roles

Every job is for a role at a level, so nobody can create a job until both exist.

  1. 1Open Team → Levels and add your ladder, lowest first (for example L3 to L7).
  2. 2Open Team → Job roles and add the roles you hire for (for example Software Engineer, Product Designer).

3. Choose your tools

Pick what Recruit uses for scheduling, calls and notifications.

  1. 1Open Team → Integrations.
  2. 2Calendar: choose Google Calendar. It's where interviewers' free time is read and invites are sent.
  3. 3Video calls: choose Google Meet to add a meeting link to every interview, or none.
  4. 4Notifications: tick Email, Slack, or both. Candidates are always emailed either way.
  5. 5Choose Save integrations.

4. Connect Slack

Optional, but it's how the recruiting agent reaches your team fastest. You connect it once for the whole company.

  1. 1Make sure Slack is ticked under Notifications and saved.
  2. 2On Team → Integrations, choose Add to Slack under Slack workspace.
  3. 3Slack asks you to approve Recruit's app for your workspace. Approve it.
  4. 4You're brought back to Recruit, which shows "Connected to" your workspace.
  • Each person gets their messages as Slack direct messages, matched by email, and can reply in the thread to answer the agent.
  • If Slack shows "Reconnect", Recruit lost access (for example the app was removed); reconnect to resume messages.
  • Disconnecting stops Slack messages; people still get email.

5. Connect calendars for the whole company (Google Workspace)

If your company's email runs on Google Workspace, Recruit can reach everyone's calendar at your domain with one approval from your Workspace admin, so nobody connects their own. Invites then come from one company address, such as recruiting@xyz.com.

  1. 1On Team → Integrations, under Company-wide Google calendars, enter your email domain (for example xyz.com) and the address invites should come from. Choose Save.
  2. 2Recruit shows a client ID and a list of permissions. Send them to your Google Workspace admin.
  3. 3In the Google Admin console, they open Security → Access and data control → API controls → Manage Domain Wide Delegation, choose Add new, paste the client ID and permissions, and choose Authorize.
  4. 4Back on Team → Integrations, choose Check access. Once it passes, everyone at your domain shows "Company calendar" on the Team page.
  • You can only set up your own domain, and only one company can claim it.
  • Recruit sees only when people are busy, never what their events are, and manages only the interview events it creates.
  • People outside your domain, such as contractors, still connect their own calendar (next step).
  • Removing the entry in the Google Admin console switches it off at any time.

6. Or have interviewers connect their own calendars

Without Google Workspace, or for anyone outside your domain, each person connects their own Google account; an admin can't do it for them. Until they do, they're never offered for interviews.

  1. 1Ask each interviewer to open Profile and find Connected accounts.
  2. 2They choose Connect next to Google and approve access to their calendar.
  3. 3Recruit can now see when they're busy and add interviews to their calendar with a Meet link.
  • The Team page shows each person's calendar status, so you can see who still needs to connect.

7. Set up interviewers and interview flows

Decide who interviews for what, and what each role's interview process is.

  1. 1On Team, open each interviewer and give them a level and skill labels such as Coding or Design. Only people with a label are asked to interview.
  2. 2An interview designer builds stages in Interview Flows → Stage library, then a role workflow for each role and level.

8. Run the test drive

Check every tool end to end before real candidates arrive.

  1. 1Open Integrations and start the test drive.
  2. 2Go through each step: a real invite, Meet link, email and Slack message are sent, all to you.
  3. 3Confirm what arrived. The Status cards show which tools work and what to fix.
  • After this, recruiters can create their first job from Jobs → New job.

Before you start: server setup

Add to Slack and Connect Google only work once your Recruit server has its own Slack and Google apps. This is done once per installation by whoever runs the server, not per company. Until then, Team → Integrations says the tool isn't set up on this server.

  1. 1Slack: create an app at api.slack.com/apps with the bot scopes chat:write, users:read, users:read.email and im:history, and the redirect URL <your Recruit address>/dashboard/team/integrations/slack/callback.
  2. 2Slack: under Event Subscriptions, set the request URL to <your backend address>/api/v1/public/slack/events and subscribe to the message.im bot event. Under App Home, turn on the Messages tab.
  3. 3Slack: set SLACK_CLIENT_ID, SLACK_CLIENT_SECRET, SLACK_SIGNING_SECRET and SLACK_REDIRECT_URI on the backend. Without the signing secret, replies in Slack don't reach the agent.
  4. 4Google: in Google Cloud console, enable the Calendar and Meet APIs and create an OAuth client with the redirect URL <your Recruit address>/dashboard/me/connections/google/callback. Set GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET and GOOGLE_REDIRECT_URI on the backend.
  5. 5Email: set SPRING_MAIL_HOST, SPRING_MAIL_PORT, SPRING_MAIL_USERNAME and SPRING_MAIL_PASSWORD, and MAIL_FROM for the sender. Without a mail server, emails are only written to the server log.
  6. 6Company-wide calendars: in the same Google Cloud project, create a service account, enable the Calendar API, and download a JSON key for it. Set GOOGLE_SERVICE_ACCOUNT_KEY to the key's contents or the path to the file. Each company's Workspace admin then authorizes its client ID.
  7. 7Set INTEGRATIONS_TOKEN_KEY (a random 32-byte key, base64) so the Google tokens Recruit stores are encrypted with a key of your own.

The recruiting agent

EveryoneInbox in the dashboard, and Slack direct messages

The agent does the work of a recruiting coordinator. It talks with the hiring team and with candidates, keeps every application moving, and only brings in a person when it can't settle something itself. Offers stay with your recruiters.

Your inbox

Every conversation with the agent lives in Inbox. Conversations that need you are listed first and counted in the sidebar. If your company uses Slack, the agent messages you there too, and you can reply in the Slack thread.

  • Decision needed: a hire call, or signing off a rejection.
  • Follow-up: something stalled that the agent is chasing.
  • Candidate request: something a candidate asked that only a person can handle.
  • Update: news that needs nothing from you.

Ask about a candidate

Open a candidate and choose Ask the agent. It answers from their resume, application and interview progress, and says where each answer comes from.

  1. 1Ask, for example: "Do they have experience in security?"
  2. 2If the resume doesn't say, the agent offers to ask the candidate, or asks straight away if that's what you want.
  3. 3The candidate sees the question in their application chat and by email.
  4. 4Their answer comes back into your conversation, written up clearly.
  • You only see what your part allows: interviewers see the candidate and their own feedback; hiring managers and recruiters see all of it.
  • The agent presents candidates in a good light, but never hides or bends a fact. If they don't have something, it says so.

Tell it your call

Hiring managers and recruiters can tell the agent their decision in plain words, such as "let's move her on" or "no, not senior enough", and it carries it out and lets the candidate know.

  • Hiring managers can move candidates on and make the hire call.
  • Only recruiters can reject. When a hiring manager says no, the agent takes it to the recruiter to confirm.

What it chases

The agent watches every application and chases whoever it's waiting on, once each, before bringing anyone else in.

  • No one can interview for a round: tells the recruiter right away.
  • Feedback a day late: reminds the interviewer. Three days late: tells the hiring manager.
  • A review waiting two days: reminds the reviewer.
  • Candidate hasn't shared availability after three days: nudges them. After seven: asks the recruiter.
  • Take-home assignment past its deadline: asks the recruiter to extend or close.
  • You haven't replied to the agent in two days: one reminder, then it asks your recruiter or an admin.

Jobs and your careers page

RecruitersJobs

Recruiters create jobs from a short description. Each published job appears on your company's careers page, where candidates apply.

Create a job

AI writes the first draft; you stay in control of every word. A job needs levels, job roles and an interview flow for its role and level first; until then, New job shows what's left to set up.

  1. 1Choose New job and describe the role in a sentence or two.
  2. 2Pick the job role and level. The matching interview flow is attached automatically.
  3. 3Edit the drafted title, summary, responsibilities, requirements, location and salary range.
  4. 4Set the hard gates (below), then publish.

Hard gates

Must-haves such as work authorisation, salary band or years of experience. Every applicant is checked against them the moment they apply, the same way every time.

  • Applicants who miss a gate don't enter the interview process, but are kept so you can review them if a gate was set wrong.
  • The applicant page shows which gate was missed and why.

Interview flows

Interview designersInterview Flows

An interview flow is the sequence of steps a candidate goes through for a role. Interview designers build them once; every new applicant follows the flow as it was when they applied.

Stage types

Each step is made of stages, and each stage has a type that decides what happens when a candidate reaches it.

  • Interview: live with an interviewer. The candidate shares availability, it's booked, the interviewer writes feedback.
  • Review: no candidate involvement. A reviewer reads the application and scores it.
  • Assignment: a take-home task with a brief and a deadline; the candidate hands in a link and a reviewer scores it.
  • Decision: an internal meeting such as a debrief. The agent asks the hiring manager for the outcome.
  • Offer: tracked by the recruiter through to accepted or declined.

Rubrics and levels

Each stage has a rubric: the criteria interviewers rate, with what good looks like. Expectations can change with the job's level, so an L6 is held to a higher bar than an L4 in the same round.

Parallel rounds

Put several stages in one step to run them side by side, for example coding and system design on the same day. The candidate moves on once every round in the step is done.

Who can interview

Give each interviewer a level and skill labels on the Team page. Scheduling only picks people with every label the round requires who are senior enough for the job's level. People without any labels are never asked to interview.

Skill labels

Skill labels such as Coding, Design or Security say what someone interviews for. Have a stage require them: a live coding round that requires Coding only goes to interviewers labelled Coding, and a round that requires two labels needs someone with both. A round that requires none can go to anyone with a label.

  • Labels are set on each person from the Team page, and on stages in the stage library.
  • Type a new label or pick one already in use; different capitalisation is treated as the same label.
  • Interviews already under way keep the labels their stage had when the candidate applied.

Scheduling

CandidatesInterviewers

Nobody books interviews by hand. When a candidate reaches an interview step, they're asked for their availability, and Recruit matches it against eligible interviewers' calendars.

How a round gets booked

A time is held the moment the candidate shares when they're free, and confirmed once everyone accepts the invite.

  1. 1The candidate gets an email and picks the times they're free, in their own time zone (or tells the assistant).
  2. 2Recruit checks every eligible interviewer's calendar and preferences, and picks the best match.
  3. 3It sends a calendar invite with a Google Meet link: from your company's invite address to both the interviewer and the candidate, or from the interviewer's own calendar to the candidate. Parallel rounds are held on the same day where possible.
  4. 4Once the interviewer and the candidate have both accepted, the interview is confirmed and both are told.
  5. 5If nothing fits, the candidate is asked for more times.
  • Times start at least 24 hours ahead and up to 10 days out.

Accepting and declining invites

Recruit watches every invite, so nobody has to chase replies.

  • An interview only counts as confirmed once everyone invited has accepted. The applicant page, My interviews and the candidate's portal show who it's waiting on.
  • If the interviewer declines, Recruit cancels the invite and books someone else in the times the candidate already gave; if nobody fits, it asks the candidate for more times.
  • If the candidate declines, the invite is cancelled and they're asked for new times.
  • No answer after a day: whoever hasn't accepted gets a reminder. Still unconfirmed a day before the interview: the job's recruiter is told.
  • When the event is on the interviewer's own calendar, they created it, so only the candidate needs to accept.

Interviewer preferences

Interviewers set their time zone, working days and hours, how many interviews they'll take per day and per week, and the break they need between them, on their Profile. Scheduling respects all of it, alongside their calendar.

Rescheduling

Candidates move their own interviews by asking the assistant. The new time is booked before the old one is released, so nobody is left without a slot.

  • Up to two moves per round.
  • Not within 24 hours of the interview; those requests go to a person.

Feedback and decisions

InterviewersHiring managersRecruitersMy interviews

Interviewers write feedback against the round's rubric, with AI doing the first draft. Once a step's feedback is in, the agent decides what happens next within clear rules.

Writing feedback

When your interview ends you're asked for feedback.

  1. 1Open the interview from My interviews.
  2. 2Pull the Google Meet transcript, or paste it, and add your notes.
  3. 3Let AI draft a rating and evidence for each criterion, plus a recommendation and summary.
  4. 4Edit anything you disagree with, then submit. Submitted feedback is locked.
  • My interviews also lists your past interviews with the feedback you gave.

What happens next

Once every round in a step has feedback, the agent acts:

  • All positive, with more interviews to come: the candidate moves on straight away.
  • Mixed: the agent weighs the evidence. It moves the candidate on and tells the hiring manager, or asks the recruiter to sign off a rejection.
  • Any strong no, or all negative: the recruiter is asked to sign off the rejection.
  • Last interviews done: the hiring manager gets a summary of strengths and concerns and makes the hire call.
  • A rejected candidate gets a kind message without reasons. A hired candidate is handed to the recruiter for the offer.

For hiring managers

Hiring managersHiring manager

Any employee can be a hiring manager. A recruiter assigns you to a candidate, and you get a view of everything about them.

Following a candidate

Hiring manager lists every candidate you're responsible for and where they are. Open one to see their profile, resume, progress and every round's feedback as it arrives.

Making the call

When the loop is done the agent sends you a summary in your inbox and Slack. Reply with your decision; ask it anything first if you need to.

For candidates

CandidatesCandidate login

Candidates have their own account. They apply with a saved profile, follow each application, and deal with the hiring team through an assistant that can actually get things done.

Profile and applications

Fill in your profile and resume once and apply to any company on Recruit with it. Applications lists them all, and each shows the job description, your progress, and what's next.

  • You see the steps you've done and the one you're on; later steps stay hidden until you reach them.

Your status

Each application says where it stands in plain words, such as "Finding interviewers for your system design", "Waiting for feedback" or "Share your availability". If it isn't moving forward, it says so kindly.

The assistant

Every application has a chat with an assistant that knows the role and your progress.

  • Ask about the role, the company or where things stand.
  • Share your availability or move an interview just by saying when you're free.
  • Hand in a take-home assignment by sharing the link.
  • Answer questions from the hiring team when they ask.
  • Anything it can't do, such as accommodations or offer questions, it passes to a person, and their answer comes back in the chat.

Team and hiring dashboard

AdminsTeam and Dashboard

Company admins manage who's on the team and see how hiring is going.

Team

Invite people by email with a role, change roles, and remove access. Invitations expire after 72 hours. Levels and job roles are set up here too.

Hiring dashboard

Pick a date range and see how hiring went in it.

  • Jobs posted
  • Applicants
  • Hires
  • Average time to hire
  • Applicants rejected
  • Hiring rate

Integrations

AdminsEveryoneTeam → Integrations, and Profile for your own calendar

Recruit works through the tools your team already uses. Admins choose and connect them; each employee links their own calendar. For the setup steps, see Admin onboarding.

Calendar and video

On Google Workspace, your Workspace admin approves Recruit once and everyone's calendar at your domain just works; otherwise interviewers connect their Google account from their profile. Recruit reads free/busy times, sends interview invites with a Meet link, and can pull transcripts for feedback.

Slack

An admin installs the Slack app in one click. Employees are matched by work email, get direct messages from the agent, and can reply in the thread.

Email

Candidates are always reached by email as well as in their portal; employees get email whenever Slack can't reach them.

Integration test drive

AdminsIntegrations

A guided dry run for admins. A test job and test candidate go through the real flow, so you can see that calendar invites, Meet links, emails and Slack messages all arrive.

Running it

Go step by step, pressing Next as you check each one. Every integration is shown as Working, Failed or Not tested, with the reason when something fails.

  • Messages go only to the admin running it.
  • Test data is kept apart and never appears in your real jobs or metrics.

Limits and safeguards

Everyone

Wherever AI acts, it proposes and Recruit checks. These limits are enforced by the platform, not left to the AI.

What the agent can and can't do

  • It never rejects anyone on its own: a recruiter signs off every rejection.
  • It never makes the hire call: a person does.
  • Offers, negotiation and offer presentation stay with recruiters.
  • It only shares what the person it's talking to may see.
  • Candidates' assistant: up to 10 actions per application per day, and 50 questions per application.
  • Up to three open questions from the team to a candidate at a time, and three open requests from a candidate.
  • Every action is recorded and shown on the applicant page.

Ready to start?

Sign in to your team's workspace, or track your applications.