Cookbook
Run a recruitment desk where the candidate outlives the placement
A recruitment desk is two-sided and the relationship outlives every placement in it. That is a different record shape from a sales pipeline, and getting it wrong is why most agencies cannot answer their own best question.
What this is, and what it is not
Indraft holds no CVs. No document storage, no parsing, no search across résumé text. If your applicant tracking system is where CVs live, it stays exactly where it is and this sits beside it.
What this holds is the thing an ATS is usually bad at: the history of a relationship with a person across every role you have ever put them in.
The modelling decision
A placement is the record that moves. Not the candidate, and not the role. A candidate is a person you will place again in three years; a role is a client's need that either fills or does not. The placement is the thing that joins them, and there are many of them per person over time.
Model it the other way, with a stage on the candidate, and you get the failure every agency database has: the person is "Placed", then they finish, and now the record says something that was true in 2024.
And the candidate itself: your own type, with its key declared. This recipe used to leave that to be inferred, which was not good enough, because the choice decides whether you spend next year merging records. A Candidate carries your rates and your process, so it is yours rather than a Contact. Name the field that identifies one when you define it, usually the email, and the same person sourced twice by two recruiters is one record instead of an ownership argument with a client. Without that a type of your own matches nothing, and 25,000 candidates becomes 31,000 in a year.
Declaring it on a type you already filled is safe: if records already share an email it refuses and names them, so nothing is merged behind you. Merge those with the duplicates recipe and declare it again. And keep asking for proposals afterwards, because a declared key stops the same email twice and cannot know that a work address and a personal one are one person.
You
The question a desk actually asks
Somebody rings with a role. The first thing worth knowing is who you have placed before who might fit, and what happened.
You
Agent
That is the whole argument for this model in six lines. One person, two years, temp driver twice and then a permanent supervisory role at a different client, with the margin rising each time. Nothing overwrote anything. A recruiter looking at that knows immediately whether to call him about the next yard role and what he is worth.
Ask it of a candidate-shaped record with a single status and the best you get is "Placed", with the other two placements either gone or duplicated into second and third copies of the same human being.
Redeployment, which is the money
A temp finishing is a placement you already sold once. The desks that make money are the ones that know a fortnight in advance.
You
Agent
The agent narrows that to the window you care about. The discipline worth keeping is recording the end date at the moment the placement is agreed rather than when it happens, because a date added afterwards is a date that tells you nothing you did not already know.
Where the desk actually earns
You
Agent
Three driving placements for less margin than one finance placement is the kind of thing everybody suspects and nobody has in front of them. It is also the number that should decide where a desk spends next quarter, rather than which discipline shouts loudest at Monday's meeting.
The same question, by client and by candidate
Margin by client and margin by candidate are the same shape of question, and both are answered directly: ask by the name you declared the relationship under. That is what turns "who is our best client" from a spreadsheet into a sentence. Past a couple of hundred groups you are told the answer is too long to read, which is the point at which the question wanted narrowing rather than a longer list.
Verify it
- Place the same candidate twice. Two placements, one person. If the second overwrites the first, the stage is on the wrong record and everything above stops working.
- End a placement and ask the history again. The finished one should still be there with its dates, not disappear.
- Check a margin total against your invoicing. Once, at the start. A margin figure nobody has reconciled is a number people quote until it embarrasses them.
Run it again
The history question every time a role comes in, which is the habit worth building. Redeployment weekly. Margin by discipline monthly, and take it seriously when it disagrees with where the desk is spending its time.