← Help centre

People records

Signed in? Ask Lovelio this question inside the app - it answers from this same page.

People is the agency's database of people, and it is called People in the left rail because it holds two kinds: candidates, and the contacts at your clients. Both are one record type - see the People record section of the company identity card. Every person belongs to the agency, never to a client: a candidate can be submitted to three different clients and each client only ever sees what the agency chooses to send them. The People page is where you search, browse, and open those records.

"Candidate" is still the right word for a role, not a place: the tab on a job, the pipeline stages and an application all stay candidate-worded, because that is what someone in a hiring process is.

What a record holds

A candidate record stores name, email, phone, location, LinkedIn URL, current job title, current employer, skills, the CV, referees, a 1-5 star rating, an open-to-work flag, a do-not-approach flag, and a preferences section (below). When the CV on file could not be read, the record header, the CV tab, the application panel and the list rows all show "CV not read" with the reason (scanned, password-protected, empty, wrong file type); search, matching and the assessment never saw that CV, so upload a readable copy and the flag clears on its own. Automatic retries stop when a CV is unreadable. Uploading a replacement CV or an improved document reader gives it another attempt. Temporary service failures still retry. Source is recorded (how they entered the system). Edit these on the Profile tab: click "Edit", change fields, then "Save changes" or "Cancel". Placing a candidate updates their current job title and current employer to the placed role automatically.

Location always reads as suburb and state, or city and state: "Balmain, NSW". A candidate's street address is never shown on the grid, the record, an export, or anything sent to a client, even when a CV parse captured one.

Star rating

The star rating is your agency's own opinion of the candidate: one shared rating per candidate, 1 to 5 stars, blank until someone rates them. The stars sit at the right-hand end of the facts strip in the record header, under the contact details. Click a star to rate - there is no edit mode and no save button. Click the same star again to clear the rating. Nobody rated yet shows one star and the word "Rate"; point at it and the full row of five opens. Rated candidates show a small star badge next to their name on the candidate grid and in search results.

AI search filters on it: "5 star candidates", "developers rated 4 and up", "3 stars or below". Candidates nobody has rated never match a rating search - nothing is guessed. The rating never moves anyone up or down a result list on its own; it filters, like a tag.

Candidate preferences

The Preferences section on the Profile tab captures what the candidate WANTS, separate from what their history says: preferred roles (for example "Head of Sales"), preferred locations with an open-to-relocation flag, work types (permanent, contract, temp, part-time), a seniority preference, salary expectation in their own words (annual figures and day or hour rates both work, for example "145k plus super" or "850/day"), notice period, an available-from date, and work rights. Edit it with its own "Edit" button: roles and locations are added as chips, work types are toggles, and everything saves with "Save changes" or backs out with "Cancel".

Every preference is searchable. AI search understands asks like "marketers open to contract work who want to move to Sydney", "open to relocation", "wants a director role", "available within a month" (a stated notice period or an available-from date both count), and "on under 120k". Preferred locations are place-aware the same way normal locations are: a candidate who wants "Manly" matches a search for candidates wanting Sydney. Candidates with no captured preference simply do not match preference filters; nothing is guessed from the CV.

"Extract from notes" in the section header reads the candidate's recent call notes and timeline notes and proposes preference updates. Nothing is written until you review the playback and click "Apply". Extraction only adds to preferred locations, never removes what is already stated, and it never invents a preference the notes do not state.

Tags

Tags are flat labels your team puts on a candidate: "ex-McKinsey", "hot", "2019 import", whatever you want to find that person by later. A tag is a name and nothing else. There are no colours, no categories, and no per-tag settings.

The Tags section sits on the Profile tab under Preferences. "Add tag" opens a box: type a label and press Enter, or pick one your team already uses from the list (it shows how many candidates carry each one). Click the x on a chip to take a tag off. Every change saves immediately, so there is no "Save changes" step. A candidate can carry up to 20 tags and a label can be up to 40 characters.

Tags are shared across the agency, and they are deduplicated ignoring case and spacing: if someone already made "Python", then typing "python" puts that same tag on the record rather than making a second one. The label keeps the spelling it was first created with. Renaming a tag changes it everywhere at once.

AI search understands tags: "consultants tagged ex-McKinsey", "everyone labelled 2019 import". You have to say tag or label for it to search tags, because "ex-McKinsey people" on its own is a search of employment history, which is a different question.

Tags do not affect ranking or matching. They filter, and that is all: a tag is a label your team chose, not evidence about the person, so it never quietly moves someone up or down a result list.

An automation can tag a candidate too: the "Add tag" automation action puts a label on the candidate behind the application that triggered it.

The snapshot popup

Clicking a candidate row on the grid opens the Person Snapshot, a small floating popup, not the full record. It answers "what is this person to us, and when did we last really interact?". A person can be a candidate, a client contact, or both; when they are both, the popup shows a tab per capacity (Candidate on the left, Client contact on the right), each tab carrying its own freshness ("spoke 3 weeks ago", "met 12 days ago"). The summary sentence, the timeline, and the footer link all follow the active tab. The summary is plain words on a tinted banner: green when you have been in touch recently, amber when it has been months, red when you have never spoken or it has been very quiet. It states where the relationship stands and stops there - it never tells you what to do about it. The small print under it names who last dealt with this person, not who owns them, and on a migrated database that is the consultant who wrote the note back at your old system, not whoever ran the import. Under it, the last three meaningful moments in that capacity, newest first: calls, interviews, placements, submissions, jobs briefed, meetings, notes. A person with no history says so honestly, with when and how they were added. Freshness counts a logged note as a touch, because on an imported database that is often the only record of the relationship - but a note only ever reads "in touch", never "spoke", since writing a note is not the same as picking up the phone. Adding someone to the database, importing them or dropping them in a pool is housekeeping, not contact, and never counts - nor do the notes a migration writes out of leftover fields from your old system, which nobody wrote. The summary counts live processes the same careful way: a candidate is in a live process only when their application is still active AND the job is still open, so six untriaged applications on jobs that closed years ago read as nothing live, not six. A person with only one capacity gets no tabs; a label row shows the capacity and its freshness instead. The popup can be dragged and resized, and remembers its position per user. Clicking its body or the footer link opens the full record in the active capacity: "Open as candidate" (or "Open candidate" when there are no tabs) opens the candidate record, "Open as contact" (or "Open contact") opens their contact record inside the client. There is no visible score in the popup; the candidate score still powers search ranking behind the scenes.

The full record (slideout)

The full record opens as a right-side panel over the list, so the flow stays "click, glance, close, click next". The header leads with the name and prev/next arrows for walking the list, then the current role and location, then the contact details, then a facts strip: the role chips (Candidate, Contact at a client, Placed and when), the stage from the most recent application, "Open to work" when it is set, and the star rating at the right. Nothing sits above the name. Anything that changes what you are allowed to do - off limits, do not approach - drops into an amber band across the bottom of the header instead of competing with the chips, and a flag that is off draws nothing at all; set one from the "..." menu. The stage is left out when a chip has already said it, so a placed candidate reads "Placed Sept 2025" once, not twice. When the person is also a client contact, the role chips become a switch: click the "Contact at ..." segment and the panel flips to their contact record in place (details, documents, timeline for that role); click "Candidate" to flip back. The same switch sits on their contact record inside the client, so from either side the other record is one click away. The Roles tab's contact entries flip the same way. The segments show how each role was recorded: a contact somebody put on the client shows in colour, a role Lovelio derived because the person's own record says they work there ("works here") shows quiet, and a role their record says has ended shows quiet too, labelled "Past" - so a person who has moved on still shows both the client they left and the one they are at now. Three actions sit top right: "Add to job", "Email candidate", and a "..." menu carrying the rest of the candidate actions. When an AI assessment exists, a strip under the header shows the verdict and a one-line summary with a "Full assessment" link.

Tabs, in order: Profile, Applications, Referees, Timeline, Ask. The same tabs appear in the same order wherever a candidate opens. The AI assessment lives inside the Applications tab (it only exists in a job context) - the header's "Full assessment" link jumps there. Applications lists every job the candidate is attached to, each card showing the stage chip and next action; clicking one opens the application panel in place, over the candidate record. Ask is a Q&A tab where you ask questions about this specific candidate. The Timeline shows the full history as single-line rows that expand on click, with filter chips (emails, stage moves, AI activity, notes, changes) and a search box. Emails include inbound replies, not just what the agency sent.

Row actions and the "..." menu

The candidate grid row "..." and the slideout header "..." draw from one shared menu, so they never drift: Add to job, Spec (or Float) to a client, Share to marketplace, Add to talent pool, Assess against role, Email candidate, Log call, Add note, and Delete. Share to marketplace appears when the marketplace module is turned on (Settings > Integrations). The record's own menu adds the two flag toggles - "Mark as open to work" and "Mark as do not approach", which read "Remove ..." once they are set - because the header no longer draws a chip for a flag that is off. Grid rows also offer "Select for bulk actions"; on a talent pool members grid, "Remove from pool" appears too. Reject never appears on a candidate menu: only applicants who applied to a job can be rejected, on the job side.

The deal file on the job (applicants, not candidates)

Pipeline moves live on applications, not the candidate record. Clicking an applicant row on a job's Candidates tab opens the deal file: the same panel a row on the home page's money belt opens, and the same one a candidate dot or face opens on the jobs list's Race Track and Deal Board views, so every dashboard reads identically. It is a right-side panel like every other record panel (drag its left edge to resize - it remembers your width), with a journey rail down the left and the selected step's own pane on the right. The rail lists every step of the deal, top to bottom, never hiding one: Float, Review, Screen, Submission, Client interview, References, Offer, Placement, each with a coloured dot (green done, red went wrong, pink your move, amber waiting on someone, hollow not started), a one-line state and a date. Clicking a rung shows that step's pane on the right; opening a candidate opens the step that needs you, or the deal's furthest point. Every pane opens on one plain-English sentence (the verdict card) with the step's verbs on the card, and the step's content split behind tabs.

The Review rung is the triage step. Its card states where the human decision stands ("Sarah needs a decision.", "You marked Sarah Maybe.", "You marked Sarah Yes.") and, while the decision is open, carries the same Yes / Maybe / No triage buttons as the grid rows - pure stage moves, no emails, no other side effects, and the mark they already carry is hidden. While no human has acted on an AI verdict, the card notes the suggestion in so many words ("Lovelio suggests Yes - job fit 82."); the AI never decides. Below the card, "The assessment" tab holds the scorecard: their current role and phone number as a clickable link (a click opens your phone or VoIP app's dialler), the AI assessment's Job fit and Client fit scores (plus Screen once a phone screen has a score) with its summary, a "View full assessment" link that expands the per-criterion detail in place, and an "Our history with [name]" panel. The history panel is what your agency already knows about this person rather than what the AI thinks of them: a past placement, a contact role at a client, the last time somebody here was in touch, their star rating - each line only appears when there is something to say, and the whole panel is absent for a candidate you have no history with, which is most of them. "Employment history" is its own tab: the roles from their CV in their own words, each expandable.

The review queue rides along: the header shows where you are in the list ("3 of 14") with prev/next arrows, the left and right arrow keys walk the list, and on a Funnel or Maybe candidate's Review step the keyboard decides - Yes (Y or Enter), Maybe (M, funnel only), No (N). Deciding moves straight to the next candidate still waiting on you; when nobody is left, the panel shows "All reviewed" with the pass's tally. Every other rung works exactly as it does on the home page: a consultant can run the whole deal from here - screen, submit, book the interview, follow up referees, log the offer, create the placement - each start action opening the same popup windows the rest of the app uses. Backing out of one of those windows (the Back button or Escape) puts the deal file straight back where it was - nothing to reopen by hand.

Finishing an action closes its window and puts you back on the grid - it never drops you back on a card you had already read. Actions move stages, so if you were looking at one stage on the funnel strip the grid follows the candidate to their new one - finish a screen on a Yes candidate and the grid shows the Screen stage, with them in front of you. On the Active pipeline or All views nothing is re-filtered: the row is already on screen and just moves along. The strip never sends you to No or to a stage off the strip, so a rejection leaves you where you were. Triage decisions are the exception, and always were: marking Yes, Maybe or No walks straight to the next candidate waiting on you.

The Yes and Screen grid rows keep their verb buttons (Screen / Interview / Submit, and Interview / Submit / References), and DO NEXT still carries the recommended action - those open the action's own window directly, skipping the deal file, so a consultant who already knows the move loses no clicks.

The applicant "..." menu (the same nine, everywhere except triage rows and Yes)

Wherever you reach a job application - the applicants grid row, the next-move card or the applicant slideout header - the "..." menu opens with the same nine actions in the same order: Screen candidate, Book client interview, Request references, Create placement, Email candidate, Add note, Add to talent pool, Mark as No, Candidate withdrew. They never move and never disappear. An action you cannot do yet is greyed with the reason underneath it (for example "Log the offer first" on Create placement, or "Shortlist them first" on Request references). Anything else that is available right now - Shortlist, Submit to client, Run interview, Log offer, Record offer outcome, Reject, Move back to Maybe - is listed underneath those nine. Grid rows add one extra item at the bottom, "Full profile & CV", which opens the full record. Two kinds of row are the exception, both because the row itself already carries those actions as buttons. Funnel and Maybe rows on the applicants grid carry Yes, No and Maybe, so their "..." menu holds only Email candidate, Add note and Add to talent pool - everything else on that row belongs after the Yes, and clicking the row itself opens the deal file, whose header name opens the full candidate record. Yes-stage applicants carry Screen, Interview and Submit on the grid row, so the Yes menu is five items - Request references, Email candidate, Add note, Add to talent pool, Mark as No - with nothing greyed, no extras underneath and no Full profile item. Submit is offered once: on a Yes or Screen row whose candidate a submission has already carried to the client, the Submit button is greyed with "They are already with the client".

Selecting rows on the applicants grid gives the bulk bar the same words for the actions that work on many people at once: Submit to client, Email candidate, Add note, Add to talent pool, Mark as No, Candidate withdrew.

Saved searches

On the People search landing, "Save current search" stores the search as a saved view; saved views appear as clickable entries (up to 8 shown) and rerun the search. A personal saved search with a query carries a bell toggle to alert you when new candidates match. A settled AI search also stamps the URL, so copying the address shares the exact filtered view.

Open to work

Whether the candidate is in the market right now. The Chrome extension sets it automatically when it spots the open-to-work badge on their LinkedIn profile, and any consultant can set or clear it from the record's "..." menu ("Mark as open to work"). When it is set, a green "Open to work" chip shows in the header's facts strip; when it is not, the header stays quiet about it. AI search filters on it: "engineers open to work".

Do not approach

The off-limits flag. When set, the candidate is excluded from search, matching, and suggestions by default; "Do not approach" appears in the amber warning band across the bottom of the record header, and a marker shows on grid rows. Searching with an explicit do-not-approach filter is the one way to see flagged people; bookkeeping surfaces (duplicate checks, a job's existing pipeline) still show the record. Set or clear it from the record's "..." menu ("Mark as do not approach"), in the Profile tab's edit mode, or via the API.

Deleting and GDPR

"Delete" soft-deletes the record and closes any marketplace listing for that candidate. Deletion is blocked while the candidate has any application; on a bulk delete of a mixed selection, the free candidates are deleted and the attached ones are skipped. Separately, GDPR right-to-erasure permanently removes all candidate data: applications, interviews, assessments, talent pool memberships, call recordings, the marketplace listing, and every stored file. Erasure skips the 30-day file trash and removes the off-site copies too. It is irreversible. It exists only as an API call (DELETE on the candidate's gdpr-delete endpoint, needs an API key with candidates write scope); there is no button for it in the app. Both delete and GDPR erasure are locked capabilities: a company admin cannot grant them to other roles.

Common questions

  • Why did clicking a row not open the full record? Row click opens the snapshot popup; click its body or the footer link for the full record.
  • Why can I not delete this candidate? They have an application on a job. Close out their applications first.
  • Why is there no Reject on the candidate menu? Reject is an application-level action; it lives on the applicant menu on a job.
  • Why is an action missing from the applicant menu? It is not legal at the current stage; for example "Run interview" needs a booked interview first.
  • Why does a candidate not appear in search? Check the do-not-approach flag; flagged candidates are excluded by default.
  • Can a client see my candidate database? No. Clients only see the candidates the agency sends them in a submission.