DocsRecruitment
Endorsements and the portals
How an application is put in front of a principal, why contact details stay hidden until selection, and precisely what the applicant and employer portals can do today.
An endorsement is the moment an application leaves your office and becomes the principal’s decision. HRTEQ models that decision explicitly, and it protects the applicant’s contact details until the decision is actually made.
The decision states#
| Decision | Meaning |
|---|---|
PENDING | Sent to the principal, no response yet. |
SHORTLISTED | Of interest, not yet interviewed. |
INTERVIEW | The principal wants to interview them. |
REJECTED | Declined, with optional feedback recorded. |
SELECTED | Accepted. This is the state that reveals contact details. |
Each endorsement carries a decisionAt timestamp and a free-text feedback field, so a rejection reason from the principal is kept alongside the decision rather than in an email thread.
Contact details are withheld until selection#
An endorsement record has a contactRevealedAt timestamp, and it stays null until the decision reaches SELECTED. Before that point the principal sees the professional profile — experience, skills, training, position fit — but not the applicant’s phone number or email.
The reveal is a recorded event, not a permission. When it happens, endorsement.contact_revealed is written to the audit trail with the endorsement it relates to.
Endorsement and interviews are linked#
A decision of INTERVIEW is normally followed by an interview plan of type PRINCIPAL. Scheduling that plan completes the EMPLOYER_INTERVIEW_SCHEDULED checklist item, and a PASSED result completes EMPLOYER_INTERVIEW_PASSED — which is the entry requirement for the SELECTED stage. So the endorsement decision, the interview and the pipeline stage all move together rather than being reconciled by hand. See Interviews.
Audit actions for this area are endorsement.sent, endorsement.decided and endorsement.contact_revealed.
The employer portal today#
What the portal does give a principal contact is a live count of how many applicants are in flight per job order, and a chat channel to your team through the floating messenger. Endorsement decisions are recorded by your staff on the principal’s behalf.
PrincipalContact has a hasPortalAccess flag, but nothing in the product sets it and there is no invite flow. Employer users currently exist only in a seeded or operator-provisioned database, which in practice means the employer portal is reachable for demonstrations rather than for production principals.The applicant portal today#
The applicant portal is more useful than the employer one, though still read-mostly. An applicant signing in on the applicant surface sees:
- My applications — each position they are up for, the principal, the jobsite country, and the stage they are currently at, by name.
- My files — each document on record, its type, when it was last updated, and whether it is verified.
- Chat — a channel to your team.
Document types flagged portalUploadable are the ones intended for applicant self-service upload. All 17 applicant-level types are flagged that way; none of the application-level types are, because an employment contract or an OEC is not something an applicant produces. See Document types.
What is planned but not built#
To be explicit, so nothing here is promised to a principal by mistake — none of the following exists in the product today:
- A principal-facing candidate list, profile view or shortlisting action.
- Video interview recording or playback.
- Candidate ratings or scoring visible to a principal.
- Portal branding per principal.
- An invite flow for principal contacts or applicants.
The data model supports most of it — the endorsement states, the contact-reveal audit and the portal-access flag are all in place. The portal surface is what has not been built out.
