Talent Notes
The TalentNote system allows users to add internal notes directly to talent profiles, independent of any job candidacy. While the platform already supports Candidate Notes (attached to a talent-job pairing), TalentNotes fill the gap for notes that belong to the talent profile itself.
Why TalentNotes?
Previously, notes could only be attached to candidates -- meaning a talent had to be linked to a specific job before a recruiter could write anything about them. This created a friction point in common sourcing workflows:
- A recruiter reviews a CV in a talent pool but has no job to apply them to yet
- A hiring manager wants to capture general impressions after an informal conversation
- A sourcing specialist wants to tag a talent with context for future reference
TalentNotes solve this by providing a dedicated, job-independent note system on talent profiles.
| Feature | CandidateNote | TalentNote |
|---|---|---|
| Attached to | Candidate (talent + job) | Talent (profile) |
| Requires job link | Yes | No |
| When to use | During recruitment pipeline | Before or independent of job applications |
| Visible in | Candidate detail page | Talent profile page |
| Author restriction | Edit/delete by author only | Edit/delete by author only |
Data Model
The TalentNote model stores notes linked to a Talent record, authored by a User.
| Field | Type | Description |
|---|---|---|
id | String (UUID) | Primary key |
talentId | String (FK) | Reference to the talent profile |
authorId | String (FK) | Reference to the user who created the note |
title | String? | Optional title for the note |
content | String | Note body (required) |
createdAt | DateTime | Timestamp of creation |
updatedAt | DateTime | Timestamp of last update |
Relations:
Talent-- a talent can have many notes (1:N)Useras Author -- each note has exactly one author
GraphQL API
Mutations
Create a Note
mutation {
createTalentNote(input: {
talentId: "talent-uuid"
title: "Initial screening impressions"
content: "Strong backend skills, 5+ years NestJS. Good communicator."
}) {
id
title
content
author { firstName lastName }
createdAt
}
}
Input fields:
talentId(required) -- the talent to attach the note totitle(optional) -- a short title or subject linecontent(required) -- the note body
Auth: JWT required. The authenticated user is automatically set as the author.
Update a Note
mutation {
updateTalentNote(input: {
id: "note-uuid"
title: "Updated title"
content: "Updated content with more detail."
}) {
id
title
content
updatedAt
}
}
Input fields:
id(required) -- the note to updatetitle(optional) -- new title, or omit to keep unchangedcontent(optional) -- new content, or omit to keep unchanged
Auth: JWT required. Only the original author can update their note.
Delete a Note
mutation {
deleteTalentNote(id: "note-uuid") {
id
}
}
Auth: JWT required. Only the original author can delete their note.
Queries
List Notes for a Talent
query {
talentNotes(talentId: "talent-uuid") {
id
title
content
author {
id
firstName
lastName
}
createdAt
updatedAt
}
}
Returns all notes for the specified talent, ordered by createdAt DESC (newest first).
Auth: JWT required. The user must have access to the talent (through talent pool membership or sharing).
Frontend Integration
The TalentNote system integrates into the talent profile view through a shared NotesSection component that adapts based on context.
Resume Mode vs. Candidate Mode
When a user views a talent profile, the frontend determines which note system to use:
- Resume mode (viewing a talent profile directly) -- uses TalentNotes via
createTalentNote,updateTalentNote,deleteTalentNote - Candidate mode (viewing a talent as a candidate for a job) -- uses CandidateNotes via
createCandidateNote,updateCandidateNote,deleteCandidateNote
The NotesSection component handles this mode switching internally, so the user experience is consistent regardless of context.
The "Internal Notes" tab appears in the talent profile sidebar. Notes from all company members with access to the talent are displayed together, giving the team a shared view of observations and context.
Access Control
| Action | Who Can Perform |
|---|---|
| Create a note | Any authenticated user with access to the talent |
| View notes | Any authenticated user with access to the talent |
| Update a note | Original author only |
| Delete a note | Original author only |
Notes are scoped to the talent. All company members who have access to the talent (through pool membership, sharing, or collaboration) can view all notes on that talent. However, editing and deletion are restricted to the note's author.
TalentNotes are internal to the platform. They are never visible to the talent themselves (the job seeker). Only users with access to the talent profile through company membership or sharing can see notes.
Use Cases
Sourcing & talent pool curation: A sourcing specialist reviews CVs in a talent pool and adds notes like "Strong React + TypeScript, 3 YOE at fintech startups. Ideal for frontend roles." -- before any job is posted.
Post-conversation notes: After an informal phone screen or networking event, a recruiter captures impressions: "Spoke at React conference. Interested in remote roles. Available from Q2."
Cross-team context sharing: A hiring manager adds context that helps other recruiters: "Previously interviewed in 2024 for Senior role -- strong technically but wanted higher comp. May reconsider now."
Pre-application intelligence: Before adding a talent as a candidate to a specific job, a recruiter checks existing TalentNotes from colleagues to understand prior interactions and impressions.
Related Pages
- Talent Management -- talent profiles, pools, CV management, sharing
- Candidate Management -- candidate-level notes, status pipeline
- Talent Activity -- audit trail of talent lifecycle events