Recruitment Desk

Recruitment Desk: a mobile desk for a recruitment agent swarm

Recruitment Desk is a mobile-first desk for a recruitment agent swarm, commissioned by Omega Labs. Its jobs, resume and calling lanes are built and tested with fakes; live calling and live SEEK publishing are in development.

The problem

Recruiting work repeats the same steps: taking a job from one source into a listing for another board, phrasing a resume for each board, and holding a first-round call. The steps are spread across tools, and each one needs a person to check it.

01 / 07

What is Recruitment Desk?

Recruitment Desk is a mobile-first desk for a recruitment agent swarm. Omega Labs commissioned it. The backend is an Agno team exposed over AG-UI, and the phone interface is a Next.js app that uses CopilotKit. The desk has three lanes: jobs, resumes and calls.

02 / 07

What problem does it solve?

Recruiting work repeats the same steps. A job has to move from one source into a listing for another board. A resume has to be phrased for each board. A first-round call has to be held and written up. Recruitment Desk keeps those steps in one mobile desk. A person makes each decision, and the desk does not decide hiring outcomes.

03 / 07

How does it work?

The README describes three lanes:

  • Jobs. A job you already have can be imported and mapped into a SEEK listing. The desk does not log in to LinkedIn or crawl it. An optional LinkedIn jobs URL must be an endpoint the operator runs, and linkedin.com addresses are refused.
  • Resumes. A resume is phrased toward SEEK or LinkedIn, then back again. A keyword is rewritten only when the source resume already says the same thing. Skills the resume does not support are listed as missing and are not inserted.
  • Calls. A call session is planned from the job and the resume, with up to four interview questions. The desk tracks each turn, dials through Twilio when account settings are present, and scores a transcript.

The Calls screen opens a session, sends the candidate's replies, starts the dial, and takes a pasted transcript for scoring.

05 / 07

How are calls scored?

The score is an initial keyword screen with a human decision. The screen checks whether the transcript names each skill the resume already claimed. It returns progress, hold, stop, declined, or not reviewed. A candidate who says they are not interested gets a stop. A candidate who answers no to the disclosure is marked declined, and the call is not scored.

The known limits are these. The screen reads the whole transcript without separating speakers, so the interviewer's words can match a skill name. On the voice path, scoring can run once the planned questions appear in order in the conversation, which can happen before the candidate's last answer. A person decides the next step in every case.

06 / 07

Current status

Built and tested with fakes. Live calling and live SEEK publishing are in development. The tests in tests/ cover calling, the API, SEEK drafts and the voice bridge. None of them replays a live call.

Built

  • Job import, and SEEK listings kept as drafts on the desk.
  • Resume phrasing, with a deterministic bridge and a DSPy phrasing engine beside it.
  • Call sessions, consent handling, the dial code path, transcript scoring, and the Calls screen.

In development

  • Live calling through Twilio and Grok voice.
  • Live SEEK publishing. A listing stays a draft until SEEK_POST_URL, SEEK_API_TOKEN and AUTO_POST are all set. Live posting uses a generic JSON endpoint, not SEEK's own API.
  • The call disclosure names transcription and does not yet name the recording fallback.

07 / 07

Source notes

Paths are relative to the recruitment-swarm repository. The repository has no git history in this checkout, so no commit is cited.

  • README.md
  • src/recruitment_swarm/api.py
  • src/recruitment_swarm/calling.py
  • src/recruitment_swarm/resume_bridge.py
  • web/app/calls/page.tsx

Questions

Frequently asked questions

01

Is the Recruitment Desk making live calls today?

Not yet. Calling is built and tested with fakes, and live calling is still in development. The tests do not replay a live call. An operator starts each call from the desk interface.

02

Does the desk record calls?

The call script says the call is transcribed by Grok and asks the candidate to agree. A call moves forward only on a clear yes. Where no Grok voice login is available, a fallback asks the questions and records one answer pass, which is then sent for transcription.

03

Does the desk publish jobs to SEEK?

Not live yet. A SEEK listing stays a draft unless the publishing settings are all set. Live posting sends to a generic JSON endpoint, not to SEEK's own API, and is in development.

04

How are calls scored?

The score is an initial keyword screen with a human decision. It checks whether the candidate spoke to each skill the resume claimed. It can count words the interviewer said, and the voice path can score before the last answer. A person decides what happens next.

Sources

Sources

  • Recruitment Swarm README recruitment-swarm, README.md
  • Desk API recruitment-swarm, src/recruitment_swarm/api.py
  • Calling module recruitment-swarm, src/recruitment_swarm/calling.py
  • Resume bridge recruitment-swarm, src/recruitment_swarm/resume_bridge.py
  • Calls screen recruitment-swarm, web/app/calls/page.tsx