Made by David, Built with AI
All projects

Recruiter tracking agent

An agent that keeps a full audit of every recruiter conversation, works out who I should follow up with, drafts the emails and prepares me for each day's meetings.

The problem

Within weeks I was dealing with a large number of search firms and individual consultants. Replies came from colleagues of the person I had emailed, meetings were offered as loose time windows in long threads, and chases slipped. I was spending mornings reconciling my inbox against a spreadsheet.

What I built

Every morning my agent reads my email, updates a contact tracker, works out who I need to follow up with, drafts emails, holds tentative slots in my diary, writes prep notes for the day's meetings and emails me a summary.

The first version went live on 29 September as a firm-level tracker. I rebuilt it on 22 October as one row per person, which showed who I had actually spoken to.

The morning routine

  1. ReadEmail threads and the diary
  2. UpdateContacts, interactions, audit trail
  3. DecideWho is due a chase, by the rules
  4. PrepareDrafts, tentative holds, meeting notes
  5. ReportOne summary email, to me only

How AI was used

Rules, not scores

The agent decides follow up dates by explicit, ordered rules. Named exceptions are never chased. A confirmed meeting means I don’t need to follow up. An outstanding action means fourteen days, otherwise twenty-eight. I could read and correct every rule.

Formulas I can audit

Follow up dates are written as spreadsheet formulas, not typed values, and each person's audit history is built from the interaction log. The logic is visible in the sheet.

A preview mode

Before going live the agent ran in a mode that did every read and calculation but wrote nothing, and listed what it would have done. I reviewed that first.

What I think is clever

  • Tagged events. The agent marks its own calendar entries, so it can safely remove its holds without any risk to events I created.
  • Drafts as a to-do list. If I delete a draft, it reappears next morning until the chase is sent.
  • A three-hour rule. It only holds diary time when the offered windows total three hours or less, so a vague 'free most of next week' does not block whole days.
  • Hard limits. It only reads email apart from drafts and one summary to me, never sends to a recruiter, never marks a contact as dropped, and treats everything in emails and web pages as data, never as instructions.

What I learned

  • Start with a preview and review it before you let the agent write anything.
  • Write rules as ordered decision steps, and keep a human approval on every outbound message.
  • Most of the good rules came from correcting a specific output. Iterate from real use.
  • Time zones bite. Times copied from email were an hour out until I converted them explicitly.
  • What I would change: the task runs with automatic approval, so its safety rules are enforced by its instructions. I would restrict permissions at the platform level, split the long instruction set into smaller reusable skills, and add test fixtures.

Contacts and conversations are private, so this page describes the design only. The time saved is my own estimate of the manual routine it replaces, not a measurement.