# Canvider Product Guide

Canvider is a multi-tenant Applicant Tracking System (ATS). Every feature below is scoped to your
company (employer) only — teammates from other companies can never see your data.

**Main navigation (top bar):** Dashboard · Jobs · People · Analytics · Create Job · Profile menu
(Profile, Settings, Canvider Flow, Sign Out).

---

## How to read this document

Every feature below is described with the same five fields, so you can skim for what you need:

| Field | What it tells you |
|-------|-------------------|
| **Short Description** | What the feature is, in one line. |
| **Purpose** | The single outcome it delivers. |
| **Context** | *Why* the feature exists — the recruiting problem behind it, when it matters, and how it fits with the rest of Canvider. Read this if you are deciding whether a feature is worth your time. |
| **How to use it** | The exact click-by-click steps. |
| **Good to know** | Limits, costs, prerequisites and gotchas that are easy to discover the hard way. |
| **Related** | Other features you will likely need alongside this one. |

**A note on prerequisites.** Some features need an employer tier, a connected integration, or a
specific role. Those are always called out under **Good to know**, so check there before assuming
something is broken.

---

## Table of Contents

1. [Account & Access](#1-account--access)
2. [Dashboard](#2-dashboard)
3. [Job Creation](#3-job-creation)
4. [Job Management](#4-job-management)
5. [Candidate Sourcing & Discovery](#5-candidate-sourcing--discovery)
6. [Applicant Tracking (People)](#6-applicant-tracking-people)
7. [Applicant Detail Page](#7-applicant-detail-page)
8. [AI Features](#8-ai-features)
9. [Communication](#9-communication)
10. [Scheduling & Calendar](#10-scheduling--calendar)
11. [Analytics & Reporting](#11-analytics--reporting)
12. [Settings & Configuration](#12-settings--configuration)
13. [Careers Page & Job Distribution](#13-careers-page--job-distribution)
14. [Integrations](#14-integrations)
15. [Team & Permissions](#15-team--permissions)
16. [Privacy, Compliance & Security](#16-privacy-compliance--security)
17. [Plans & Credits](#17-plans--credits)

---

## 1. Account & Access

### Feature name: Sign In
**Short Description:** Log into Canvider with your email or username and password.
**Purpose:** Secure entry point to your company's recruitment workspace.
**Context:** Canvider stores CVs, contact details, salary expectations and candid internal hiring notes — data that is commercially sensitive and legally protected. Signing in does more than unlock the app: it establishes which employer's data you are permitted to see for the rest of the session, which is the foundation the whole multi-tenant system rests on. The math "Security Check" below the password field is a lightweight bot challenge that stops automated credential-stuffing scripts before they ever reach the password comparison, which is why you see it even though you are a legitimate user.
**How to use it:**
1. Go to the Canvider sign-in page (`/signin/`).
2. Enter your Email Address (or username) in the first field.
3. Enter your Password.
4. Solve the "Security Check" math question shown below the password field.
5. Optionally tick "Remember me" to stay signed in.
6. Click the "Sign In" button.

**Good to know:**
- Either your email address or your username works in the first field — both resolve to the same account.
- "Remember me" keeps you signed in for longer. Leave it unticked on shared or public machines.
- Five failed attempts lock the account for 30 minutes, so use "Forgot password?" instead of guessing repeatedly.
- Teammate accounts are invitation-only — an administrator at your company invites you. (New companies create their workspace via [canvider.com/signup](https://canvider.com/signup/).)

**Related:** [Account Lockout Protection](#feature-name-account-lockout-protection) · [Forgot Password](#feature-name-forgot-password) · [Sign Out](#feature-name-sign-out) · [Multi-Tenant Data Isolation](#feature-name-multi-tenant-data-isolation)

---

### Feature name: Account Lockout Protection
**Short Description:** Account locks temporarily after repeated failed sign-in attempts.
**Purpose:** Blocks password-guessing attacks against your account.
**Context:** Recruitment accounts are attractive targets because they contain thousands of verified names, emails and phone numbers — ideal raw material for phishing and identity fraud. The single cheapest attack against any login page is to try common passwords against a known email address thousands of times. A temporary lockout makes that attack economically pointless: an attacker who can only make five guesses per half-hour will never work through a password list. The cost to you is a mild inconvenience on the rare occasion you genuinely forget your own password.
**How to use it:**
1. No setup needed — this is always on.
2. After 5 failed sign-in attempts, your account is locked for 30 minutes.
3. Wait for the lockout to expire, or use "Forgot password?" to reset your password.
4. Sign in again with the correct credentials.

**Good to know:**
- The lockout is time-based and clears itself — no administrator has to unlock you.
- Resetting your password via email clears the lockout immediately, so it is the faster route.
- A separate rate limit also caps login attempts at 5 per hour per client, independently of the account lockout.
- Repeated lockouts you did not cause are a signal someone is targeting your address — tell your administrator.

**Related:** [Sign In](#feature-name-sign-in) · [Forgot Password](#feature-name-forgot-password) · [Rate Limiting](#feature-name-rate-limiting)

---

### Feature name: Forgot Password
**Short Description:** Request a password reset link by email.
**Purpose:** Regain access without contacting an administrator.
**Context:** Password resets are the single most common support request in any business tool, and every one that requires a human administrator costs both people time and creates a social-engineering risk — "I'm locked out, can you just reset it for me?" is the oldest attack in the book. Self-service reset over verified email removes both problems: proof of identity is possession of the mailbox, which is something an attacker outside your company does not have. It is also the fastest way out of a lockout.
**How to use it:**
1. On the sign-in page, click "Forgot password?".
2. Enter your Email Address.
3. Solve the "Security Check" math question.
4. Click "Send Reset Link".
5. Open the password reset email in your inbox and click the link inside.

**Good to know:**
- Use the email address on your Canvider account — a reset for an unknown address will not arrive.
- The link is time-limited. If you leave it too long, simply request a new one.
- Check spam or quarantine folders if the message does not appear within a few minutes.
- Requesting a reset is also the fastest way to clear an active 30-minute lockout.

**Related:** [Reset Password](#feature-name-reset-password) · [Account Lockout Protection](#feature-name-account-lockout-protection) · [Change Password](#feature-name-change-password)

---

### Feature name: Reset Password
**Short Description:** Set a new password using a time-limited emailed link.
**Purpose:** Restores account access with a strong, validated password.
**Context:** This is the second half of the forgot-password flow, and it is where password quality is actually enforced. The strength meter and the explicit requirement list exist because the most common cause of a compromised ATS is not a clever exploit but a reused or weak password. The link is deliberately short-lived: a reset link sitting in an old mailbox forever would be a permanent back door into your candidate database.
**How to use it:**
1. Click the reset link from your email to open the Create New Password page.
2. Type your New Password — watch the "Password Strength" meter.
3. Meet all requirements: 8+ characters, uppercase, lowercase, number, special character.
4. Re-type it in "Confirm New Password" and wait for "Passwords match!".
5. Click "Reset My Password".
6. Click "Back to Sign In" and log in with the new password.

**Good to know:**
- All five requirements must be met — 8+ characters, uppercase, lowercase, number and special character. The submit button stays inactive until they are.
- The link expires. If it has, go back to "Forgot password?" and request a fresh one.
- Reset links are single-use; a used link will not open the form again.
- Do not reuse a password from another service — credential reuse is the most common route into business accounts.

**Related:** [Forgot Password](#feature-name-forgot-password) · [Change Password](#feature-name-change-password) · [Sign In](#feature-name-sign-in)

---

### Feature name: Accept Invitation / Registration
**Short Description:** New teammates create their account from an emailed invitation.
**Purpose:** Onboards colleagues by invitation, never by open signup.
**Context:** Inside a company workspace, Canvider deliberately has no open "join this company" signup. If anyone could create an account and attach themselves to a company, candidate data would be one guessed company name away from a stranger. Invitation-only registration inverts that: an existing administrator decides who joins and, critically, what role they get, before the account exists at all. The email address is locked on this screen precisely so an invitation for one person cannot be redirected to another.
**How to use it:**
1. Open the invitation email from your company and click the invitation link.
2. Review the "Accept Invitation" page showing your name, company, and assigned role.
3. Your email address is pre-filled and cannot be changed.
4. Enter "Create Password" (minimum 6 characters).
5. Re-type it in "Confirm Password".
6. Click "Complete Registration".
7. You are redirected to the registration-complete page — now sign in.

**Good to know:**
- The role shown on this page was chosen by whoever invited you and determines what you can access from day one.
- Invitations carry an expiry date. If yours has lapsed, ask your administrator to send a new one.
- The email address cannot be edited here by design — ask for a fresh invitation if it is wrong.
- Registration does not sign you in automatically; go to the sign-in page afterwards.

**Related:** [Invite Team Member](#feature-name-invite-team-member) · [Manage Pending Invitations](#feature-name-manage-pending-invitations) · [Role-Based Permissions](#feature-name-role-based-permissions) · [Sign In](#feature-name-sign-in)

---

### Feature name: User Profile
**Short Description:** View and edit your personal and company information.
**Purpose:** Keeps your recruiter identity accurate across the system.
**Context:** Your profile is not decoration — it is the identity Canvider attaches to everything you do. Your name appears on internal comments, in the activity feed, on uploaded files and in @mention autocompletes, and your email is what teammates see when they need to chase you about a candidate. A stale profile (wrong department after a team move, an old phone number) quietly degrades every one of those touchpoints, which is why it is worth a two-minute check when you join and after any internal change.
**How to use it:**
1. Click your avatar in the top-right of the navigation bar.
2. Choose "Profile" from the dropdown.
3. Review Account details: Last Login and Account Created.
4. Edit First Name, Last Name, Email, Phone under "Personal Information".
5. Edit Company, Position, Department under "Company Information".
6. Click "Save Changes".

**Good to know:**
- "Last Login" is a useful self-check: an unfamiliar time or date is worth reporting to your administrator.
- Your name here is what appears on comments, mentions and file uploads across the app.
- Changing your email here changes where account notifications are delivered.
- This page edits *you*, not your company's public branding — that lives under Careers Page & Workloupe.

**Related:** [Change Profile Photo](#feature-name-change-profile-photo) · [Change Password](#feature-name-change-password) · [Team Mentions](#feature-name-team-mentions) · [Company Branding Assets](#feature-name-company-branding-assets)

---

### Feature name: Change Profile Photo
**Short Description:** Upload a personal avatar image to your account.
**Purpose:** Makes comments, activity and mentions easier to recognise.
**Context:** In a shared pipeline, several recruiters comment on the same candidates, and reading a wall of similar-looking text attributions is slow. Avatars turn that scanning problem into instant pattern recognition — you spot your hiring manager's note in a thread without reading a single name. It is a small feature with an outsized effect on teams of more than three or four people working the same jobs.
**How to use it:**
1. Open your Profile page from the avatar dropdown.
2. Click the "Change Photo" button.
3. In the "Upload Profile Photo" modal, click "Choose a photo (PNG or JPEG only)".
4. Select an image file from your computer.
5. Click "Upload".

**Good to know:**
- Only PNG and JPEG are accepted; other formats are rejected by the upload validator.
- Uploads are checked by file signature, not just extension, so a renamed file will not pass.
- A roughly square image works best — wide photos get cropped in the circular avatar frame.
- This photo is internal to your team; it is not shown to candidates.

**Related:** [User Profile](#feature-name-user-profile) · [File Upload Security](#feature-name-file-upload-security) · [Internal Comments](#feature-name-internal-comments)

---

### Feature name: Change Password
**Short Description:** Change your account password from inside the app.
**Purpose:** Lets you rotate credentials without an email reset.
**Context:** There is a category of moment where you need a new password immediately and the email round-trip is exactly the wrong tool: you typed your password into the wrong window, a colleague watched you type it, or you are following a company rotation policy. Requiring the current password before setting a new one also protects you against the classic unattended-laptop attack — someone at your desk cannot silently take ownership of your session by changing the password.
**How to use it:**
1. Open your Profile page from the avatar dropdown.
2. Click the "Change Password" button.
3. Enter your Current Password.
4. Enter your New Password.
5. Enter it again in "Confirm New Password".
6. Click "Change Password".

**Good to know:**
- You must know your current password. If you do not, use "Forgot password?" from the sign-in page instead.
- Use this immediately if you suspect your password has been seen or shared.
- The same strength rules that apply to a reset apply here — pick something long and unique.

**Related:** [Reset Password](#feature-name-reset-password) · [Forgot Password](#feature-name-forgot-password) · [User Profile](#feature-name-user-profile)

---

### Feature name: Interface Language
**Short Description:** Switch the entire interface between English, Turkish and Polish.
**Purpose:** Lets each recruiter work in their preferred language.
**Context:** Canvider is used by teams hiring across several countries, and the person screening CVs in Warsaw should not have to work in a second language to do it. The setting is per-user rather than per-company, so a Polish coordinator, a Turkish sourcer and an English-speaking hiring manager can all use the same workspace and the same candidate records in their own language. Note that this changes the *interface*, not your candidate-facing content — job descriptions and emails stay exactly as you wrote them.
**How to use it:**
1. Go to Settings → Preferences.
2. Click the "Language" tab in the left sidebar.
3. Under "Interface Language", review the list of available languages.
4. Click the language you want (the current one is marked "Current").
5. The page reloads in the selected language.

**Good to know:**
- The choice is personal — changing it does not affect your teammates' interfaces.
- Job descriptions, email templates and candidate data are *not* translated; only Canvider's own labels and buttons change.
- Supported languages are English (default), Turkish and Polish.
- The page reloads on switch, so save any in-progress form before changing it.

**Related:** [Settings Hub](#feature-name-settings-hub) · [Custom Email Templates](#feature-name-custom-email-templates)

---

### Feature name: Legal Documents
**Short Description:** Central page listing all Canvider legal and compliance documents.
**Purpose:** Gives fast access to terms, privacy and AI-usage policies.
**Context:** Anyone processing candidate data will eventually be asked to prove how it is handled — by their own legal team, by a client, by a security questionnaire, or by a candidate exercising a data-subject request. Hunting for a DPA in an old email thread at that moment is a bad experience. Collecting every document in one predictable place turns those requests into a link you can send in seconds. The AI FAQ is here for the same reason: candidates and works councils increasingly ask specifically how AI is used in screening.
**How to use it:**
1. Navigate to the Legal Documents page (`/legal-documents/`) or use the footer link.
2. Click "Terms of Service" to read the service agreement.
3. Click "Privacy Policy" to read data handling rules.
4. Click "Data Processing Agreement" for the DPA.
5. Click "FAQ on Data & AI Usage" for AI-specific answers.

**Good to know:**
- The Data Processing Agreement is the document your legal or procurement team will normally ask for.
- The "FAQ on Data & AI Usage" is the right answer when a candidate asks whether AI screened them.
- Bookmark this page if you handle vendor security reviews — it is the fastest source for those answers.

**Related:** [AI Usage Disclaimer](#feature-name-ai-usage-disclaimer) · [Sourcing Privacy Notice](#feature-name-sourcing-privacy-notice) · [Candidate Consent for Future Opportunities](#feature-name-candidate-consent-for-future-opportunities)

---

### Feature name: Sign Out
**Short Description:** End your session and return to the sign-in page.
**Purpose:** Protects your account on shared or public computers.
**Context:** Recruiters work from laptops in coworking spaces, client offices and shared interview rooms, and a Canvider session left open exposes every candidate's contact details and every internal note about them to whoever sits down next. Closing the browser tab does not reliably end a session — especially with "Remember me" enabled — so explicit sign-out is the only dependable way to end access. It is the single highest-value security habit in the product.
**How to use it:**
1. Click your avatar in the top-right of the navigation bar.
2. Click "Sign Out" at the bottom of the dropdown menu.
3. You are returned to the sign-in page.
4. Sign in again whenever you want to resume work.

**Good to know:**
- Closing the tab is not the same as signing out — the session can survive until it expires.
- This matters most when you ticked "Remember me" at sign-in.
- Signing out on one device does not affect your other devices.

**Related:** [Sign In](#feature-name-sign-in) · [Deactivate / Reactivate Team Member](#feature-name-deactivate--reactivate-team-member)

---

### Feature name: Account Deactivated Notice
**Short Description:** Deactivated users see an explanatory page instead of the app.
**Purpose:** Prevents access while explaining what happened.
**Context:** When someone leaves a team, their access has to stop immediately — but silently failing their login would generate a support ticket and a confused colleague. This page resolves the tension: access is genuinely cut off (they see no jobs, no candidates, no data), while the person still gets a clear explanation and a next step. It also covers temporary situations like a long leave of absence, where the account is meant to come back rather than be destroyed.
**How to use it:**
1. If your account was deactivated, signing in redirects you here automatically.
2. Read the notice explaining that access has been suspended.
3. Contact your company administrator to be reactivated.
4. Once reactivated, sign in again normally.

**Good to know:**
- Deactivation is reversible — no data is deleted and reactivation restores access as it was.
- Only an administrator at your own company can reactivate you; Canvider support cannot do it for them.
- Deactivated users are removed from @mention autocomplete, so teammates stop tagging someone who cannot reply.
- Deactivation takes effect immediately, including for a user who is currently signed in.

**Related:** [Deactivate / Reactivate Team Member](#feature-name-deactivate--reactivate-team-member) · [Role-Based Permissions](#feature-name-role-based-permissions) · [Team Mentions](#feature-name-team-mentions)

---

## 2. Dashboard

### Feature name: Dashboard Overview
**Short Description:** Home screen combining calendar, activity, hot jobs and monthly stats.
**Purpose:** One glance shows everything happening in your hiring today.
**Context:** Recruiting is interrupt-driven work: applications arrive overnight, interviews move, hiring managers ask "where are we on X?" without warning. Without a landing page, the first ten minutes of every day are spent reconstructing state by clicking through jobs one at a time. The dashboard is built to answer four questions immediately — what is on my calendar, what changed since I left, which roles are heating up, and how does the month look — so you can start working instead of orienting.
**How to use it:**
1. Click "Dashboard" in the top navigation bar (or the Canvider logo).
2. Review the calendar panel on the left for upcoming interviews.
3. Review the Activity Feed panel on the right for recent events.
4. Scroll down to "Hot Jobs" for your most active positions.
5. Scroll further to "Monthly Applicant Overview" for status counts.

**Good to know:**
- Everything shown is scoped to your company — the panels aggregate across all your jobs, not just yours personally.
- Use it as a morning routine: calendar first (commitments), then activity (what changed), then Hot Jobs (where to spend time).
- The Canvider logo is a shortcut back here from anywhere in the app.
- For trend and performance questions rather than "what's happening now", use Analytics instead.

**Related:** [Calendar](#feature-name-calendar) · [Activity Feed](#feature-name-activity-feed) · [Hot Jobs](#feature-name-hot-jobs) · [Recruitment Analytics Dashboard](#feature-name-recruitment-analytics-dashboard)

---

### Feature name: Dashboard Search
**Short Description:** Search bar filtering jobs and activity on the dashboard.
**Purpose:** Finds a specific job or event without leaving the page.
**Context:** Once you are running more than a handful of roles, the Hot Jobs and Activity panels become long enough that scanning them defeats the point of a dashboard. This search filters both panels in place, which is deliberately different from the People search: it is for orienting ("what happened on the Unity Developer role?"), not for finding a person. Because it filters as you type and never navigates away, you keep the rest of your dashboard context while you look.
**How to use it:**
1. Open the Dashboard.
2. Click the search field labelled "Search jobs & activity…" in the header.
3. Type any part of a job title or activity text.
4. The Hot Jobs and Activity panels filter as you type.
5. Clear the field to restore the full view.

**Good to know:**
- It filters the dashboard panels only — it does not search candidates. Use Applicant Search on the People page for that.
- Partial matches work, so a fragment of a job title is enough.
- Clearing the field restores the full dashboard; you never need to reload the page.

**Related:** [Applicant Search](#feature-name-applicant-search) · [Hot Jobs](#feature-name-hot-jobs) · [Activity Feed](#feature-name-activity-feed) · [Job Filters](#feature-name-job-filters)

---

### Feature name: Calendar
**Short Description:** Built-in calendar showing interviews and recruitment events.
**Purpose:** Keeps every interview and meeting visible in one place.
**Context:** Interview scheduling is where hiring most often breaks down, because the commitment lives in one system (your work calendar) while the context lives in another (the ATS). Canvider's calendar keeps both together: each event is linked to a specific vacancy and candidate, so an entry is never just "Interview — 2pm" with no way to recall who or why. If you connect Google or Microsoft, this view stays in sync with your real calendar, making it a working view rather than a duplicate you have to maintain.
**How to use it:**
1. Open the Dashboard and find the "Calendar" panel.
2. Switch the view using the "Day", "Week" or "Month" buttons.
3. Use the left/right arrow buttons to move between periods.
4. Click "Today" to jump back to the current date.
5. Click any day showing coloured dots to open its event list.

**Good to know:**
- Coloured dots mark days with events; the colour is the one chosen when the event was created.
- Month view is best for spotting scheduling pressure; Day view is best for actually running the day.
- With Google or Microsoft connected, events sync both ways and a "Syncing..." indicator appears in the header.
- Events are linked to a vacancy and candidate, so you can always trace an interview back to its application.

**Related:** [Create Calendar Event](#feature-name-create-calendar-event) · [Schedule Interview](#feature-name-schedule-interview) · [Calendar Sync](#feature-name-calendar-sync) · [Edit or Delete Calendar Event](#feature-name-edit-or-delete-calendar-event)

---

### Feature name: Create Calendar Event
**Short Description:** Add an interview or meeting directly from the calendar.
**Purpose:** Schedules recruitment events without leaving the dashboard.
**Context:** This is the calendar-first way to book something, as opposed to Schedule Interview which starts from a candidate. Use it when you are thinking in terms of time ("Thursday afternoon is free — let's fill it") rather than in terms of a person. Because it still asks for a position and a candidate, the resulting event carries the same links and the same automatic email invitations as one booked from the applicant page; the two routes create the same kind of record, just from opposite starting points.
**How to use it:**
1. On the Dashboard calendar, click a day to open the day modal.
2. Click "+ Add New Event".
3. Fill in "Event Title" and pick an "Event Type".
4. Select one or many "Recruiters" from the dropdown.
5. Select the "Position" (vacancy), then pick a "Candidate" from that vacancy.
6. Set the date, "Start Time" and "End Time".
7. Optionally add a "Meeting Link" or generate one (see Meeting Links).
8. Tick "Inform invitees by E-mail" to send invitations.
9. Choose a "Color" for the event and click "Save Event".

**Good to know:**
- The candidate list is filtered by the position you pick, so choose the vacancy first.
- Nothing is emailed unless you tick "Inform invitees by E-mail" — you can create a private placeholder by leaving it off.
- Invitation emails include an `.ics` attachment so recipients can add it to any calendar app.
- Colours are worth using consistently (for example one colour per hiring stage) — they are what makes month view readable.

**Related:** [Schedule Interview](#feature-name-schedule-interview) · [Meeting Link Generation](#feature-name-meeting-link-generation) · [ICS Calendar Attachments](#feature-name-ics-calendar-attachments) · [Calendar](#feature-name-calendar)

---

### Feature name: Edit or Delete Calendar Event
**Short Description:** Modify or remove an existing calendar event.
**Purpose:** Keeps the schedule accurate when plans change.
**Context:** Interviews get moved constantly — a candidate's flight is delayed, a hiring manager gets pulled into a customer escalation. The risk is not the reschedule itself but the stale copy: a cancelled interview left on the calendar wastes an interviewer's afternoon, and a moved one that was never updated means the candidate joins an empty call. Editing here keeps the linked calendars and the notified attendees consistent with reality, which is why it is preferable to just booking a second event and ignoring the first.
**How to use it:**
1. On the Dashboard calendar, click the day containing the event.
2. Find the event in the day modal's event list.
3. Click the pencil (edit) icon to change details, then save.
4. Or click the trash (delete) icon to remove the event.
5. Confirm the deletion when prompted.

**Good to know:**
- Edit rather than delete-and-recreate: edits propagate to your synced external calendar, and a recreated event loses its history.
- Deletion also propagates to the connected Google or Microsoft calendar when sync is on.
- If invitees were emailed originally, tell them about the change too — a silent edit may not reach everyone.
- Deletion is confirmed with a prompt because it cannot be undone from the calendar.

**Related:** [Create Calendar Event](#feature-name-create-calendar-event) · [Calendar Sync](#feature-name-calendar-sync) · [Schedule Interview](#feature-name-schedule-interview)

---

### Feature name: Activity Feed
**Short Description:** Chronological stream of applications, status changes and job events.
**Purpose:** Shows what your team and candidates did recently.
**Context:** In a shared pipeline, the expensive failure is duplicated or contradictory work: two recruiters emailing the same candidate, or someone advancing a person a colleague had already rejected. The activity feed is the shared awareness layer that prevents this — it is the answer to "what happened while I was out?" without asking anyone. It is also a lightweight audit trail: when a candidate's status looks wrong, the feed usually shows who changed it and when.
**How to use it:**
1. Open the Dashboard and locate the "Activity Feed" panel.
2. Click the "All" tab to see everything, or a category tab to filter.
3. Scroll through the entries to review recent events.
4. Click an entry to jump to the related applicant or job.

**Good to know:**
- Entries are clickable — they are the fastest route to the candidate or job in question.
- Category tabs are the way to cut through noise on a high-volume week.
- The feed covers your whole company, not only your own actions.
- Clearing the feed is company-wide and cannot be undone, so use the category tabs first.

**Related:** [Clear Activity Feed](#feature-name-clear-activity-feed) · [Dashboard Search](#feature-name-dashboard-search) · [Journey (Application Stages)](#feature-name-journey-application-stages) · [Internal Comments](#feature-name-internal-comments)

---

### Feature name: Clear Activity Feed
**Short Description:** Wipe the current activity feed entries for your company.
**Purpose:** Resets a noisy feed so new events stand out.
**Context:** After a bulk import of a few hundred CVs or a mass status update, the feed can be flooded with hundreds of near-identical entries that bury everything genuinely worth noticing. Clearing gives you a clean baseline so the next real event is visible again. Treat it as a deliberate reset rather than routine housekeeping: it affects the feed for everyone at your company, and colleagues who have not caught up lose their view of what happened.
**How to use it:**
1. Open the Dashboard.
2. In the "Activity Feed" panel header, click the "Clear" button.
3. Confirm the action when prompted.
4. The feed empties and shows "No Recent Activity".

**Good to know:**
- This affects the whole company's feed, not just your view — teammates lose their unread history too.
- It cannot be undone. Try the category tabs or Dashboard Search first if you only want less noise.
- Clearing the feed does not change any candidate, application or job data; only the activity entries go.
- A good moment to use it is right after a bulk CV upload, once you have reviewed the results.

**Related:** [Activity Feed](#feature-name-activity-feed) · [Bulk Upload CVs](#feature-name-bulk-upload-cvs) · [Bulk Status Update](#feature-name-bulk-status-update)

---

### Feature name: Hot Jobs
**Short Description:** Panel highlighting your most active job postings by applicants.
**Purpose:** Points attention to roles receiving the most interest.
**Context:** Recruiter attention is the scarcest resource in hiring, and it tends to drift toward whichever role someone complained about most recently rather than where the actual volume is. Hot Jobs re-anchors that decision in data: the roles pulling the most applicants are the ones where a day of screening produces the most shortlist, and where a slow response does the most damage to candidate experience. Read alongside Analytics, it also flags the inverse problem — a role you expected to be hot that is missing from this list needs a sourcing or job-description fix, not more screening.
**How to use it:**
1. Open the Dashboard and scroll to the "Hot Jobs" panel.
2. Review each job card and its applicant count.
3. Click a job card to open its job details page.
4. Click "View All Jobs" to go to the full Jobs list.

**Good to know:**
- Ranking is by applicant volume, which measures interest — not candidate quality. Check scores on the job page before celebrating.
- A role you expected here but do not see is a signal to revisit the job description or start sourcing.
- Cards link straight to the job details page, where bulk actions and per-job analytics live.

**Related:** [Job Details Page](#feature-name-job-details-page) · [Job Listings](#feature-name-job-listings) · [Per-Job Analytics](#feature-name-per-job-analytics) · [Candidate Sourcing](#feature-name-candidate-sourcing)

---

### Feature name: Monthly Applicant Overview
**Short Description:** Monthly counts of applicants grouped by application status.
**Purpose:** Quick pulse-check on pipeline volume this month.
**Context:** This is the fastest available read on pipeline shape. A healthy month narrows steadily from New toward Offer; an unhealthy one bulges somewhere in the middle, which almost always means candidates are waiting on a human rather than being blocked by anything real. Because it is grouped by status rather than by job, it is the panel that tells you *what kind* of work is backing up — screening, interviewing or deciding — before you drill into which role is responsible.
**How to use it:**
1. Open the Dashboard and scroll to "Monthly Applicant Overview".
2. Read each stat card — the number and its status label.
3. Compare cards to see where candidates are concentrated.
4. Click through to People for the full applicant list.

**Good to know:**
- A large pile in an early status usually means screening capacity, not candidate quality, is the constraint.
- The cards reflect your configured application states, so custom statuses appear here too.
- This is a current-month snapshot; for trends over time use the Analytics page.

**Related:** [Applicant List](#feature-name-applicant-list) · [Custom Application Statuses](#feature-name-custom-application-statuses) · [Stage Duration & Pipeline Snapshot](#feature-name-stage-duration--pipeline-snapshot) · [Pipeline Conversion Funnel](#feature-name-pipeline-conversion-funnel)

---

## 3. Job Creation

### Feature name: Create Job — Step 1: Basics
**Short Description:** Enter role title, locations, schedules and department for a new job.
**Purpose:** Establishes the core facts every job posting needs.
**Context:** These four fields do far more work than they appear to. The title and location feed the AI that later suggests skills, salary and the description; the department is what makes department-level analytics and job filtering possible months from now; and the schedules are what job boards match candidates against. Getting them right here is cheap — retrofitting a missing department across fifty historical jobs, when leadership asks which teams grew fastest, is not.
**How to use it:**
1. Click "Create Job" in the top navigation bar.
2. Enter the "Role Title".
3. Under "Job Locations", pick a saved office location and click "Add", or type a custom one.
4. Tick "Anywhere in country (no specific city)" if the role has no fixed city.
5. Repeat to add up to 10 locations — the first one is the primary location.
6. Select a "Work Schedule" (e.g. Full-time) from the dropdown.
7. Select an "Office Schedule" (e.g. Hybrid) from the dropdown.
8. Select a "Department".
9. Click "Next".

**Good to know:**
- The first location you add is the primary one — it is what job boards including LinkedIn will show.
- Up to 10 locations are allowed per job.
- Use a standard, searchable title ("Senior Unity Developer", not "Unity Wizard"). Both the AI suggestions and job-board matching depend on it.
- Dropdown options come from Settings → Preferences. If a schedule, location or department is missing, add it there first.

**Related:** [Office Locations](#feature-name-office-locations) · [Departments](#feature-name-departments) · [Work Schedules](#feature-name-work-schedules) · [Multi-Location Job Postings](#feature-name-multi-location-job-postings)

---

### Feature name: Create Job — Step 2: Requirements
**Short Description:** Define skills, salary range and benefits for the role.
**Purpose:** Gives candidates and the AI clear role requirements.
**Context:** The skills list on this step is not decoration — it is the yardstick every later AI feature measures candidates against. CV analysis scores against it, sourcing searches for it, and criteria matching builds on it. Vague or padded skills produce vague scores, which is the most common reason teams find AI screening unconvincing. The salary range is optional in the product but rarely optional in practice: postings without one attract fewer applicants and burn time on candidates whose expectations were never compatible.
**How to use it:**
1. From Step 1, arrive on "Job Requirements & Details".
2. Type a skill in "Add a skill" and click "Add", or click a chip under "Common skills".
3. Review your chips under "Selected skills"; click a chip to remove it.
4. Optionally enter "Minimum Salary", "Maximum Salary" and select a "Currency".
5. Optionally add benefits by typing one and clicking "Add", or picking from "Common benefits".
6. Click "Next".

**Good to know:**
- List genuine must-haves rather than an aspirational wish list — every extra skill dilutes the AI match score.
- Skills entered here drive CV analysis, candidate sourcing and criteria matching later on.
- Salary and benefits are optional fields, but omitting salary typically reduces application volume.
- All of this stays editable after publishing via "Edit Salary, Skills & Locations".

**Related:** [AI Skills & Salary Suggestions](#feature-name-ai-skills--salary-suggestions) · [AI CV Analysis](#feature-name-ai-cv-analysis) · [Criteria Assertion AI](#feature-name-criteria-assertion-ai) · [Edit Salary, Skills & Locations](#feature-name-edit-salary-skills--locations)

---

### Feature name: AI Skills & Salary Suggestions
**Short Description:** AI proposes relevant skills and a competitive salary range.
**Purpose:** Speeds up requirement writing with market-aware suggestions.
**Context:** Two problems collide when a recruiter opens a requisition for an unfamiliar role: you do not know which skills genuinely belong together for that title, and you do not know what the market currently pays. Both are normally solved by asking the hiring manager and waiting a day, or by browsing competitor postings. This feature collapses that into a few seconds by generating suggestions from the title and location you already entered. Treat the output as a well-informed first draft to edit — it is calibrated on general market patterns, not on your company's specific compensation bands.
**How to use it:**
1. On the "Job Requirements & Details" step, find the "AI Assistant" card.
2. Make sure the role title and location from Step 1 are set.
3. Click "Generate with AI".
4. Wait while "AI is generating suggestions..." is shown.
5. Review the suggested skills and salary range that get filled in.
6. Edit or remove anything you disagree with, then click "Next".

**Good to know:**
- Quality depends entirely on the title and location from Step 1 — a vague title yields vague suggestions.
- Always sanity-check the salary against your own bands before publishing; the model does not know your internal structure.
- Suggestions fill the fields as editable values, so you can delete or add freely afterwards.
- Prune aggressively — an inflated skills list weakens every later match score.

**Related:** [Create Job — Step 2: Requirements](#feature-name-create-job--step-2-requirements) · [AI Job Description Generator](#feature-name-ai-job-description-generator) · [AI Usage Disclaimer](#feature-name-ai-usage-disclaimer)

---

### Feature name: Create Job — Step 3: Description
**Short Description:** Write the job description with a rich-text editor.
**Purpose:** Produces the public-facing text candidates actually read.
**Context:** This is the only part of the job that candidates actually see, and it does double duty: it sells the role to people deciding whether to apply, and it is the reference text the AI uses to score every CV that arrives. A thin description therefore hurts twice — fewer good applicants, and weaker scoring on the ones you get. The editor supports proper structure (headings, lists, links) because scannable descriptions consistently outperform walls of prose on every job board.
**How to use it:**
1. From Step 2, arrive on the "Job Description" step.
2. Choose "Create new description" to write from scratch.
3. Use the toolbar for headings, bold, italic, underline, lists, links and emoji.
4. Write at least 50 characters — the "Save" button unlocks at that point.
5. Watch the notice "This description is not ready to publish yet" until quality checks pass.
6. Click "Next" to continue to publishing.

**Good to know:**
- 50 characters is the technical minimum to proceed, not a target — real postings need far more to score CVs well.
- Use headings and bullet lists; most candidates skim rather than read.
- You have three starting points: write from scratch, generate with AI, or load a saved template.
- The description remains editable after the job is live via "Edit Job Description".

**Related:** [AI Job Description Generator](#feature-name-ai-job-description-generator) · [Use Saved Job Description Template](#feature-name-use-saved-job-description-template) · [Job Description Quality Check](#feature-name-job-description-quality-check) · [Edit Job Description](#feature-name-edit-job-description)

---

### Feature name: AI Job Description Generator
**Short Description:** AI drafts a full job description from your job details.
**Purpose:** Removes blank-page effort when writing postings.
**Context:** Writing a job description from nothing is the step where requisitions stall for days, usually because the recruiter is waiting on the hiring manager for wording they will end up rewriting anyway. Generating a complete draft from the title, skills and location you already entered flips the task from authoring to editing, which is dramatically faster and produces a more consistent house style across roles. The draft is a starting point: it knows the shape of a good posting for this kind of role, but it knows nothing about your team, your product or why someone should want this job.
**How to use it:**
1. On the "Job Description" step, find the "AI Job Description Generator" card.
2. Confirm the job summary above shows the correct title, skills and location.
3. Click "Generate with AI".
4. Wait for the generated description to appear in the editor.
5. Edit the text with the toolbar to match your tone.
6. Click "Next".

**Good to know:**
- Fix the title and skills before generating — the draft is built from them, so bad input means a rewrite.
- Always add the specifics only you know: the team, the product, the actual work, why the role is open.
- Output lands directly in the editor as fully editable text.
- Once you have polished one, save it as a template so the next similar role starts from your version.

**Related:** [Create Job — Step 3: Description](#feature-name-create-job--step-3-description) · [Save Description as Template](#feature-name-save-description-as-template) · [AI Skills & Salary Suggestions](#feature-name-ai-skills--salary-suggestions) · [Job Description Quality Check](#feature-name-job-description-quality-check)

---

### Feature name: Use Saved Job Description Template
**Short Description:** Start a description from a previously saved reusable template.
**Purpose:** Keeps postings consistent and saves repeated typing.
**Context:** Most companies hire the same handful of role shapes repeatedly, and rewriting the benefits section, the equal-opportunity statement and the "about us" paragraph every time is pure waste — worse, it produces subtly different versions of your employer brand across your live postings. Templates fix the boilerplate once so each new posting only needs the parts that are genuinely role-specific. For agencies and high-volume teams this is often the single biggest time saving in job creation.
**How to use it:**
1. On the "Job Description" step, click "Use saved template".
2. Open the "Choose a template:" dropdown.
3. Select the template you want.
4. The editor loads the template content.
5. Adjust the text for this specific role and click "Next".

**Good to know:**
- Loading a template copies its content into this job; later edits here do not change the stored template.
- If you do want to update the stored version, use "Update Template" instead of "Save as Template".
- Templates are managed company-wide under Settings → Templates.
- Always re-read the loaded text — leftover details from the previous role are the classic template mistake.

**Related:** [Save Description as Template](#feature-name-save-description-as-template) · [Job Templates](#feature-name-job-templates) · [Create Job — Step 3: Description](#feature-name-create-job--step-3-description)

---

### Feature name: Save Description as Template
**Short Description:** Store the current job description as a reusable template.
**Purpose:** Turns a good description into a company standard.
**Context:** Good job descriptions are usually discovered rather than designed — one posting attracts noticeably better applicants, and you want the next role to inherit whatever made it work. Saving it as a template captures that lesson while it is fresh instead of leaving it buried in one closed vacancy. Over time this is how a scrappy team accumulates a consistent employer voice without ever running a formal branding exercise.
**How to use it:**
1. Finish writing the description on the "Job Description" step.
2. Click "Save as Template" at the bottom of the editor.
3. Give the template a name when prompted.
4. Confirm to save it.
5. If you loaded an existing template, use "Update Template" instead to overwrite it.

**Good to know:**
- Name templates by role family ("Senior Backend Engineer"), not by the specific requisition — you will be reusing them.
- Strip role-specific details before saving, or the next user will inherit them by accident.
- "Update Template" overwrites the stored version for everyone at your company; "Save as Template" creates a new one.
- Settings → Templates shows how many jobs were created from templates and the time saved.

**Related:** [Use Saved Job Description Template](#feature-name-use-saved-job-description-template) · [Job Templates](#feature-name-job-templates) · [AI Job Description Generator](#feature-name-ai-job-description-generator)

---

### Feature name: Create Job — Step 4: Publish
**Short Description:** Final review, screening questions and portal selection before publishing.
**Purpose:** Controls exactly where and how the job goes live.
**Context:** This is the last point at which a mistake is cheap. Once a job is live it may be syndicated to external boards, indexed by search engines and sent to candidates, and correcting a wrong salary or a broken description afterwards means the incorrect version has already been seen. The distribution choice here also determines what you will be able to learn later: publishing to several portals is what makes the Source Effectiveness report meaningful, because a job posted in only one place can never tell you which channel works best.
**How to use it:**
1. From Step 3, arrive on the "Publish Job" step.
2. Review the loaded job details, skills, benefits and description.
3. Optionally fill in up to 3 "Candidate Questions" (max 200 characters each).
4. Under "Publish To", tick each portal you want (Canvider is the free base portal).
5. Grayed-out portals need configuration in Settings first.
6. Click "Publish Job".

**Good to know:**
- Canvider is the free base portal and is always available; other portals must be configured in Settings first.
- Grayed-out portals are not broken — they are missing credentials or an integration.
- Screening questions can only be set here at publish time, so decide on them before clicking through.
- Publishing to more than one portal is what makes source-effectiveness reporting possible later.

**Related:** [Screening Questions](#feature-name-screening-questions) · [Job Portals Configuration](#feature-name-job-portals-configuration) · [Automatic LinkedIn Job Posting](#feature-name-automatic-linkedin-job-posting) · [Source of Hire & Source Effectiveness](#feature-name-source-of-hire--source-effectiveness)

---

### Feature name: Screening Questions
**Short Description:** Up to three short questions candidates answer when applying.
**Purpose:** Filters candidates early on your must-have criteria.
**Context:** Some requirements are absolute and binary — a work permit, a security clearance, a willingness to be on-site three days a week — and discovering they are unmet in the first interview wastes everyone's time, including the candidate's. Asking at application time surfaces those facts before anyone invests attention. The limit of three is deliberate: every additional question measurably reduces completed applications, so they should be reserved for genuine knockouts rather than nice-to-knows. Phrasing them as Yes/No or numeric also keeps them compatible with LinkedIn's own screening format.
**How to use it:**
1. On the "Publish Job" step, scroll to "Candidate Questions".
2. Type your first question into "Question 1" (max 200 characters).
3. Phrase LinkedIn-compatible questions as Yes/No or numeric — start with "Do you", "Are you", or "How many years of".
4. Repeat for "Question 2" and "Question 3" if needed.
5. Click "Publish Job" — candidates now see the questions on the application form.
6. Read the answers later on the applicant's Overview tab under "Screening Questions".

**Good to know:**
- Maximum three questions, 200 characters each.
- Ask only genuine knockouts — each extra question costs you completed applications.
- Start with "Do you", "Are you" or "How many years of" to stay compatible with LinkedIn screening.
- Never ask for protected characteristics (age, nationality, marital status, health) — that is a legal exposure, not just bad practice.
- Answers appear on each applicant's Overview tab and can be edited if the candidate supplied them another way.

**Related:** [Screening Question Answers](#feature-name-screening-question-answers) · [Criteria Assertion AI](#feature-name-criteria-assertion-ai) · [Create Job — Step 4: Publish](#feature-name-create-job--step-4-publish)

---

## 4. Job Management

### Feature name: Job Listings
**Short Description:** Central list of all your job postings with summary stats.
**Purpose:** Single place to monitor and open every open role.
**Context:** Once a company is running more than a few requisitions, the hard question stops being "how is this role doing?" and becomes "which of my roles needs me today?". The Jobs page answers that by putting comparable numbers side by side — applicants, interviews, hires and days open — so an ageing role with no interviews stands out against a fresh one drowning in applications. The "days open" figure in particular is the early-warning signal most teams learn to read first, because time-to-fill problems are far cheaper to fix at week three than at week twelve.
**How to use it:**
1. Click "Jobs" in the top navigation bar.
2. Review the four stat cards: Active Jobs, Total Applicants, Archived Jobs, On-Hold Jobs.
3. Scroll the job cards to see status, applicants, interviews, hired and days open.
4. Click "View Details" on any card to open that job.
5. Use the pagination buttons at the bottom to move between pages.

**Good to know:**
- A high applicant count with zero interviews usually means a screening backlog, not a bad posting.
- A long "days open" with low applicant volume is a sourcing or job-description problem instead.
- The four stat cards summarise your whole company, while the cards below are per-job.
- Every job action — bulk upload, sourcing, status changes, communication — lives on the job's details page, not here.

**Related:** [Job Filters](#feature-name-job-filters) · [Job Details Page](#feature-name-job-details-page) · [Change Vacancy Status](#feature-name-change-vacancy-status) · [Hot Jobs](#feature-name-hot-jobs)

---

### Feature name: Job Filters
**Short Description:** Filter the job list by department, status, location and date.
**Purpose:** Narrows a long job list to the roles you care about.
**Context:** Different people need entirely different slices of the same job list: a department head cares only about their own team's roles, a country lead about one location, and a recruiter reviewing the quarter about everything posted since a certain date. Rather than building separate views for each, the filters let each person carve out their own. The status filter is the one most used day to day — it is how you separate roles that are genuinely live from the archived and on-hold ones that would otherwise pad every count.
**How to use it:**
1. Open the Jobs page.
2. Select a value in the "Department" dropdown.
3. Select a value in the "Status" dropdown (Active, On-Hold, Archived, Closed, In Review).
4. Select a value in the "Location" dropdown.
5. Select a range in the "Posted Date" dropdown (Today through Last 6 Months).
6. Click "Clear all filters" to reset.

**Good to know:**
- Filters combine, so Department plus Status plus Posted Date narrows cumulatively.
- Department filtering only works if jobs were given a department at creation — see Departments in Settings.
- "Clear all filters" is the reliable way to explain a suspiciously short list.
- Filter by Archived or Closed to find a historical posting you want to duplicate or reference.

**Related:** [Job Listings](#feature-name-job-listings) · [Departments](#feature-name-departments) · [Change Vacancy Status](#feature-name-change-vacancy-status) · [Office Locations](#feature-name-office-locations)

---

### Feature name: Job Details Page
**Short Description:** Per-job hub with stats, charts, applicants and every job action.
**Purpose:** Everything about one vacancy in a single screen.
**Context:** This page is the operational centre of Canvider — nearly every meaningful action on a role starts here rather than from the global menus. That is deliberate: sourcing, criteria definition, bulk uploads, bulk communication, status changes and distribution are all things you do *to a specific vacancy*, and scoping them to one job removes an entire class of expensive mistake, such as emailing the wrong candidate group. If you only learn one screen in Canvider, learn this one.
**How to use it:**
1. Go to Jobs and click "View Details" on a job card.
2. Read the header for "Total Applicants" and "Published At".
3. Review the charts: Applicants Over Time, Applicants by Job Portal, Distribution by Status.
4. Scroll to "Top Applicants" to see the highest-scoring candidates.
5. Click "View All Applicants" to open the filtered People list.
6. Use the action buttons at the top for bulk upload, communication, editing and status changes.

**Good to know:**
- "Top Applicants" ranks by AI score, so it is only meaningful once candidates have been analysed.
- "Applicants by Job Portal" is the per-job version of source effectiveness — it tells you which board is actually working for this role.
- "View All Applicants" opens People pre-filtered to this job, which is the safe way to start bulk actions.
- Sourcing, criteria and distribution tools are all reached from the action buttons at the top of this page.

**Related:** [Per-Job Analytics](#feature-name-per-job-analytics) · [Criteria Assertion AI](#feature-name-criteria-assertion-ai) · [Candidate Sourcing](#feature-name-candidate-sourcing) · [Bulk Communication](#feature-name-bulk-communication)

---

### Feature name: Edit Job Description
**Short Description:** Update a published job's description text in place.
**Purpose:** Fixes or improves live postings without recreating them.
**Context:** Typos, a wrong reporting line or a requirement that turns out to be scaring off good applicants are all discovered *after* publishing, never before. Without in-place editing the only fix would be to close the job and repost it — which resets the application history, breaks any links already shared, and destroys your time-to-fill measurement. Editing in place preserves all of that. It is worth knowing that the description is also the reference text for AI scoring, so a substantial rewrite changes the basis on which future candidates are evaluated.
**How to use it:**
1. Open the job's details page.
2. Click "View Job Description".
3. Click "Edit" in the modal.
4. Use the formatting toolbar to change the text.
5. Click "Save".

**Good to know:**
- Editing preserves the job's applicants, history and time-to-fill; reposting a new job does not.
- Changes affect the Canvider posting and careers page immediately; copies already published to external boards may need updating there separately.
- Because the description drives AI CV analysis, a major rewrite means new candidates are scored against different text than earlier ones.
- Salary, skills and locations are edited elsewhere — see "Edit Salary, Skills & Locations".

**Related:** [Edit Salary, Skills & Locations](#feature-name-edit-salary-skills--locations) · [Create Job — Step 3: Description](#feature-name-create-job--step-3-description) · [AI CV Analysis](#feature-name-ai-cv-analysis) · [Post on Any Portal](#feature-name-post-on-any-portal)

---

### Feature name: Edit Salary, Skills & Locations
**Short Description:** Change a published job's locations, salary range and skills.
**Purpose:** Keeps commercial and location details current after publishing.
**Context:** These three fields change for business reasons rather than editorial ones: a budget gets approved, a role opens up in a second office, or two weeks of applications reveal that a "required" skill is filtering out everyone worth hiring. Because skills feed AI scoring and sourcing, editing them here does more than update the advert — it changes what future analyses measure candidates against and what sourcing searches for. That makes this the right lever when your matches are consistently missing the mark.
**How to use it:**
1. Open the job's details page.
2. Click "Edit Salary, Skills & Locations".
3. Under "Job Locations", type a location and click "Add location" (up to 10; first is primary).
4. Update "Minimum Salary", "Maximum Salary" and "Currency".
5. Edit the "Skills (one per line)" box — each line becomes one skill.
6. Click "Save changes".

**Good to know:**
- In the skills box, one line equals one skill — a comma-separated line is read as a single skill.
- Up to 10 locations; the first is primary and is what job boards display.
- Editing skills does not automatically rescore existing candidates. Re-run analysis or criteria matching if you need consistency.
- Widening the salary range on a stalled role is one of the fastest interventions available.

**Related:** [Multi-Location Job Postings](#feature-name-multi-location-job-postings) · [Criteria Assertion AI](#feature-name-criteria-assertion-ai) · [AI CV Analysis](#feature-name-ai-cv-analysis) · [Edit Job Description](#feature-name-edit-job-description)

---

### Feature name: Multi-Location Job Postings
**Short Description:** Attach up to ten hiring locations to one job.
**Purpose:** Advertises one role across several offices or countries.
**Context:** Distributed teams routinely open one requisition that could be filled in any of several cities. Modelling that as separate jobs per city is the obvious workaround and a bad one: applicants fragment across duplicate postings, your analytics count one hire as several roles, and every description edit has to be repeated. One job with many locations keeps the pipeline unified while still advertising accurately. The primary-location rule exists because most job boards accept only a single structured location, so Canvider gives them the first one and appends the rest as readable text.
**How to use it:**
1. During Step 1 of job creation, or via "Edit Salary, Skills & Locations" afterwards.
2. Add your main city first — it becomes the primary location shown on job boards.
3. Add each additional location as its own chip.
4. Tick "Anywhere in country (no specific city)" for country-wide roles.
5. Save — LinkedIn posts the primary location and appends the others as "Also hiring in".

**Good to know:**
- Order matters: the first location added is the primary one and the only one most boards display as structured data.
- Maximum of 10 locations per job.
- Put your strongest hiring market first — it is the location most candidates will actually see.
- "Anywhere in country" is for genuinely country-wide roles; for fully remote work, say so in the description too.

**Related:** [Create Job — Step 1: Basics](#feature-name-create-job--step-1-basics) · [Edit Salary, Skills & Locations](#feature-name-edit-salary-skills--locations) · [Automatic LinkedIn Job Posting](#feature-name-automatic-linkedin-job-posting) · [Office Locations](#feature-name-office-locations)

---

### Feature name: Change Vacancy Status
**Short Description:** Move a job between Active, On-Hold, Closed, Archived or Deleted.
**Purpose:** Controls whether the job accepts applications and stays visible.
**Context:** Status is how a role's lifecycle is expressed, and each value has real consequences rather than being a label. On-Hold stops the inflow while you sort out a budget freeze, without losing the pipeline you have built. Closed and Archived wrap the role up and — importantly — move consenting non-hired candidates into your talent pool, which is how a finished search quietly becomes an asset for the next one. Deleted is different in kind: it is a permanent, irreversible removal that also starts a 30-day countdown on the associated candidate data.
**How to use it:**
1. Open the job's details page.
2. Click "Change Vacancy Status".
3. Read the "Current Status:" line and the explanation of each effect.
4. Pick the new value in "Select New Status".
5. Click "Confirm Status".
6. Note: Closed and Archived move consenting candidates into the talent pool; Deleted is permanent.

**Good to know:**
- Use On-Hold, not Deleted, for a paused role — it stops new applications while keeping everything else intact.
- Closing or archiving is what populates your talent pool, so it is worth doing properly rather than leaving roles Active forever.
- Deleted cannot be undone, and candidate data is purged 30 days later. Export anything you need first.
- Only candidates who gave future-opportunities consent move into the talent pool; the rest are simply not carried over.

**Related:** [Talent Pool](#feature-name-talent-pool) · [Deleted Vacancy Data Cleanup](#feature-name-deleted-vacancy-data-cleanup) · [Candidate Consent for Future Opportunities](#feature-name-candidate-consent-for-future-opportunities)

---

### Feature name: Criteria Assertion AI
**Short Description:** Define up to five pass/fail criteria the AI checks per applicant.
**Purpose:** Turns your must-haves into automatic, comparable candidate checks.
**Context:** An overall match score tells you a candidate is roughly a 78% fit but not whether they can legally work in your country — and it is the binary facts that actually decide most screening calls. Criteria assertions convert those must-haves into explicit yes/no checks applied identically to everyone, which does two useful things: it makes screening far faster, and it makes it defensible, because every candidate was measured against the same written standard rather than against whoever read the CV. Specific, checkable wording is essential; a criterion the AI cannot verify from the available material produces noise rather than signal.
**How to use it:**
1. Open the job's details page.
2. Click "Criteria Assertion AI".
3. Type a short, specific criterion (max 100 characters), e.g. "Candidate speaks English above C1 level".
4. Click "Add".
5. Repeat for up to 5 criteria; click the delete icon on any criterion to remove it.
6. Click "Re-run criteria matching for all applicants" and confirm to re-score everyone.
7. View results on each applicant's Overview tab under "Criteria Match Analysis".

**Good to know:**
- Maximum 5 criteria, 100 characters each — so spend them on genuine knockouts.
- Write criteria that are verifiable from a CV or profile. "Is a good culture fit" cannot be assessed; "Has 3+ years with Unreal Engine" can.
- Adding or changing criteria does not rescore anyone automatically — you must click "Re-run criteria matching for all applicants".
- Once criteria exist, the People page gains a "Meets all criterias" filter that shortlists in one click.
- Never encode protected characteristics as criteria; that turns a screening tool into a discrimination risk.

**Related:** [Criteria Match Analysis](#feature-name-criteria-match-analysis) · [Applicant Filters](#feature-name-applicant-filters) · [Screening Questions](#feature-name-screening-questions) · [AI Usage Disclaimer](#feature-name-ai-usage-disclaimer)

---

### Feature name: Bulk Upload CVs
**Short Description:** Upload many PDF CVs at once to create applications.
**Purpose:** Imports an existing candidate batch into a job in minutes.
**Context:** Candidates arrive by routes an ATS cannot control — a hiring manager's inbox, a careers-fair folder, an agency's shortlist, a spreadsheet from a previous system. Left outside Canvider they are invisible to search, scoring and analytics, and they silently distort your reporting. Bulk upload is the on-ramp: drop in the whole batch and the AI extracts name, contact details and experience from each file, turning a folder of PDFs into structured, searchable applications without any manual data entry.
**How to use it:**
1. Open the job's details page.
2. Click "Bulk Upload CVs".
3. Confirm the job name shown under "Uploading CVs for:".
4. Click "Select CV Files (PDF only)" and choose multiple PDFs at once.
5. Click "Upload CVs".
6. Wait while "Processing CVs with AI..." runs.
7. Review "Upload Results" — created applications and any errors.

**Good to know:**
- PDF only. Word documents and images are rejected by the file validator.
- Check the job name at the top before uploading — CVs attach to that vacancy, and unpicking a wrong batch is tedious.
- Always read the "Upload Results" panel; individual files can fail (corrupt PDFs, scanned images with no text) while the rest succeed.
- Large batches take time because each CV is processed by AI. Leave the tab open.
- The upload creates applications; scoring them is a separate step via AI analysis.

**Related:** [Add Candidate Manually](#feature-name-add-candidate-manually) · [Bulk Candidate Analysis](#feature-name-bulk-candidate-analysis) · [File Upload Security](#feature-name-file-upload-security) · [Refresh Applicants](#feature-name-refresh-applicants)

---

### Feature name: Post on LinkedIn (Guided Manual)
**Short Description:** Step-by-step instructions with copy buttons for manual LinkedIn posting.
**Purpose:** Publishes to LinkedIn correctly even without an integration.
**Context:** LinkedIn is the highest-value channel for most professional roles, but automated posting requires a connected account and tier 2 or higher — and even connected accounts occasionally fail on LinkedIn's side. Rather than leaving you to improvise, this walks through the real LinkedIn form field by field with copy buttons for each value. The step that matters most is switching applicant handling to "On an External Website": leave it on LinkedIn's default and applications collect inside LinkedIn instead of flowing into Canvider, where none of your scoring, filtering or analytics can reach them.
**How to use it:**
1. Open the job's details page and click "Post on LinkedIn".
2. Click the link to open the "LinkedIn Job Posting Page" in a new tab.
3. Click "Copy" next to the job title and paste it into LinkedIn.
4. Select "Use my own description" and match the reference settings shown (location, work schedule, office schedule).
5. Click "Copy" next to the job description and paste it into LinkedIn's editor.
6. Under "Manage applicants", switch from "On LinkedIn" to "On an External Website" and paste the copied application URL.
7. Review the ideal qualifications against the listed skills.
8. Confirm your identity if asked, choose Free posting, and click "Post Job".

**Good to know:**
- Step 6 is the critical one. If applicants are handled "On LinkedIn", they never reach Canvider and are invisible to scoring and analytics.
- This route needs no integration and no employer tier — it works for every account.
- Mirror the location and schedule settings exactly, or LinkedIn's matching will target the wrong candidates.
- Use this as the fallback whenever automatic posting reports a failure.

**Related:** [Automatic LinkedIn Job Posting](#feature-name-automatic-linkedin-job-posting) · [Post on Any Portal](#feature-name-post-on-any-portal) · [LinkedIn Integration](#feature-name-linkedin-integration) · [Source of Hire & Source Effectiveness](#feature-name-source-of-hire--source-effectiveness)

---

### Feature name: Automatic LinkedIn Job Posting
**Short Description:** Publish a job to LinkedIn automatically via the connected account.
**Purpose:** Removes manual copy-paste when LinkedIn is integrated.
**Context:** Manual LinkedIn posting is roughly ten minutes of careful copy-paste per role, and every one of those steps is a chance to mis-set the applicant destination or forget a location. Automating it removes both the time and the error class, which matters most for teams posting several roles a week. Because LinkedIn controls the far end of this process, the outcome is reported back as a status banner rather than assumed — sometimes what lands is a draft awaiting your review on LinkedIn rather than a live post.
**How to use it:**
1. Connect LinkedIn first in Settings → LinkedIn.
2. On the "Publish Job" step, tick the LinkedIn portal option.
3. Click "Publish Job".
4. Return to the job's details page and read the LinkedIn status banner.
5. If the banner says a draft exists, click through to LinkedIn to review and publish it.
6. If it reports a failure, use "Post on LinkedIn" manual mode instead.

**Good to know:**
- Requires a connected LinkedIn account and employer tier 2 or higher.
- Always check the status banner afterwards — "published" is not guaranteed, and a draft still needs your action on LinkedIn.
- The job posts under one of your administered LinkedIn company pages; verify which under Settings → LinkedIn.
- For multi-location roles, LinkedIn receives the primary location and the rest are appended as "Also hiring in".
- Manual guided posting is always available as a fallback and needs no tier.

**Related:** [LinkedIn Integration](#feature-name-linkedin-integration) · [LinkedIn Company Pages for Posting](#feature-name-linkedin-company-pages-for-posting) · [Post on LinkedIn (Guided Manual)](#feature-name-post-on-linkedin-guided-manual) · [Employer Tiers](#feature-name-employer-tiers)

---

### Feature name: Post on Any Portal
**Short Description:** Generic copy-paste kit for publishing to any job board.
**Purpose:** Lets you post anywhere using consistent, ready-made content.
**Context:** Every market has boards that matter locally and that no ATS integrates with — a national job site, an industry community, a university board, a Discord or Slack channel. This feature accepts that reality instead of pretending integrations cover everything: it hands you the title, description, application URL and reference settings in copy-ready form so you can post anywhere in a couple of minutes. The important piece is the application URL, because using it (rather than your generic careers page) is what lets Canvider attribute the resulting applications back to that specific channel.
**How to use it:**
1. Open the job's details page and click "Post on Any Portal".
2. Click "Copy" next to the job title.
3. Review the reference settings (Location, Work Schedule, Office Schedule) and mirror them on the portal.
4. Click "Copy" next to the job description and paste it in.
5. Click "Copy" next to the application URL and set it as the portal's apply destination.
6. Review the listed skills against the portal's qualifications section.

**Good to know:**
- Always use the supplied application URL as the apply destination — it is what routes candidates into Canvider and makes source tracking work.
- If a board only accepts plain text, paste the description into a plain editor first to strip formatting.
- Consistent settings across boards keep your source-effectiveness comparison meaningful.
- Works for any board with no integration, credentials or tier required.

**Related:** [Post on LinkedIn (Guided Manual)](#feature-name-post-on-linkedin-guided-manual) · [Job Portals Configuration](#feature-name-job-portals-configuration) · [Source of Hire & Source Effectiveness](#feature-name-source-of-hire--source-effectiveness) · [RSS Feed Integration](#feature-name-rss-feed-integration)

---

### Feature name: Job Templates
**Short Description:** Create and manage reusable job description templates.
**Purpose:** Standardises postings and cuts repeated writing time.
**Context:** This is the management view behind the templates you load during job creation — the place to curate them rather than consume them. Its value grows with repetition: companies that hire the same roles seasonally or at volume end up writing the same posting dozens of times, and each rewrite is both wasted effort and a chance for your employer brand to drift. The usage statistics shown here are useful in their own right, since a template nobody uses is usually a sign that it does not match how the team actually writes.
**How to use it:**
1. Go to Settings and click the "Templates" card.
2. Review usage stats: Total Templates, Created This Month, Jobs Created from Templates, Time Saved.
3. Click "New Template".
4. Enter a template name and write the description content.
5. Click "Save Template".
6. To remove one, select it in "My Templates" and click "Delete Template", then confirm.

**Good to know:**
- Templates are shared across your company, so deleting one affects everybody.
- Deleting a template does not affect jobs already created from it — the content was copied at the time.
- A small set of well-maintained templates beats a large stale library; prune the ones nobody loads.
- The fastest way to build the library is to save your best real postings as templates as you write them.

**Related:** [Save Description as Template](#feature-name-save-description-as-template) · [Use Saved Job Description Template](#feature-name-use-saved-job-description-template) · [Custom Email Templates](#feature-name-custom-email-templates) · [Settings Hub](#feature-name-settings-hub)

---

## 5. Candidate Sourcing & Discovery

### Feature name: Candidate Sourcing
**Short Description:** Search external platforms for people matching a specific job.
**Purpose:** Finds passive candidates who never applied to you.
**Context:** Posting a job only reaches people who are actively looking, which for senior and specialist roles is a small and heavily contested minority. The candidates you actually want are usually employed, not searching, and will never see your advert. Sourcing inverts the direction of travel: instead of waiting, Canvider searches external platforms for people whose public profiles match the role and brings back previews for you to review. Because searches can take minutes, the work runs on a background queue rather than blocking your browser — you start it, carry on working, and collect the results in Discover People.
**How to use it:**
1. Open the job's details page and scroll to the "Candidate sourcing" panel.
2. Confirm the job in "Job to search for" (or pick another).
3. Under "Source from", tick the sources you want: LinkedIn, ArtStation, Cara, Shared talent pool.
4. Disabled sources show why (e.g. "Connect LinkedIn in Settings").
5. Click "Search".
6. Wait for the run to finish — ArtStation searches can take a few minutes.
7. Open "Discover People" to review the results.

**Good to know:**
- Each run costs 1 employer credit and returns at most 10 new candidates, so refine the job's skills before searching rather than firing repeat runs.
- LinkedIn sourcing runs through *your own* connected account and requires tier 2 or higher; disabled sources always state the reason.
- Results are temporary previews with a 48-hour lifetime — they are not added to your candidate database.
- Search quality is driven by the job's title and skills. A vague job produces vague matches.
- The run continues in the background, so you can navigate away and come back.

**Related:** [Discover People](#feature-name-discover-people) · [ArtStation Focus Search](#feature-name-artstation-focus-search) · [Sourced Candidate Data Retention](#feature-name-sourced-candidate-data-retention) · [Employer Credits](#feature-name-employer-credits)

---

### Feature name: ArtStation Focus Search
**Short Description:** Exact-match ArtStation search with no AI and no other sources.
**Purpose:** Returns precisely filtered artists when you know your criteria.
**Context:** AI-assisted sourcing is the right default when you want breadth, but it is the wrong tool when your requirements are already exact — a hard-surface modeller in Poland who uses Substance Painter is a specification, not a judgement call. Focus mode drops the AI interpretation layer entirely and applies your filters literally: every selected skill must match, every selected tool must match, and any selected country qualifies. That predictability is the point. Use it when you know precisely what you are looking for and want to see all of it rather than a model's opinion of the best fit.
**How to use it:**
1. In the "Candidate sourcing" panel, select "ArtStation Focus" as the source.
2. In the "Skills" box, search and tick skills — every selected skill must match.
3. In the "Software" box, search and tick tools — every selected tool must match.
4. In the "Countries" box, tick countries — any one can match.
5. Optionally type a "City" for an extra text match.
6. Click "Search" (at least one filter is required).

**Good to know:**
- Skills and software are AND logic — every one you tick must be present. Countries are OR logic.
- Ticking many skills narrows results sharply. Start with two or three and add more only if you get too many.
- At least one filter is required; the search will not run with everything empty.
- Focus mode is ArtStation-only and cannot be combined with other sources in the same run.
- Best for 3D, game and concept art roles. For general professional hiring, use LinkedIn sourcing instead.

**Related:** [Candidate Sourcing](#feature-name-candidate-sourcing) · [ArtStation Profile Enrichment](#feature-name-artstation-profile-enrichment) · [Discover People](#feature-name-discover-people)

---

### Feature name: Discover People
**Short Description:** Company-wide list of everyone sourcing has discovered.
**Purpose:** Central workspace for reviewing sourced candidate previews.
**Context:** Sourcing runs happen per job, but the review work is naturally cross-job — the same excellent 3D artist may be a plausible fit for three open roles, and you want one place to make that call. This page aggregates every result your company has sourced so nothing is stranded inside a single vacancy's panel. It is important to understand what these records are: temporary previews of public profiles, not applications and not database entries. Nobody here has applied to you, nobody has consented to anything, and the entries disappear on their own.
**How to use it:**
1. Click "People Discovery" on the Dashboard, or open `/discovered-people/`.
2. Read the "Privacy & how this data works" panel before using the results.
3. Type in "Search by name…" to find a specific person.
4. Click a source pill (All / LinkedIn / ArtStation / Cara) to filter by platform.
5. Use the "All jobs" dropdown to filter by the job a person was discovered for.
6. Sort with "Newest first", "Name A–Z" or "Most followers".
7. Click "See More" on a card to expand skills, work experience and profile links.

**Good to know:**
- These people have not applied to you. Any outreach is cold contact and should be written as such.
- Every card expires 48 hours after discovery — work through them promptly or re-source later.
- "Most followers" measures platform popularity, not skill. Do not read it as a quality ranking.
- The page is company-wide, so a colleague's sourcing results appear here too.
- Read the privacy panel at least once; it sets out your responsibilities for using this data.

**Related:** [Candidate Sourcing](#feature-name-candidate-sourcing) · [Sourced Candidate Data Retention](#feature-name-sourced-candidate-data-retention) · [Remove Sourced Candidate](#feature-name-remove-sourced-candidate) · [Sourcing Privacy Notice](#feature-name-sourcing-privacy-notice)

---

### Feature name: Sourced Candidate Data Retention
**Short Description:** Sourced profiles auto-delete 48 hours after discovery.
**Purpose:** Keeps sourcing previews temporary and privacy-compliant.
**Context:** There is a meaningful legal and ethical difference between looking at someone's public profile and building a private database of people who never asked to be in it. Automatic 48-hour deletion enforces that line in the product rather than leaving it to policy: sourced data is a working preview with a hard expiry, so Canvider never accumulates a shadow candidate database. The practical consequence is a workflow rule — sourcing is something you act on within a couple of days, not a list you build up over months.
**How to use it:**
1. Open the "Discover People" page.
2. Look for the "Deleting soon" badge on cards nearing expiry.
3. Expand a card and read the "Data retention" line for the exact time left.
4. Act on a candidate before expiry — appearing here does not add them to your database.
5. Re-run sourcing if you need the profile again after it expires.

**Good to know:**
- The 48-hour clock starts at discovery, not at your first view.
- Deletion is permanent and automatic; there is no recovery or extension.
- To keep someone, act on them — contact them or add them as a candidate. Simply leaving them here is not keeping them.
- Re-sourcing an expired profile costs another credit, which is a good reason to review results promptly.
- Plan sourcing for a day when you can actually follow up rather than just before a holiday.

**Related:** [Discover People](#feature-name-discover-people) · [Candidate Sourcing](#feature-name-candidate-sourcing) · [Sourcing Privacy Notice](#feature-name-sourcing-privacy-notice) · [Add Candidate Manually](#feature-name-add-candidate-manually)

---

### Feature name: Remove Sourced Candidate
**Short Description:** Manually dismiss an unwanted person from discovery results.
**Purpose:** Cleans irrelevant profiles out of the sourcing workspace.
**Context:** No automated search is perfect: you will get people who left the field, who are obviously not relocating, or who you already know are not interested. Left in place they cost attention every time you or a colleague opens the page, and worse, they get re-surfaced by future runs. Removing them records the decision so the same person does not keep reappearing for that job — which makes repeated sourcing on a hard role progressively more useful rather than progressively more repetitive.
**How to use it:**
1. Open the "Discover People" page or the job's sourcing results.
2. Find the candidate card you want to remove.
3. Click the "Remove candidate" control on that card.
4. Confirm the removal.
5. The candidate no longer appears in future result lists for that job.

**Good to know:**
- The exclusion applies to that job, so the same person can still surface for a genuinely different role.
- This is the mechanism that stops repeat sourcing runs from showing you the same rejects.
- Removal affects your whole company's view of that job's results, not just yours.
- Nothing is deleted from the source platform — you are only dismissing a preview.

**Related:** [Discover People](#feature-name-discover-people) · [Candidate Sourcing](#feature-name-candidate-sourcing) · [Sourced Candidate Data Retention](#feature-name-sourced-candidate-data-retention)

---

### Feature name: Talent Pool Finder
**Short Description:** Suggests matches from your own past-applicant talent pool.
**Purpose:** Re-engages candidates who already consented to future contact.
**Context:** The cheapest good candidate is almost always someone you have already met. Every closed role leaves behind strong applicants who lost to a marginally better fit, and they are far warmer than any cold-sourced profile — they know your company, they wanted the job, and they consented to hear from you again. This finder searches that pool and, notably, shows suggestions without private information first, so you evaluate fit before identity. The three-candidate cap per job is a deliberate anti-spam limit: your talent pool is a relationship, and mass-mailing it destroys the asset.
**How to use it:**
1. Open the job's details page and click "Find Candidates (Talent Pool)".
2. Read the note: at most 3 candidates will be contacted for this job.
3. Review and edit the "Ideal profile (editable)" text.
4. Click "Start search".
5. Review the "Suggested candidate (no private info)" card that appears.
6. Click "Yes, contact them" to approve, or "Show another" to skip.
7. Click "Stop search" or "Close" when finished.

**Good to know:**
- A maximum of 3 candidates will be contacted for any one job — spend them on genuinely strong matches.
- Only candidates who gave future-opportunities consent are in the pool, so the outreach is legally clean.
- Editing the "Ideal profile" text meaningfully changes the suggestions; it is worth tightening before searching.
- Suggestions deliberately hide private details until you approve contact.
- An empty pool usually means you have not closed or archived past vacancies yet.

**Related:** [Talent Pool](#feature-name-talent-pool) · [Candidate Consent for Future Opportunities](#feature-name-candidate-consent-for-future-opportunities) · [Change Vacancy Status](#feature-name-change-vacancy-status) · [Candidate Sourcing](#feature-name-candidate-sourcing)

---

### Feature name: Talent Pool
**Short Description:** Store of past applicants who consented to future opportunities.
**Purpose:** Builds a reusable candidate database from previous hiring rounds.
**Context:** Most hiring effort is thrown away at the end of a search: fifty people were assessed, one was hired, and the other forty-nine — several of whom were genuinely good — are forgotten. The talent pool captures that value automatically, on a consent basis, whenever you close or archive a vacancy. Over a year this compounds into a private, pre-vetted candidate database that costs nothing to search and outperforms cold sourcing on both response rate and quality. The consent requirement is what makes it lawful, and it is enforced by the system rather than left to you to remember.
**How to use it:**
1. Nothing to enable — candidates opt in when they apply.
2. When you close or archive a vacancy, consenting non-hired candidates are added automatically.
3. Individual candidates can also be added when their application is finalised.
4. Search the pool from any job via "Find Candidates (Talent Pool)".
5. Candidates who did not consent are never added.

**Good to know:**
- The pool only grows when you actually close or archive finished vacancies — leaving old roles Active starves it.
- Consent is checked by the system; candidates who declined are excluded and cannot be added manually.
- Hired candidates are not added, only the non-hired ones.
- This is your highest-conversion sourcing channel and it costs no credits to search.

**Related:** [Talent Pool Finder](#feature-name-talent-pool-finder) · [Change Vacancy Status](#feature-name-change-vacancy-status) · [Candidate Consent for Future Opportunities](#feature-name-candidate-consent-for-future-opportunities) · [Suggested Position](#feature-name-suggested-position)

---

### Feature name: Request Expert Help
**Short Description:** Ask the Canvider team for a human review of a candidate.
**Purpose:** Brings expert judgement to hard-to-assess candidates.
**Context:** Recruiters are routinely asked to evaluate skills they do not personally have — judging a senior graphics programmer's depth, or whether a portfolio reflects real craft or a good tutorial. AI scoring helps rank but cannot substitute for domain expertise, and getting it wrong is expensive in both directions: a bad hire, or a great candidate rejected. This escalates a specific candidate to a human specialist with a defined scope and deadline, which is far more useful than a generic second opinion.
**How to use it:**
1. Open the applicant's detail page.
2. Click "More actions" then "Request Expert Help".
3. Choose the review type: "Hard skills" or "Soft skills".
4. Tick the focus areas you want assessed (e.g. Leadership, Communication).
5. Optionally select languages (English, Turkish, Polish).
6. Pick when you need it: Today, Tomorrow, In a week, In a month.
7. Click "Submit request".

**Good to know:**
- Choose focus areas narrowly — a request to assess everything produces a shallower answer than one clear question.
- The deadline you pick is a real input, so do not select "Today" out of habit.
- Language selection matters when the review involves interviewing or assessing non-English material.
- Best reserved for genuinely borderline or senior candidates where the decision cost is high.

**Related:** [AI Decision Helper](#feature-name-ai-decision-helper) · [AI CV Analysis](#feature-name-ai-cv-analysis) · [Key Highlights & Shortcomings](#feature-name-key-highlights--shortcomings)

---

## 6. Applicant Tracking (People)

### Feature name: Applicant List
**Short Description:** Sortable table of every applicant across all your jobs.
**Purpose:** The working list recruiters use to process candidates.
**Context:** This is where recruiters spend most of their day. The job pages are for managing roles; People is for processing humans, and it is deliberately a dense sortable table rather than a card view because throughput matters more than aesthetics when you are working through two hundred applications. Sorting is the underrated part: sort by Score to triage quality, by Applied to protect candidate experience on the oldest applications, or by Status to see what is stuck. It is also the launch point for every bulk action, which is where the real time savings live.
**How to use it:**
1. Click "People" in the top navigation bar.
2. Review the columns: Name, Position, Status, Location, Experience, Score, Applied.
3. Click any column header to sort by that field.
4. Click "View" on a row to open the full applicant page.
5. Use the pagination controls and the "Show … per page" selector at the bottom.

**Good to know:**
- Score is only populated for candidates who have been through AI analysis; blanks are unanalysed, not bad.
- Sorting by "Applied" oldest-first is the simplest way to stop candidates ageing out of the process.
- Increase "Show … per page" before doing bulk selections — selection applies to what is on screen.
- The list spans every job by default. Filter by Position first when you intend to act in bulk.

**Related:** [Applicant Filters](#feature-name-applicant-filters) · [Applicant Search](#feature-name-applicant-search) · [Bulk Status Update](#feature-name-bulk-status-update) · [Applicant Detail Overview](#feature-name-applicant-detail-overview)

---

### Feature name: Applicant Search
**Short Description:** Free-text search across your applicants.
**Purpose:** Locates a specific candidate instantly by name.
**Context:** The single most common interruption in a recruiter's day is a hiring manager asking about one named person, usually while you are in the middle of something else. Filters are the wrong tool for that — you know exactly who you want. Search is the direct route: type the name, get the person, answer the question. It works across every job, which matters because the person asking often does not remember which role the candidate applied to.
**How to use it:**
1. Open the People page.
2. Click the "Search applicants..." field at the top.
3. Type the candidate's name or other details.
4. Press Enter or click the search button.
5. Clear the field and search again to reset.

**Good to know:**
- Search covers all your jobs at once, so you do not need to know which role the person applied to.
- Partial names work — useful when a name is spelled inconsistently across a CV and an email.
- Search finds applicants only. For sourced people who have not applied, use Discover People.
- Combine with filters when a common name returns several matches.

**Related:** [Applicant List](#feature-name-applicant-list) · [Applicant Filters](#feature-name-applicant-filters) · [Discover People](#feature-name-discover-people)

---

### Feature name: Applicant Filters
**Short Description:** Filter applicants by position, status, location, date and criteria.
**Purpose:** Narrows hundreds of applicants to a workable shortlist.
**Context:** Filters are what turn an unmanageable list into a work queue, and each one maps to a real recruiting question: Position for "let me work this role", Status for "who is waiting on me", Date for "who has been waiting too long", Location for right-to-work and relocation realities. The "Meets all criterias" toggle is the most powerful of them — combined with Criteria Assertion AI it produces an instant, consistently-judged shortlist. Filters are also the safety mechanism for bulk actions: filter first, verify the list, then act.
**How to use it:**
1. Open the People page.
2. Select a job in the "Position" dropdown.
3. Select a value in the "Status" dropdown.
4. Select a value in the "Candidate Location" dropdown.
5. Select a range in the "Application Date" dropdown.
6. Toggle "Meets all criterias" to show only candidates passing every criterion.
7. Click "Clear all filters" to reset.

**Good to know:**
- "Meets all criterias" only works once criteria are defined for the job and matching has been run.
- Filters combine, so an empty result usually means over-filtering rather than an empty pipeline.
- Always filter by Position before a bulk status change or bulk email — it is the main guard against acting on the wrong group.
- "Clear all filters" is the first thing to try when the list looks unexpectedly short.

**Related:** [Criteria Assertion AI](#feature-name-criteria-assertion-ai) · [Bulk Status Update](#feature-name-bulk-status-update) · [Applicant List](#feature-name-applicant-list) · [Criteria Match Analysis](#feature-name-criteria-match-analysis)

---

### Feature name: Bulk Status Update
**Short Description:** Change the application status of many candidates at once.
**Purpose:** Moves whole groups through the pipeline in one action.
**Context:** Pipelines rot at the edges. After a role is filled, dozens of candidates sit in "Review" forever because closing each one individually is twenty minutes of clicking that never quite reaches the top of anyone's list — and those people are left waiting for an answer that never comes. Bulk update makes the honest option the easy one. The optional notification toggle is what turns a bookkeeping action into good candidate experience: the same click that tidies your pipeline can tell fifty people where they stand.
**How to use it:**
1. Open the People page and apply any filters you need.
2. Tick the checkbox on each candidate row you want to include.
3. The bulk action bar appears showing the selected count.
4. Optionally toggle "Send notification email" on.
5. Pick the new value in the "Change status to..." dropdown.
6. Click "Apply".

**Good to know:**
- Check the count in the bulk action bar before applying — it is your last confirmation of scope.
- With "Send notification email" on, this sends real email to real people. There is no undo on a sent message.
- Filter by Position first so you never move candidates from an unrelated role by accident.
- Rejecting in bulk with notification on is the single kindest thing you can do for candidate experience.

**Related:** [Applicant Filters](#feature-name-applicant-filters) · [Change Application Status](#feature-name-change-application-status) · [Bulk Communication](#feature-name-bulk-communication) · [Custom Email Templates](#feature-name-custom-email-templates)

---

### Feature name: Bulk Delete Candidates
**Short Description:** Permanently remove several selected candidates in one step.
**Purpose:** Clears spam or duplicate applications quickly.
**Context:** Public application forms attract junk — bots, test submissions, obvious spam, and duplicates from candidates who clicked apply three times. Left in place these distort every number you report, since conversion rates computed over fake applications are meaningless. Bulk delete exists for exactly that cleanup. It is not the tool for rejecting real candidates: a rejected candidate should have a status and a record, both for your analytics and for your own protection if a decision is ever questioned.
**How to use it:**
1. Open the People page.
2. Tick the checkbox on each candidate you want to delete.
3. Click "Delete Selected" in the bulk action bar.
4. Confirm the deletion when prompted.
5. The candidates disappear from the list.

**Good to know:**
- Deletion is permanent — the application, its files and its history are gone.
- Use it for spam, tests and duplicates only. Real candidates you are turning down should get a rejected status instead, so they stay in your analytics and talent pool.
- Deleted candidates vanish from analytics, which is exactly why deleting real applicants distorts your reporting.
- Double-check the selection count before confirming; there is no recovery step.

**Related:** [Delete Candidate](#feature-name-delete-candidate) · [Bulk Status Update](#feature-name-bulk-status-update) · [Applicant Filters](#feature-name-applicant-filters)

---

### Feature name: Refresh Applicants
**Short Description:** Pull in new applications from connected email and LinkedIn.
**Purpose:** Imports applications that arrived outside the Canvider form.
**Context:** Not every applicant comes through your careers page. Some job boards deliver applications as email with the CV attached, and LinkedIn keeps its own applicants until they are collected. Those candidates are effectively invisible until someone imports them — and an application sitting unread for a week is usually a lost candidate. Refresh does that collection in one click: it parses the emails, extracts the PDF resume (falling back to OCR for scanned documents) and runs AI extraction to build a proper structured application rather than a message in an inbox.
**How to use it:**
1. Open the People page.
2. Click "Refresh Applicants" in the header.
3. Wait while the button shows "Processing...".
4. Canvider reads PostJobFree application emails, extracts PDF resumes, and runs AI extraction.
5. LinkedIn applicants from jobs published through the integration are synced too.
6. Read the success message showing how many applications were created.

**Good to know:**
- Make this a daily habit if you publish to PostJobFree or LinkedIn — nothing arrives from those channels until you refresh.
- LinkedIn sync only covers jobs that were published through the integration.
- Scanned image-only CVs go through OCR, which is slower and less accurate than a text PDF.
- The confirmation message tells you how many applications were created; zero simply means nothing new arrived.

**Related:** [PostJobFree Email Ingestion](#feature-name-postjobfree-email-ingestion) · [LinkedIn Integration](#feature-name-linkedin-integration) · [Bulk Upload CVs](#feature-name-bulk-upload-cvs) · [Bulk Candidate Analysis](#feature-name-bulk-candidate-analysis)

---

### Feature name: Add Candidate Manually
**Short Description:** Create a single application by uploading a CV yourself.
**Purpose:** Adds referrals and offline candidates into the pipeline.
**Context:** The best candidates often arrive through the least structured routes — an employee referral, a conversation at a conference, a CV forwarded by a friend of the CTO. These people would otherwise be tracked in someone's inbox, invisible to your process and missing from your reporting, which is how referred candidates end up receiving worse follow-up than strangers who used the form. Adding them here puts them in the same pipeline as everyone else, with the same scoring, statuses and analytics. You only supply email, phone and the CV; the AI extracts the rest.
**How to use it:**
1. Open the People page.
2. Click "Add Candidate".
3. Select the "Position" the candidate should be attached to.
4. Enter the candidate's "Email".
5. Enter the candidate's "Phone".
6. Upload the CV file.
7. Submit — remaining details are extracted from the CV automatically by AI.

**Good to know:**
- Name, experience and skills are extracted from the CV, so you do not need to type them.
- Manually added candidates have not given future-opportunities consent, so they will not enter the talent pool.
- They also have no screening-question answers, since they never saw the application form.
- Adding referrals here rather than tracking them by email is what makes source-of-hire reporting honest.

**Related:** [Bulk Upload CVs](#feature-name-bulk-upload-cvs) · [AI CV Analysis](#feature-name-ai-cv-analysis) · [Candidate Consent for Future Opportunities](#feature-name-candidate-consent-for-future-opportunities) · [Source of Hire & Source Effectiveness](#feature-name-source-of-hire--source-effectiveness)

---

### Feature name: Refer Candidate to Another Position
**Short Description:** Duplicate an application onto a different open job.
**Purpose:** Reuses a strong candidate for a better-fitting role.
**Context:** Candidates frequently apply to the wrong job — they pick the title they recognise, or the only opening they saw — and a strong senior applicant lands in a junior posting. Rejecting them because the requisition does not match is a waste of a real opportunity, but retyping the whole application into another role is friction nobody has time for. Referral copies the candidate onto the better-fitting job, bringing internal notes along so the receiving recruiter inherits the context rather than starting from zero.
**How to use it:**
1. Open the applicant's detail page.
2. Click "More actions" then "Refer to Position".
3. Choose the job in "Select Target Position".
4. Read the note — a duplicate application is created and internal notes are copied.
5. Click "Refer Candidate".

**Good to know:**
- This creates a second application; the original remains, so close it out with an appropriate status.
- Internal comments are copied across, so review them first if they contain anything role-specific.
- Tell the candidate you are moving them — the system creates the record, not the conversation.
- The AI "Suggested Position" feature can identify these opportunities for you automatically.

**Related:** [Suggested Position](#feature-name-suggested-position) · [Internal Comments](#feature-name-internal-comments) · [Change Application Status](#feature-name-change-application-status) · [Talent Pool](#feature-name-talent-pool)

---

### Feature name: Delete Candidate
**Short Description:** Permanently remove a single application and its data.
**Purpose:** Honours deletion requests and removes bad-data records.
**Context:** This exists primarily for a legal reason: under GDPR and similar regimes, a candidate can ask you to erase their data, and you must be able to comply completely rather than just hiding them from a list. It also handles genuine data problems — a CV uploaded against the wrong person, a duplicate record with corrupted extraction. What it is not is a rejection tool. Deleting someone you turned down erases the evidence of a fair process and removes them from the analytics that justify your hiring decisions.
**How to use it:**
1. Open the applicant's detail page.
2. Click "More actions" then "Delete Candidate".
3. Read the confirmation question carefully.
4. Click "Delete" to confirm, or "Cancel" to abort.

**Good to know:**
- Permanent and unrecoverable: the application, resume, comments and email history all go.
- This is the correct response to a candidate's data-erasure request.
- To turn someone down, set a rejected status instead — that keeps your records and analytics intact.
- If you need a record that the deletion happened, note it elsewhere first; the internal comments go with the candidate.

**Related:** [Bulk Delete Candidates](#feature-name-bulk-delete-candidates) · [Change Application Status](#feature-name-change-application-status) · [Deleted Vacancy Data Cleanup](#feature-name-deleted-vacancy-data-cleanup) · [Legal Documents](#feature-name-legal-documents)

---

## 7. Applicant Detail Page

### Feature name: Applicant Detail Overview
**Short Description:** Tabbed profile covering AI analysis, background, activity and position.
**Purpose:** Complete candidate context in one navigable screen.
**Context:** Evaluating a candidate normally means assembling evidence from half a dozen places — the CV, their LinkedIn, a portfolio site, the email thread, whatever a colleague said in Slack. That scattering is why two people can review the same candidate and reach opposite conclusions: they were looking at different evidence. This page collapses all of it into one record organised the way a decision actually gets made: what the AI concluded, what their background shows, what has happened so far, and what the role requires.
**How to use it:**
1. From the People page, click "View" on a candidate row.
2. Use the left tab groups: Overview, Candidate Background, Activity, Position.
3. Under Overview, open "Dashboard & AI".
4. Under Candidate Background, open Resume, LinkedIn, ArtStation, Behance or Cara.
5. Under Activity, open Journey, Internal Comments, Files or Emails.
6. Under Position, open "Job Details".

**Good to know:**
- The four tab groups map to four different questions: what the AI thinks, who they are, what has happened, and what the job needs.
- Portfolio tabs (ArtStation, Behance, Cara) only populate after AI analysis has run.
- The Position tab means you never have to open the job in another window to compare requirements.
- Everything a colleague needs to review this person independently is on this page — link to it rather than summarising in chat.

**Related:** [Candidate Facts Panel](#feature-name-candidate-facts-panel) · [AI CV Analysis](#feature-name-ai-cv-analysis) · [Internal Comments](#feature-name-internal-comments) · [Position Tab](#feature-name-position-tab)

---

### Feature name: Candidate Facts Panel
**Short Description:** Structured summary of the candidate's key extracted details.
**Purpose:** Answers the common screening questions without opening the CV.
**Context:** Roughly nine out of ten screening questions are the same handful of facts: how much experience, what they do now, where they live, when they could start. Finding those in a free-form CV means reading someone's chosen layout, which is slow and inconsistent across candidates. This panel normalises them into the same structure for everyone, which is what makes fast comparison possible at all. "Notice Period" and "Last Communication" are the two most often overlooked — the first shapes your offer timeline, the second flags candidates going cold.
**How to use it:**
1. Open the applicant's Overview tab.
2. Find the "Candidate Facts" panel.
3. Read Applied Position, Latest/Current Position, Total Experience and Address.
4. Read Latest/Current Employer, Education Level, Notice Period and Application Portal.
5. Note the Application Date, Status, Application ID and Last Communication.
6. Fields showing "Not analyzed" fill in after you run AI analysis.

**Good to know:**
- "Not analyzed" means AI analysis has not run yet, not that the CV lacks the information.
- These values are AI-extracted from the CV. Verify anything decisive — especially experience totals — against the resume itself.
- "Last Communication" is the quickest way to spot a candidate nobody has replied to.
- "Application Portal" is the per-candidate source attribution behind the Source of Hire report.
- Quote the Application ID when raising a support question about a specific candidate.

**Related:** [AI CV Analysis](#feature-name-ai-cv-analysis) · [Resume Viewer](#feature-name-resume-viewer) · [AI Usage Disclaimer](#feature-name-ai-usage-disclaimer) · [Email History & Inbox](#feature-name-email-history--inbox)

---

### Feature name: Resume Viewer
**Short Description:** Inline preview and download of the candidate's CV.
**Purpose:** Reads the source document without leaving Canvider.
**Context:** Every extracted field and AI score in Canvider is a derivative of this one document, so the resume is the ground truth you fall back to whenever something looks wrong or a decision is close. Keeping it inline matters more than it sounds: a viewer that forces a download breaks the reading flow and, worse, scatters copies of candidate CVs across everyone's laptop — which is a real data-protection problem, not a tidiness one. The download button is there for the cases where a preview genuinely cannot render.
**How to use it:**
1. Open the applicant's detail page.
2. Click the "Resume" tab under Candidate Background.
3. Read the CV in the embedded PDF preview.
4. Check the "Uploaded" date shown above it.
5. If the preview is unavailable, click "Download PDF".

**Good to know:**
- Always check the resume before a final decision — AI-extracted facts are a summary, not the source.
- The "Uploaded" date tells you how current the CV is; a two-year-old document may understate recent experience.
- Preview failures usually mean an unusual PDF encoding or a scanned image. Download it to read it.
- Downloaded CVs are candidate personal data. Delete local copies when you are done with them.

**Related:** [Candidate Facts Panel](#feature-name-candidate-facts-panel) · [AI CV Analysis](#feature-name-ai-cv-analysis) · [Application Files](#feature-name-application-files) · [File Upload Security](#feature-name-file-upload-security)

---

### Feature name: Journey (Application Stages)
**Short Description:** Timeline of every status the application has passed through.
**Purpose:** Shows how long the candidate has waited at each stage.
**Context:** Candidates rarely drop out because they were rejected; they drop out because they were left waiting without news and accepted an offer elsewhere. The journey timeline makes that risk visible per person — a candidate who has been in "Review #2" for three weeks is a candidate you are probably about to lose. It doubles as the accountability record for the role: when a hiring manager asks why a search is taking so long, this shows precisely which stage consumed the time, which is usually a more useful conversation than a general apology.
**How to use it:**
1. Open the applicant's detail page.
2. Click the "Journey" tab under Activity.
3. Review the "Application Stages" timeline top to bottom.
4. Read each stage's date to spot delays.

**Good to know:**
- Long gaps between stages are the leading indicator of a candidate going cold.
- The timeline is built from status changes, so it is only as accurate as your discipline in updating statuses.
- This is the per-candidate view; "Avg. Days per Stage" in Analytics is the same idea aggregated across everyone.
- Check it before an interview so you know how long the person has been waiting on you.

**Related:** [Change Application Status](#feature-name-change-application-status) · [Stage Duration & Pipeline Snapshot](#feature-name-stage-duration--pipeline-snapshot) · [Activity Feed](#feature-name-activity-feed) · [Pipeline Conversion Funnel](#feature-name-pipeline-conversion-funnel)

---

### Feature name: Internal Comments
**Short Description:** Private recruiter-only discussion thread on each candidate.
**Purpose:** Keeps hiring feedback with the candidate, not in chat apps.
**Context:** Interview feedback discussed in Slack or email is effectively lost — unfindable in three months, invisible to whoever picks the candidate up next, and impossible to produce if a hiring decision is ever challenged. Keeping the discussion attached to the candidate solves all three. Write with that permanence in mind: comments persist, travel with the candidate if they are referred to another role, and should record job-related observations rather than personal impressions. The @mention integration is what makes the thread an actual conversation rather than a noticeboard.
**How to use it:**
1. Open the applicant's detail page.
2. Click the "Internal Comments" tab under Activity.
3. Type your note in the comment box.
4. Type "@" and pick a teammate to mention and notify them.
5. Click "Post Comment".
6. To remove one of your comments, click its delete icon and confirm "Delete this comment?".

**Good to know:**
- Comments are internal and never visible to the candidate — but write only job-related, defensible observations.
- @mentions send an email notification, which is the reliable way to get a colleague's attention on a specific candidate.
- Comments are copied when a candidate is referred to another position, so review them before referring.
- You can delete your own comments; the mention notification already sent cannot be recalled.

**Related:** [Team Mentions](#feature-name-team-mentions) · [Refer Candidate to Another Position](#feature-name-refer-candidate-to-another-position) · [Applicant Detail Overview](#feature-name-applicant-detail-overview) · [Change Application Status](#feature-name-change-application-status)

---

### Feature name: Application Files
**Short Description:** Attach extra documents to a candidate's application.
**Purpose:** Keeps portfolios, notes and test results with the candidate.
**Context:** A CV is rarely the whole file by the time someone reaches offer stage. There are take-home assignments, portfolio PDFs, interview scorecards, reference notes, sometimes a signed document. Scattered across inboxes, those artefacts are unavailable to the next person to touch the candidate and awkward to produce if the hiring decision is later reviewed. Attaching them to the application keeps the complete evidence trail in one place, with a record of who added what and when.
**How to use it:**
1. Open the applicant's detail page.
2. Click the "Files" tab under Activity.
3. Drag and drop a file into the drop zone, or click to browse (up to 10MB).
4. Click "Upload".
5. Each file shows who uploaded it and when.
6. Click "Download" to retrieve a file, or the delete icon to remove it.

**Good to know:**
- 10MB maximum per file. Compress large portfolio PDFs or link to them instead.
- Uploads are validated by type and file signature, so renaming an unsupported file will not get it through.
- Every file records its uploader and timestamp, which is what makes it an audit trail rather than a folder.
- Deleted files are gone permanently — there is no version history.
- Anything uploaded here is candidate personal data and is removed with the application if it is deleted.

**Related:** [Resume Viewer](#feature-name-resume-viewer) · [File Upload Security](#feature-name-file-upload-security) · [Internal Comments](#feature-name-internal-comments) · [Delete Candidate](#feature-name-delete-candidate)

---

### Feature name: Change Application Status
**Short Description:** Move a candidate to a new stage, optionally emailing them.
**Purpose:** Advances the pipeline and keeps candidates informed.
**Context:** Status changes are the heartbeat of the ATS — every analytic in the product, from conversion funnel to time-to-hire, is derived from them, so a pipeline that is not kept current produces reporting that is quietly wrong. This screen deliberately couples the internal update with the candidate-facing message: the moment you know something has changed is exactly when the candidate should hear about it, and combining the two is what stops "I'll email them later" becoming never. The internal note field captures the reasoning while it is fresh, which is what makes the decision reconstructable months later.
**How to use it:**
1. Open the applicant's detail page and click "Change State".
2. Review the "Current" status shown.
3. Pick the "New status" (New, Review #1–#5, Ready for Decision, Eliminated, Background Check, Final Interview, Reference Check, Paused, Offer Made, Candidate Accepted, Candidate Rejected).
4. Add an "Internal note" visible only to recruiters.
5. Toggle "Send an update email to the candidate" on or off.
6. Edit the email "Subject" and "Message", or leave the standard content.
7. Check the live email "Preview" pane on the right.
8. Click "Save change".

**Good to know:**
- Always read the Preview pane before saving with email on — it shows exactly what the candidate receives, and a sent email cannot be recalled.
- The internal note is recruiter-only and is the best place to record *why* the decision was made.
- Statuses drive every analytics report, so an out-of-date pipeline produces misleading numbers.
- You can create a new status inline from the dropdown if none of the existing ones fit.
- Recording rejection reasons here is what makes the Offer Rejection Analysis report useful later.

**Related:** [Custom Application Statuses](#feature-name-custom-application-statuses) · [Bulk Status Update](#feature-name-bulk-status-update) · [AI Email Drafting](#feature-name-ai-email-drafting) · [Journey (Application Stages)](#feature-name-journey-application-stages) · [Offer Rejection Analysis](#feature-name-offer-rejection-analysis)

---

### Feature name: Custom Application Statuses
**Short Description:** Create your own pipeline stages beyond the built-in ones.
**Purpose:** Matches Canvider to your company's real hiring process.
**Context:** No default pipeline survives contact with a real hiring process. Agencies need a "Submitted to client" stage, regulated industries need compliance checks, and studios often need a portfolio or art-test round that has no equivalent in a generic ATS. Forcing those into the nearest built-in status is how pipelines become fiction — everyone knows "Review #3" secretly means something else. Custom statuses let the tool describe what your team actually does. The category you assign is what keeps analytics coherent, because it tells Canvider where your new stage sits in the funnel.
**How to use it:**
1. Open a candidate and click "Change State".
2. In the status dropdown, choose "Create new status...".
3. Type the "New status name".
4. Click "Create status" — it becomes available for all future candidates.
5. Alternatively, go to Settings → Preferences → "Application States" tab.
6. Click "Add State", set the Display Name and Category (Early, Review, Late, Negative Result, Stateless/Other), then click "Save".

**Good to know:**
- Setting the right Category matters — it is how the funnel and stage-duration reports interpret your custom stage.
- New statuses are company-wide and immediately available to every teammate.
- Keep the list short. A pipeline with twenty stages is one nobody keeps accurate.
- Statuses created inline from the Change State modal skip the category step, so review them later in Settings.
- If you define no custom states, Canvider's defaults apply.

**Related:** [Application States Configuration](#feature-name-application-states-configuration) · [Change Application Status](#feature-name-change-application-status) · [Pipeline Conversion Funnel](#feature-name-pipeline-conversion-funnel) · [Monthly Applicant Overview](#feature-name-monthly-applicant-overview)

---

### Feature name: Screening Question Answers
**Short Description:** View and edit the answers candidates gave when applying.
**Purpose:** Checks knockout criteria before investing interview time.
**Context:** Screening questions only pay off if their answers are read at the right moment — which is before scheduling, not after. This panel is that checkpoint: a "no" on a work-permit question saves an hour of interview time and spares the candidate a pointless conversation. The edit capability exists because reality is messier than forms: candidates often answer the same question in a cover email or during a phone screen, and recording it here keeps the structured record complete instead of leaving the truth in someone's memory.
**How to use it:**
1. Open the applicant's Overview tab.
2. Scroll to the "Screening Questions" panel.
3. Read each question with its "Answered" or "No answer" badge.
4. Read the candidate's response under each question.
5. Edit an answer if the candidate supplied it another way, then save.

**Good to know:**
- "No answer" is common for candidates who did not come through the Canvider application form — manual adds and imports never saw the questions.
- Check this panel before scheduling, not after; that is where the time saving is.
- Editing an answer changes the record, so note in an internal comment where the information came from.
- Questions are set at publish time and cannot be added to a live job retroactively.

**Related:** [Screening Questions](#feature-name-screening-questions) · [Criteria Match Analysis](#feature-name-criteria-match-analysis) · [Add Candidate Manually](#feature-name-add-candidate-manually) · [Internal Comments](#feature-name-internal-comments)

---

### Feature name: LinkedIn Profile Enrichment
**Short Description:** Pulls the candidate's full LinkedIn profile into the applicant page.
**Purpose:** Adds verified career context the CV may omit.
**Context:** A CV is a marketing document written for a specific application; a LinkedIn profile is a public record maintained over years. Reading both together is where the useful signal is — unexplained gaps, roles listed in one place but not the other, a current job that has quietly changed. Enrichment brings that comparison into the same screen instead of a second browser tab, and it captures context CVs routinely omit: certifications, languages, side projects and recent posts that tell you what someone actually cares about.
**How to use it:**
1. Run AI analysis on the candidate first — enrichment runs afterwards.
2. Open the "LinkedIn" tab under Candidate Background.
3. If a profile was found, review About, Experience, Skills, Education, Certifications, Languages, Projects and Recent posts.
4. If no profile was found, open "Profile settings" and click "Add profile URL".
5. Paste the "LinkedIn Profile URL" and click "Fetch Profile".
6. Use "Refresh Profile" later to re-fetch, or "Retry LinkedIn Fetch" after an error.
7. Click "View Profile" to open the real LinkedIn page.

**Good to know:**
- Requires a connected LinkedIn account and employer tier 2 or higher — the fetch runs through your own account.
- Run AI analysis first; enrichment happens afterwards and cannot find a profile that was never matched.
- Automatic matching fails for common names or unusual spellings. Pasting the URL manually is the reliable fix.
- Use "Refresh Profile" on candidates who have been in your pipeline a while — profiles change.
- Compare against the CV rather than trusting either alone; discrepancies are the whole point.

**Related:** [LinkedIn Integration](#feature-name-linkedin-integration) · [AI CV Analysis](#feature-name-ai-cv-analysis) · [Employer Tiers](#feature-name-employer-tiers) · [Integration Diagnostics](#feature-name-integration-diagnostics)

---

### Feature name: ArtStation Profile Enrichment
**Short Description:** Pulls a candidate's ArtStation portfolio into the applicant page.
**Purpose:** Judges creative candidates on actual portfolio work.
**Context:** For artists, the portfolio *is* the qualification — a CV listing five years of environment art tells you far less than ten minutes of looking at the work. ArtStation is where most game and film artists maintain that work, and pulling it into the applicant page removes the tab-hopping that makes reviewing thirty portfolios exhausting. The "Style Detected" and "Job Fit" summaries are a triage aid for recruiters who are not themselves artists; they are a starting point for the conversation with your art director, not a substitute for one.
**How to use it:**
1. Run AI analysis on the candidate first.
2. Open the "ArtStation" tab under Candidate Background.
3. Review Style Detected, Job Fit, About, Top liked artworks, Latest works, Experience, Skills and Software, Links and Availability.
4. If no URL was found, open "Profile settings" and click "Add profile URL".
5. Paste the "ArtStation Profile URL" and click "Fetch Profile".
6. Click "View Profile" to open the live ArtStation page.

**Good to know:**
- "Top liked" reflects community popularity, "Latest works" reflects current ability — the second is usually more relevant to a hiring decision.
- The Software list is often the most practical field: it tells you which pipeline the artist already knows.
- Style and Job Fit are AI judgements about creative work. Treat them as triage, and have an artist make the call.
- If nothing was matched automatically, the ArtStation URL is usually in the CV or the LinkedIn profile.

**Related:** [ArtStation Focus Search](#feature-name-artstation-focus-search) · [Behance Profile Enrichment](#feature-name-behance-profile-enrichment) · [Cara Profile Enrichment](#feature-name-cara-profile-enrichment) · [AI CV Analysis](#feature-name-ai-cv-analysis)

---

### Feature name: Behance Profile Enrichment
**Short Description:** Pulls a candidate's Behance portfolio into the applicant page.
**Purpose:** Reviews design work without hunting for links manually.
**Context:** Behance is where graphic designers, UI/UX practitioners, illustrators and brand designers publish, in the way ArtStation serves 3D and game art. Supporting both means Canvider can review a creative candidate whichever community they belong to, rather than forcing everyone through one platform's conventions. Behance projects also tend to include process and case-study material rather than finished images alone, which is exactly what distinguishes a designer who can think from one who can only execute.
**How to use it:**
1. Run AI analysis on the candidate first.
2. Open the "Behance" tab under Candidate Background.
3. Review Style Detected, Job Fit, Recent projects, About, Work experience and Availability.
4. If no URL was found, open "Profile settings" and click "Add profile URL".
5. Paste the "Behance Profile URL" and click "Fetch Profile".
6. If the fetch is blocked, wait a few minutes and try again.

**Good to know:**
- Behance occasionally rate-limits fetching. A blocked attempt is temporary — wait a few minutes and retry rather than assuming the profile is missing.
- Project case studies show process and reasoning, which is usually more diagnostic than the final visuals.
- Many designers maintain both Behance and a personal site; check the profile links for the latter.
- Style and Job Fit are AI assessments — a designer or design lead should make the actual judgement.

**Related:** [ArtStation Profile Enrichment](#feature-name-artstation-profile-enrichment) · [Cara Profile Enrichment](#feature-name-cara-profile-enrichment) · [AI CV Analysis](#feature-name-ai-cv-analysis)

---

### Feature name: Cara Profile Enrichment
**Short Description:** Pulls a candidate's Cara art profile into the applicant page.
**Purpose:** Evaluates artists active on the Cara platform.
**Context:** Cara emerged as a home for artists who wanted a platform with a clear stance on AI-generated work, and a meaningful population of professional illustrators and concept artists now maintain their primary presence there rather than on the older networks. Supporting it means those candidates can be reviewed properly instead of being penalised for not using the platform your ATS happens to know about. In practice, an artist's choice of Cara is itself a small signal about how they think about their craft.
**How to use it:**
1. Run AI analysis on the candidate first.
2. Open the "Cara" tab under Candidate Background.
3. Review Style Detected, Job Fit, About, Top liked artworks, Latest works, Experience, Skills and Software, Links and Availability.
4. If no URL was found, open "Profile settings" and click "Add profile URL".
5. Paste the "Cara Profile URL" and click "Fetch Profile".
6. Click "View Profile" to open the live Cara page.

**Good to know:**
- Cara is also available as a candidate sourcing source, not just an enrichment target.
- Artists often maintain profiles on several platforms — check ArtStation and Behance too before concluding someone has no portfolio.
- The Availability field is worth reading; many artists state freelance versus full-time preferences there.
- As with the other portfolio tabs, Style and Job Fit are AI triage rather than a creative verdict.

**Related:** [ArtStation Profile Enrichment](#feature-name-artstation-profile-enrichment) · [Behance Profile Enrichment](#feature-name-behance-profile-enrichment) · [Candidate Sourcing](#feature-name-candidate-sourcing)

---

### Feature name: Position Tab
**Short Description:** Shows the job details the candidate applied for.
**Purpose:** Compares the candidate against the role without switching pages.
**Context:** Screening drift is a real and expensive phenomenon: forty CVs into a review, you are unconsciously comparing candidates to each other rather than to the role, and the bar moves without anyone deciding to move it. Having the job description one click away on the same page is a cheap corrective — re-read the requirements, then judge the person against them. It is also what makes a second reviewer's opinion useful, since they can see exactly what the candidate was supposed to be measured against.
**How to use it:**
1. Open the applicant's detail page.
2. Click "Job Details" under the Position group.
3. Read the job description, requirements and skills.
4. Compare them against the candidate's background tabs.

**Good to know:**
- Re-read this every ten or so candidates during a long review session — it is the fix for a bar that has quietly drifted.
- The skills shown here are the same ones AI CV analysis scores against, so it explains the score.
- If the requirements look wrong for the candidates you are attracting, the fix is in the job, not the screening.
- Useful when a colleague reviews a candidate on a role they do not normally work on.

**Related:** [Applicant Detail Overview](#feature-name-applicant-detail-overview) · [AI CV Analysis](#feature-name-ai-cv-analysis) · [Edit Salary, Skills & Locations](#feature-name-edit-salary-skills--locations) · [Criteria Match Analysis](#feature-name-criteria-match-analysis)

---

## 8. AI Features

### Feature name: AI CV Analysis
**Short Description:** AI reads the CV and scores it against the job description.
**Purpose:** Screens candidates in seconds instead of minutes.
**Context:** Manual CV screening is the largest single time cost in recruiting and also the least consistent — the same CV gets judged differently at nine in the morning than at five in the afternoon, and reviewer number two applies a different bar than reviewer number one. AI analysis reads every CV against the same job description with the same standard, producing a score you can sort by. It is a triage instrument, not a decision: its job is to tell you which twenty of two hundred CVs deserve your actual attention. It is also the gateway feature for much of the product — profile enrichment, candidate facts and portfolio tabs all depend on it having run.
**How to use it:**
1. Open the applicant's Overview tab.
2. Find the "AI Analysis Available" card.
3. Click "Analyze with CanviderAI".
4. Wait while "Analyzing CV..." runs — this takes a moment.
5. When "Analysis complete" appears, review the match verdict (excellent / good / fair / weak match).
6. Read the "Profile Match Analysis" score and summary.
7. Note: this costs 1 employer credit per analysis.

**Good to know:**
- Costs 1 employer credit per candidate. Use Bulk Candidate Analysis rather than clicking through profiles one at a time.
- The score is only as good as the job description and skills it compares against — a thin posting produces meaningless scores.
- Analysis also unlocks the Candidate Facts panel and the LinkedIn, ArtStation, Behance and Cara enrichment tabs.
- Never reject on score alone. It is a ranking aid, and a human must make the decision.
- Re-run analysis after materially rewriting a job description if you need consistent scoring across candidates.

**Related:** [Bulk Candidate Analysis](#feature-name-bulk-candidate-analysis) · [Key Highlights & Shortcomings](#feature-name-key-highlights--shortcomings) · [Candidate Facts Panel](#feature-name-candidate-facts-panel) · [Employer Credits](#feature-name-employer-credits) · [AI Usage Disclaimer](#feature-name-ai-usage-disclaimer)

---

### Feature name: Key Highlights & Shortcomings
**Short Description:** AI-generated strengths and weaknesses for each candidate.
**Purpose:** Surfaces the decisive facts without reading the whole CV.
**Context:** A single number tells you how a candidate ranks but not *why*, and "why" is what you actually need — to decide, to brief a hiring manager, or to plan an interview. Splitting the analysis into explicit strengths and gaps makes the reasoning inspectable, which matters for two reasons: you can sanity-check whether the AI weighted the right things, and you can defend the decision afterwards. The Shortcomings list is the more useful half in practice, since it tells you exactly what to probe if you decide to interview.
**How to use it:**
1. Run AI analysis on the candidate.
2. Open the Overview tab.
3. Read the "Key Highlights" list for the candidate's strengths.
4. Read the "Shortcomings" list for gaps and risks.
5. Verify anything decisive against the actual resume.

**Good to know:**
- Shortcomings are gaps relative to *this* job description, not absolute judgements about the person.
- These lists are the fastest raw material for a hiring-manager summary or an interview plan.
- Verify any shortcoming you plan to reject on — AI misses skills that were phrased unusually in a CV.
- A candidate with a mediocre score but highly relevant highlights is often worth a closer look than the ranking suggests.

**Related:** [AI CV Analysis](#feature-name-ai-cv-analysis) · [AI Powered Interview Questions](#feature-name-ai-powered-interview-questions) · [Resume Viewer](#feature-name-resume-viewer) · [AI Decision Helper](#feature-name-ai-decision-helper)

---

### Feature name: Criteria Match Analysis
**Short Description:** Per-criterion pass/fail verdicts on your job criteria.
**Purpose:** Turns subjective screening into consistent, comparable checks.
**Context:** This is the candidate-side view of the criteria you defined on the job, and it is where their value is realised. Instead of a blended score, you see discrete verdicts against explicit written standards — which is both faster to act on and far more defensible, since every candidate was assessed against the same published list. The confidence level attached to each verdict is the part most people overlook: a low-confidence pass usually means the evidence was ambiguous in the CV, and that is precisely the case to check by hand.
**How to use it:**
1. Define criteria first via "Criteria Assertion AI" on the job details page.
2. Open the applicant's Overview tab.
3. Scroll to "Criteria Match Analysis".
4. Read each criterion's verdict and confidence level.
5. If it shows no results, re-run criteria matching from the job details page.

**Good to know:**
- An empty panel means either no criteria are defined for the job, or matching has not been re-run since they were added.
- Low confidence is a flag to verify manually, not a soft fail — the CV was probably just ambiguous.
- Once populated, the "Meets all criterias" filter on the People page turns these verdicts into a one-click shortlist.
- Criteria assess evidence in the CV and profiles. A genuinely qualified candidate who did not mention something can still fail.

**Related:** [Criteria Assertion AI](#feature-name-criteria-assertion-ai) · [Applicant Filters](#feature-name-applicant-filters) · [Screening Question Answers](#feature-name-screening-question-answers) · [AI Usage Disclaimer](#feature-name-ai-usage-disclaimer)

---

### Feature name: AI Powered Interview Questions
**Short Description:** Suggested interview questions generated from the candidate's profile.
**Purpose:** Prepares targeted interviews probing real gaps and strengths.
**Context:** Most interviews are under-prepared, because preparation happens in the ten minutes before the call and defaults to generic questions everyone has rehearsed answers for. Those interviews produce no information. Questions generated from this specific candidate's gaps against this specific role do the opposite — they go straight to the things you are actually uncertain about. This also improves fairness: candidates for the same role get probed on comparable dimensions rather than on whatever the interviewer happened to think of that morning.
**How to use it:**
1. Run AI analysis on the candidate.
2. Open the applicant's Overview tab.
3. Scroll to the "AI Powered Questions" panel.
4. Read the suggested questions based on the profile and job requirements.
5. Copy the ones you want into your interview plan.

**Good to know:**
- Generated per candidate, so a shared question list will not match what these surface.
- Best used alongside the Shortcomings list — the questions usually probe exactly those gaps.
- Treat them as a starting set and add your own team-specific and role-specific questions.
- Review before using: a question can be well-formed and still be irrelevant or inappropriate for your context.

**Related:** [Key Highlights & Shortcomings](#feature-name-key-highlights--shortcomings) · [AI CV Analysis](#feature-name-ai-cv-analysis) · [Schedule Interview](#feature-name-schedule-interview) · [Request Expert Help](#feature-name-request-expert-help)

---

### Feature name: Suggested Position
**Short Description:** AI proposes a better-fitting open job for the candidate.
**Purpose:** Rescues good candidates who applied to the wrong role.
**Context:** Strong candidates routinely apply to the wrong opening — they pick the title they recognise, or the only role that was visible on the day. Rejecting them because the requisition does not match is a quiet, recurring waste, and one nobody notices because the alternative never surfaces. This checks the candidate against your other open roles and proposes a better fit, turning a rejection into a redirect. It works best when your open jobs have well-written descriptions, since those are what the comparison is made against.
**How to use it:**
1. Open the applicant's Overview tab.
2. Find the "Suggested Position" panel.
3. Click "Suggest a better-fitting position".
4. Review the suggested job and the confidence level shown.
5. Click "View position" to inspect it, or "Refer to this position" to move the candidate.
6. Note: one-click referral needs the candidate's future-opportunities consent, and this feature requires employer tier 2 or higher.

**Good to know:**
- Requires employer tier 2 or higher.
- One-click referral needs the candidate's future-opportunities consent; without it you must contact them first.
- Suggestions are only as good as your other job descriptions — a vague posting will not be matched to well.
- Worth running on strong candidates before rejecting them; it costs a click and occasionally saves a hire.
- Always tell the candidate before moving them to another role.

**Related:** [Refer Candidate to Another Position](#feature-name-refer-candidate-to-another-position) · [Candidate Consent for Future Opportunities](#feature-name-candidate-consent-for-future-opportunities) · [Employer Tiers](#feature-name-employer-tiers) · [Talent Pool](#feature-name-talent-pool)

---

### Feature name: Bulk Candidate Analysis
**Short Description:** Run AI analysis on every unanalysed candidate at once.
**Purpose:** Scores an entire backlog without clicking through each profile.
**Context:** Analysis one candidate at a time is fine for a trickle and hopeless for a batch — after a bulk CV import or a good week on a popular role, you may have two hundred unscored applications, and opening each profile to click a button is an afternoon of nothing. Running the batch in one action is the difference between a scored pipeline you can sort and an unsorted pile you avoid. Do it right after any bulk import, so that the first time you look at the list it is already ranked.
**How to use it:**
1. Open the People page.
2. Optionally filter to the job or group you want analysed.
3. Click "Analyze All Candidates".
4. Wait — progress is tracked and the page reports when the batch finishes.
5. Refresh the page if analysis is taking longer than expected.
6. Review the new Score column values.

**Good to know:**
- Each candidate costs 1 credit, so a 200-candidate batch consumes 200 credits. Filter first if you only need one role scored.
- Only unanalysed candidates are processed, so re-running does not double-charge for people already scored.
- Large batches take real time. Let it run rather than restarting it.
- The natural sequence is Bulk Upload CVs → Bulk Candidate Analysis → sort by Score.

**Related:** [AI CV Analysis](#feature-name-ai-cv-analysis) · [Bulk Upload CVs](#feature-name-bulk-upload-cvs) · [Employer Credits](#feature-name-employer-credits) · [Applicant List](#feature-name-applicant-list)

---

### Feature name: AI Decision Helper
**Short Description:** Side-by-side AI comparison of two to four candidates.
**Purpose:** Structures the final choice with a rubric and ranking.
**Context:** The final decision between three strong finalists is where hiring is most vulnerable to bias and to whoever argues most confidently in the room. Individual scores do not settle it, because they were produced independently and are not calibrated against each other. A direct comparison with an explicit rubric forces the trade-offs into the open: this candidate is stronger technically, that one has the domain experience, here is what would change the ranking. The "What could improve ranking" output is genuinely useful beyond the decision — it tells you what to verify in a final interview or reference check.
**How to use it:**
1. Click "Compare Candidates" on the People page, or open `/ai-decision-helper/`.
2. Choose the job in "Select position".
3. Tick 2–4 candidates from the loaded list.
4. Click "Compare".
5. Wait while "Analyzing candidates..." runs.
6. Read the TL;DR, Top pick, Weighted Score, Rubric Scorecard and Comparison Matrix.
7. Read "What could improve ranking" for each candidate.
8. Note: this costs 3 employer credits per comparison.

**Good to know:**
- Costs 3 employer credits per comparison, regardless of how many candidates you include.
- Limited to 2–4 candidates, which is deliberate — comparisons across larger sets are not decision-useful.
- Candidates should already be analysed; the comparison builds on their individual analyses.
- The rubric scorecard is the part worth taking into a hiring meeting; the "Top pick" is an input to that discussion, not a verdict.
- Results are saved and can be reopened later without paying again.

**Related:** [Past Comparisons](#feature-name-past-comparisons) · [AI CV Analysis](#feature-name-ai-cv-analysis) · [Employer Credits](#feature-name-employer-credits) · [Request Expert Help](#feature-name-request-expert-help)

---

### Feature name: Past Comparisons
**Short Description:** Reopen a previously generated AI comparison result.
**Purpose:** Revisits decisions without paying for a new comparison.
**Context:** Hiring decisions get revisited constantly — an approver asks for the reasoning a week later, a preferred candidate declines and the runner-up comes back into play, or someone joins the panel late and needs to catch up. Regenerating the comparison each time would cost credits and, more subtly, could produce slightly different output, undermining the record of what was actually decided. Cached results keep the original analysis stable and free to reopen, which makes it a genuine decision record rather than a disposable one.
**How to use it:**
1. Open the AI Decision Helper page.
2. Open the "Past comparisons" dropdown.
3. Select the comparison you want to reload.
4. The saved result renders, marked "Cached result".
5. Run a fresh comparison instead if the candidate set has changed.

**Good to know:**
- Reopening a cached comparison costs no credits.
- The "Cached result" marker means it reflects the candidates as they were at the time, not as they are now.
- If a candidate has since been analysed again or the shortlist changed, run a fresh comparison.
- This is the cheapest way to answer "why did we pick them?" weeks after the fact.

**Related:** [AI Decision Helper](#feature-name-ai-decision-helper) · [Employer Credits](#feature-name-employer-credits) · [Internal Comments](#feature-name-internal-comments)

---

### Feature name: AI Email Drafting
**Short Description:** AI writes candidate emails based on status and your context.
**Purpose:** Produces polished candidate communication in seconds.
**Context:** Candidate emails are where good intentions die. Rejections in particular get postponed because writing something considerate takes effort, and postponed rejections become never — which is the single most common complaint candidates have about recruiters. Generating a draft removes the blank-page cost so the message actually goes out today. The 150-character context box is the important control: the model will not invent facts beyond what you give it, so telling it "strong portfolio, too junior for this role, encourage reapplying" produces something specific and honest rather than generic filler.
**How to use it:**
1. Open the applicant's "Emails" tab, or the "Change State" modal.
2. Switch to the "AI Draft" mode.
3. Type optional context (up to 150 characters) — AI will not invent details beyond it.
4. Choose the length/tone setting (e.g. Medium / Balanced).
5. Click "Draft with AI".
6. Review the "AI Draft Preview".
7. Click "Apply to Email", edit if needed, then send.

**Good to know:**
- The context box is capped at 150 characters but is the highest-leverage input — a specific hint produces a specific email.
- Always read the draft before sending. It goes to a real person under your name and cannot be recalled.
- Available both from the Emails tab and inside the Change State modal, so the message can go out with the status change.
- For messages you send repeatedly, build a saved template instead — it is faster and more consistent.

**Related:** [Candidate Email — Custom Mode](#feature-name-candidate-email--custom-mode) · [Change Application Status](#feature-name-change-application-status) · [Custom Email Templates](#feature-name-custom-email-templates) · [AI Usage Disclaimer](#feature-name-ai-usage-disclaimer)

---

### Feature name: Job Description Quality Check
**Short Description:** Automatic check that a description is complete enough to publish.
**Purpose:** Prevents thin or broken postings going live.
**Context:** A published job is visible to candidates, syndicated to boards and sometimes indexed by search engines, so an accidentally empty or half-written description is a public embarrassment that is hard to fully retract. The check is a guard rail against the most common version of that mistake — clicking through the wizard faster than you were writing. It is worth being clear about its scope: it verifies that a description exists in sufficient quantity, not that it is any good. That judgement is still yours.
**How to use it:**
1. Write your description on the "Job Description" step.
2. Watch for the notice "This description is not ready to publish yet".
3. Keep adding content — at least 50 characters is required to continue.
4. When the notice clears and "Save" enables, click "Next".

**Good to know:**
- The 50-character threshold is a floor, not a standard. Real postings need far more to attract candidates and to score CVs meaningfully.
- The check measures completeness, not quality — it cannot tell you the description is boring or unclear.
- If the notice will not clear, the content is likely below the minimum or the editor lost your text; re-check the editor body.
- Because AI scoring compares CVs to this text, a minimal description directly weakens every later match score.

**Related:** [Create Job — Step 3: Description](#feature-name-create-job--step-3-description) · [AI Job Description Generator](#feature-name-ai-job-description-generator) · [AI CV Analysis](#feature-name-ai-cv-analysis)

---

### Feature name: Canvider Flow (Preview)
**Short Description:** Card-based feed of AI-suggested bulk recruiting actions.
**Purpose:** Previews autonomous recruiting suggestions you can approve.
**Context:** Today's ATS is reactive: it holds data and waits for you to notice what needs doing. Flow previews the opposite model, where the system watches your pipeline and proposes the actions — reject this stale group, chase these candidates, advance these strong matches — leaving you to approve or decline. The approval step is the design principle rather than a limitation: recruiting decisions affect real people's lives, so automation proposes and a human disposes. This is a proof-of-concept populated with sample suggestions, so treat it as a look at the direction rather than a working tool.
**How to use it:**
1. Click your avatar in the navigation bar and choose "Canvider Flow".
2. Read each suggestion card: the proposed action, how many candidates it affects, and the reason.
3. Click the chevron to expand "Detailed Analysis" and the affected candidate list.
4. Click "Take Action" to run it, "Ignore for now" to postpone, or "Reject" to dismiss.
5. Click "Switch Back to ATS Mode" to return to the Dashboard.
6. Note: this is a proof-of-concept preview populated with sample suggestions.

**Good to know:**
- This is a preview with sample data — do not plan real workflows around it yet.
- Always expand "Detailed Analysis" and check the affected candidate list before taking any action.
- "Switch Back to ATS Mode" returns you to the normal Dashboard at any time.
- Worth a look if you want to understand where the product is heading; skip it if you are here to get today's work done.

**Related:** [Bulk Status Update](#feature-name-bulk-status-update) · [Bulk Communication](#feature-name-bulk-communication) · [AI Decision Helper](#feature-name-ai-decision-helper)

---

## 9. Communication

### Feature name: Candidate Email — Template Mode
**Short Description:** Send a candidate a pre-written email from a saved template.
**Purpose:** Sends consistent, on-brand messages with no writing.
**Context:** Most candidate correspondence is one of about six recurring messages: acknowledgement, invitation to interview, request for availability, rejection at each of a couple of stages. Rewriting them by hand is slow and produces drift, so the same candidate journey feels different depending on who was on shift. Template mode makes the standard message the path of least resistance. The trade-off is deliberate: templates send as written, with no per-candidate edits, which is exactly what guarantees consistency and exactly why it is the wrong mode for anything sensitive.
**How to use it:**
1. Open the applicant's "Emails" tab under Activity.
2. Click "Compose" then choose the "Template" mode.
3. Pick a template in "Choose a template...".
4. Check the "Preview" pane — it updates as you change the template.
5. Note it is sent as-is without modifications.
6. Click "Send Email".

**Good to know:**
- Templates send exactly as written — if you need to change a word for this candidate, use Custom mode instead.
- Always check the Preview pane; it shows merge variables filled with this candidate's real details.
- A wrong template sent to the wrong person cannot be recalled, so read the name in the preview.
- Templates are built and maintained under Settings → Custom Emails.

**Related:** [Custom Email Templates](#feature-name-custom-email-templates) · [Candidate Email — Custom Mode](#feature-name-candidate-email--custom-mode) · [Bulk Communication](#feature-name-bulk-communication) · [Email History & Inbox](#feature-name-email-history--inbox)

---

### Feature name: Candidate Email — Custom Mode
**Short Description:** Write and send a one-off email to a candidate.
**Purpose:** Handles situations no template covers.
**Context:** The messages that matter most are the ones no template anticipates: negotiating an offer, explaining a delay, responding to a difficult question, or turning down someone who deserves a personal note. Custom mode is for those. The sender choice deserves attention — sending from your connected mailbox means the candidate sees a real person, can reply naturally, and is far less likely to be filtered as automated mail, which is a large part of why the email integrations exist at all.
**How to use it:**
1. Open the applicant's "Emails" tab.
2. Click "Compose" then choose the "Custom" mode.
3. Type the "Subject".
4. Type the "Message" body.
5. Watch the "Preview" pane showing exactly what will be sent.
6. Choose the sender: your connected mailbox, or Canvider mail (notifications@canvider.com).
7. Click "Send Email".

**Good to know:**
- Prefer your connected mailbox for anything personal — replies come back to you and deliverability is better.
- The Canvider address (notifications@canvider.com) works without any integration, but reads as system mail.
- Sending from a connected mailbox requires Google or Microsoft to be connected and tier 2 or higher.
- The message is recorded in the candidate's email history either way, so the thread stays complete.
- If you are writing the same custom message repeatedly, turn it into a template.

**Related:** [Candidate Email — Template Mode](#feature-name-candidate-email--template-mode) · [AI Email Drafting](#feature-name-ai-email-drafting) · [Google (Gmail) Integration](#feature-name-google-gmail-integration) · [Email History & Inbox](#feature-name-email-history--inbox)

---

### Feature name: Email History & Inbox
**Short Description:** Full thread of outgoing and incoming candidate emails.
**Purpose:** Keeps the whole conversation attached to the application.
**Context:** When correspondence lives in individual mailboxes, nobody else can see it — so a colleague picking up a candidate has no idea what was promised, and a candidate who has already replied twice can be chased as if they had gone silent. Keeping the thread on the application makes the conversation a team asset. It is also the practical answer to "did anyone ever reply to this person?", which is the question behind most candidate-experience failures.
**How to use it:**
1. Open the applicant's "Emails" tab.
2. Click "History" to see the message list.
3. Filter with the "Outgoing" / "Incoming" toggles.
4. Filter by sender channel using "Integrated" / "Canvider".
5. Click a message to expand it and read From, To and "Sent via" details.
6. Opening an unread incoming message marks it as read.

**Good to know:**
- Check here before chasing a candidate — a colleague may already have replied.
- "Sent via" tells you whether a message went out from a connected mailbox or from Canvider's own address.
- Incoming mail capture depends on having an email integration connected.
- Opening an unread message marks it read for everyone, so it stops appearing as needing attention.

**Related:** [Candidate Email — Custom Mode](#feature-name-candidate-email--custom-mode) · [Google (Gmail) Integration](#feature-name-google-gmail-integration) · [Microsoft (Outlook) Integration](#feature-name-microsoft-outlook-integration) · [Candidate Facts Panel](#feature-name-candidate-facts-panel)

---

### Feature name: Bulk Communication
**Short Description:** Email every applicant in a chosen status for one job.
**Purpose:** Notifies whole candidate groups in a single action.
**Context:** After a role is filled there are usually dozens of people owed an answer, and the reason they so often do not get one is purely mechanical: sending forty individual emails is an hour of work with no visible reward. Bulk communication reduces that to a minute, which is the difference between a company with a reputation for closing the loop and one without. It is also the right tool for genuine group updates — a delayed decision, a change in the process — where silence generates far more anxiety than the news itself.
**How to use it:**
1. Open the job's details page.
2. Click "Bulk Communication".
3. Choose the group in "Select Application Status".
4. Pick an "Email Template" or select "Custom Message".
5. Enter the "Email Subject" and the message body.
6. Review the "Email Preview" with its placeholder fields.
7. Tick "Send notification emails to candidates".
8. Click "Send Emails".

**Good to know:**
- Scoped to one job and one status, which is the main protection against emailing the wrong people.
- Check the Email Preview carefully — a mistake here goes to every candidate in the group at once and cannot be recalled.
- Nothing sends until "Send notification emails to candidates" is ticked.
- Write for the group, not for an individual: merge fields personalise the name, not the circumstances.
- For a batch that also needs a pipeline update, Bulk Status Update can change status and notify in one step.

**Related:** [Bulk Status Update](#feature-name-bulk-status-update) · [Custom Email Templates](#feature-name-custom-email-templates) · [Job Details Page](#feature-name-job-details-page) · [Automated Notification Emails](#feature-name-automated-notification-emails)

---

### Feature name: Custom Email Templates
**Short Description:** Build reusable candidate email templates with merge variables.
**Purpose:** Saves time on repetitive candidate correspondence.
**Context:** Templates are where your candidate experience is actually designed. Every applicant to your company receives some combination of these messages, so the tone you set here is your employer brand at scale — far more so than the careers page, because more people read a rejection than a job advert. The merge variables are what keep a mass-produced message from reading like one: a candidate who sees their own name and the role they applied for perceives a personal message even when the body is standard.
**How to use it:**
1. Go to Settings and click the "Custom Emails" card.
2. Click "New Template".
3. Enter a template name (e.g. `apologetic_rejection`).
4. Enter the email subject line.
5. Write the body using the Bold, Italic, Underline and Insert Link toolbar buttons.
6. Click a variable button to insert `{candidate_firstname}`, `{candidate_lastname}`, `{applied_position}` or `{company_name}`.
7. Click "Save".
8. Use "Load Selected" to edit later, or "Delete Selected" to remove a template.

**Good to know:**
- Available variables are `{candidate_firstname}`, `{candidate_lastname}`, `{applied_position}` and `{company_name}` — insert them with the buttons rather than typing them, so the spelling is exact.
- Always send yourself a test through a real candidate flow before rolling a template out; a broken variable is visible to every recipient.
- Name templates descriptively (`apologetic_rejection`, `interview_invite_round2`) — you will be picking from a dropdown under time pressure.
- Templates are company-wide, so edits and deletions affect your teammates' sends too.
- Cover the recurring messages first: acknowledgement, interview invitation, and rejection at each stage.

**Related:** [Candidate Email — Template Mode](#feature-name-candidate-email--template-mode) · [Bulk Communication](#feature-name-bulk-communication) · [Automated Notification Emails](#feature-name-automated-notification-emails) · [Job Templates](#feature-name-job-templates)

---

### Feature name: Automated Notification Emails
**Short Description:** System emails for applications, status changes, invitations and mentions.
**Purpose:** Keeps candidates and teammates informed without manual work.
**Context:** Some messages must be immediate to be worth sending at all. An application confirmation that arrives two days later tells the candidate their application went into a void; arriving instantly, it does the opposite. The same applies internally — a mention notification that waits for someone to check the app is not a notification. These messages are automatic precisely because their value is in the timing, and because no one can reliably send them by hand at the moment they matter.
**How to use it:**
1. No setup required — these send automatically.
2. Candidates receive an application confirmation when they apply.
3. Candidates receive a status-change email when you enable notification on a status change.
4. Teammates receive an invitation email when you invite them.
5. Teammates receive a mention email when you @mention them in a comment.
6. Users receive account deactivation and reactivation notices.

**Good to know:**
- Status-change emails are the one exception: they only go out if you tick the notification toggle when changing status.
- Application confirmations are automatic and immediate, which is why manually added candidates do not receive one.
- Mention emails are how teammates find out they were tagged, so an @mention is more reliable than a comment alone.
- If a candidate says they heard nothing, check their email history and whether the notification toggle was on.

**Related:** [Change Application Status](#feature-name-change-application-status) · [Team Mentions](#feature-name-team-mentions) · [Invite Team Member](#feature-name-invite-team-member) · [Email History & Inbox](#feature-name-email-history--inbox)

---

### Feature name: Team Mentions
**Short Description:** Tag a teammate in an internal comment to notify them.
**Purpose:** Pulls the right colleague into a candidate discussion.
**Context:** The alternative to mentions is switching to Slack or email to say "can you look at this candidate?" — at which point the discussion leaves the ATS and the reasoning behind the decision is lost with it. Mentioning keeps the request and the answer attached to the candidate while still reliably reaching the person, because it sends a real email rather than depending on them noticing a comment. It is the mechanism that makes internal comments a working conversation instead of a place notes go to die.
**How to use it:**
1. Open the applicant's "Internal Comments" tab.
2. Start typing your comment.
3. Type "@" — an autocomplete list of active teammates appears.
4. Select the teammate you want to notify.
5. Finish your comment and click "Post Comment".
6. The mentioned teammate receives an email notification.

**Good to know:**
- Only active teammates appear in autocomplete — deactivated users are excluded, so nobody tags someone who cannot reply.
- Ask a specific question in the comment. "@Sarah thoughts?" gets a slower answer than "@Sarah does this portfolio meet the bar for senior?".
- The notification email is sent on posting and cannot be unsent, even if you delete the comment.
- Mentions are internal only; the candidate never sees comments or mentions.

**Related:** [Internal Comments](#feature-name-internal-comments) · [Automated Notification Emails](#feature-name-automated-notification-emails) · [Deactivate / Reactivate Team Member](#feature-name-deactivate--reactivate-team-member) · [Role-Based Permissions](#feature-name-role-based-permissions)

---

## 10. Scheduling & Calendar

### Feature name: Schedule Interview
**Short Description:** Book an interview with a candidate from their profile.
**Purpose:** Creates the event, invites everyone, and sends calendar files.
**Context:** Booking an interview is deceptively multi-step: find a slot, create the event, invite interviewers, email the candidate, generate a video link, and record it against the application so the pipeline reflects reality. Done by hand across a calendar app and an inbox, each of those is a chance to drop something — and a candidate who never received the invitation is a candidate who does not attend. Starting from the applicant page collapses the whole sequence into one form, and the resulting event stays linked to the application so the interview is part of the candidate's record rather than a private diary entry.
**How to use it:**
1. Open the applicant's detail page.
2. Click "Schedule Interview".
3. Enter the "Event Title" and choose an "Event Type".
4. Select the "Recruiters" who should attend.
5. Confirm the "Position" and "Candidate" fields.
6. Set the Date, "Start Time" and "End Time".
7. Add a "Meeting Link" or generate one.
8. Tick "Inform invitees by E-mail", choose a "Color", and click "Save Event".

**Good to know:**
- Nothing is emailed unless "Inform invitees by E-mail" is ticked — the most common cause of a candidate who never heard about their interview.
- Invitation emails carry an `.ics` attachment so recipients can add the meeting to any calendar.
- Add the video link before saving; adding it afterwards means a second message to everyone.
- With Google or Microsoft connected, the event lands in your real calendar automatically.
- Move the candidate's status too — scheduling an interview does not change it on its own.

**Related:** [Meeting Link Generation](#feature-name-meeting-link-generation) · [ICS Calendar Attachments](#feature-name-ics-calendar-attachments) · [Calendar Sync](#feature-name-calendar-sync) · [Change Application Status](#feature-name-change-application-status) · [AI Powered Interview Questions](#feature-name-ai-powered-interview-questions)

---

### Feature name: Meeting Link Generation
**Short Description:** One-click Mirotalk, Microsoft Teams or Google Meet meeting links.
**Purpose:** Removes manual link creation when booking interviews.
**Context:** The usual video-link dance — switch to Teams or Meet, create a meeting, copy the URL, come back, paste it — takes a minute per interview and is the step most often forgotten, producing the familiar scramble five minutes before a call. Generating the link inside the booking form eliminates both. Mirotalk is the option worth knowing about: it is Canvider-hosted and needs no integration and no account on the candidate's side, which makes it the reliable fallback when a candidate cannot join your corporate platform.
**How to use it:**
1. In the Schedule Interview modal, scroll to "Meeting Link".
2. Click "Generate Mirotalk Link" for a Canvider-hosted video room.
3. Or click "Generate Microsoft Teams link" if Microsoft is connected.
4. Or click "Generate Google Meet link" if Google is connected.
5. The link is created and sent automatically from your connected account.
6. Save the event to distribute it.

**Good to know:**
- Mirotalk requires no integration and no candidate account, which makes it the safe default for external interviews.
- Teams and Meet links require the matching integration to be connected, and only one of Google or Microsoft can be connected at a time.
- Generate the link before saving so it is included in the invitation email.
- You can always paste a link from another platform into the field manually instead.

**Related:** [Schedule Interview](#feature-name-schedule-interview) · [Microsoft (Outlook) Integration](#feature-name-microsoft-outlook-integration) · [Google (Gmail) Integration](#feature-name-google-gmail-integration) · [Create Calendar Event](#feature-name-create-calendar-event)

---

### Feature name: ICS Calendar Attachments
**Short Description:** Meeting invitations include a standard calendar file attachment.
**Purpose:** Lets candidates add interviews to any calendar app.
**Context:** Candidates use whatever calendar they use — Gmail, Outlook, Apple, something on a phone — and you have no control over which. A plain-text email saying "Thursday at 3pm" relies on them manually creating an entry, and the ones who forget become no-shows that look like disinterest. The `.ics` file is the universal standard every calendar application understands, so a single click adds the interview with the right time, in the right timezone, including the meeting link. It is a small technical detail that measurably reduces missed interviews.
**How to use it:**
1. Create or update an interview appointment.
2. Tick "Inform invitees by E-mail".
3. Save the event.
4. Canvider attaches an `.ics` file to the invitation email.
5. Recipients click "Add to Calendar" in Gmail, Outlook or Apple Mail.

**Good to know:**
- The attachment only exists if "Inform invitees by E-mail" was ticked when saving.
- `.ics` carries the timezone, which is what prevents the classic cross-border scheduling error.
- Rescheduling sends an updated file, so edit the existing event rather than creating a new one.
- Some corporate mail systems strip attachments — mention the time in the message body as a safety net.

**Related:** [Schedule Interview](#feature-name-schedule-interview) · [Create Calendar Event](#feature-name-create-calendar-event) · [Edit or Delete Calendar Event](#feature-name-edit-or-delete-calendar-event) · [Calendar Sync](#feature-name-calendar-sync)

---

### Feature name: Calendar Sync
**Short Description:** Two-way sync with your connected Google or Microsoft calendar.
**Purpose:** Keeps Canvider interviews and your work calendar aligned.
**Context:** Nobody lives in their ATS calendar; they live in the calendar their whole company uses. An interview booked in Canvider that does not appear there is an interview that will be double-booked, and maintaining two calendars manually is a guarantee of drift. Sync removes the duplication by making the two views of the same commitment. It also means colleagues who are not Canvider users — an engineer joining a technical panel — see the interview in the tool they actually check.
**How to use it:**
1. Connect Google or Microsoft in Settings first.
2. Open the Dashboard calendar.
3. Watch for the "Syncing..." indicator in the calendar header.
4. Events created in Canvider appear in your external calendar.
5. Create, update or delete events in Canvider and the change propagates.

**Good to know:**
- Requires Google or Microsoft to be connected, which needs employer tier 2 or higher.
- Only one of Google or Microsoft can be connected at a time — disconnect one before connecting the other.
- Make Canvider the place you edit recruitment events; edits made only in the external calendar are the usual source of mismatches.
- If events stop appearing, check the connection status panel — an expired session is the most common cause.

**Related:** [Google (Gmail) Integration](#feature-name-google-gmail-integration) · [Microsoft (Outlook) Integration](#feature-name-microsoft-outlook-integration) · [Integration Connection Status](#feature-name-integration-connection-status) · [Calendar](#feature-name-calendar)

---

## 11. Analytics & Reporting

### Feature name: Recruitment Analytics Dashboard
**Short Description:** Leadership-grade hiring metrics across your whole company.
**Purpose:** Reports hiring performance to management with real numbers.
**Context:** Recruiting is chronically under-measured, which is why it is so often argued about with anecdotes — "hiring is slow", "the candidates are bad" — that nobody can confirm or refute. This dashboard converts your day-to-day pipeline activity into the metrics leadership actually asks for: how long a hire takes, how many offers are accepted, how many roles are open. It is also the strongest argument for keeping statuses current, since every number here is derived from status history. Garbage pipeline discipline produces garbage board slides.
**How to use it:**
1. Click "Analytics" in the top navigation bar.
2. Select a period: 90 days, 6 months, 12 months or All time.
3. Read the top KPI cards: Avg. Time to Hire, Avg. Time to Offer, Offer Acceptance Rate, Hires in Period, Open Positions, Total Applications.
4. Scroll through the charts described below.
5. Requires the Administrator, Recruiter, Hiring Manager or Read Only role.

**Good to know:**
- Requires the Administrator, Recruiter, Hiring Manager or Read Only role — Interviewers do not have access.
- Every figure derives from application status history, so accuracy depends entirely on keeping statuses up to date.
- Short periods on a low-hire month produce volatile averages; use 6 or 12 months for anything you plan to present.
- Offer Acceptance Rate is the single most diagnostic number here — a falling rate usually points at compensation or process speed.

**Related:** [Pipeline Conversion Funnel](#feature-name-pipeline-conversion-funnel) · [Export Analytics to Excel](#feature-name-export-analytics-to-excel) · [Role-Based Permissions](#feature-name-role-based-permissions) · [Change Application Status](#feature-name-change-application-status)

---

### Feature name: Pipeline Conversion Funnel
**Short Description:** Shows how candidates move from interview loop to offer.
**Purpose:** Reveals which stage loses the most candidates.
**Context:** Every hiring process leaks, and the useful question is where. A funnel answers it in a way that raw counts cannot, because it shows both the share of the original applicant pool and the drop from the immediately preceding stage — which distinguishes a genuinely selective step from a bottleneck. Each pattern implies a different fix: heavy loss at first review usually means your posting is attracting the wrong people, while loss late in the process points at interview experience, speed or compensation.
**How to use it:**
1. Open the Analytics page.
2. Scroll to "Pipeline Conversion Funnel".
3. Read each stage's share "of applied" and "from previous stage".
4. Identify the stage with the biggest drop-off.
5. Change the period selector to compare across time ranges.

**Good to know:**
- "From previous stage" is the more actionable of the two percentages — it isolates where the loss actually happens.
- Early-stage loss is usually a sourcing or job-description problem; late-stage loss is a process or offer problem.
- Custom statuses are placed in the funnel according to the Category you assigned them, so a miscategorised stage distorts the picture.
- Compare the same period year over year rather than against a different-length window.

**Related:** [Recruitment Analytics Dashboard](#feature-name-recruitment-analytics-dashboard) · [Stage Duration & Pipeline Snapshot](#feature-name-stage-duration--pipeline-snapshot) · [Custom Application Statuses](#feature-name-custom-application-statuses) · [Offer Rejection Analysis](#feature-name-offer-rejection-analysis)

---

### Feature name: Source of Hire & Source Effectiveness
**Short Description:** Which channels produce applications versus actual hires.
**Purpose:** Directs sourcing budget to the channels that convert.
**Context:** Recruitment spend is usually allocated by habit and by whoever sells hardest, not by evidence. This report separates the two numbers that matter and are constantly confused: volume and conversion. A board that sends five hundred applications and no hires is costing you screening time, while one that sends twelve applications and two hires is the best investment you have. Seeing them side by side is what turns "we always post there" into a defensible budget decision — and it only works if you actually publish to multiple channels.
**How to use it:**
1. Open the Analytics page.
2. Scroll to "Source of Hire" to see where hires came from.
3. Scroll to "Source Effectiveness" for the Source / Applications / Hires / Conversion table.
4. Compare high-volume channels against high-conversion ones.
5. Reallocate spend toward the best converters.

**Good to know:**
- Volume and conversion are different questions. Optimise for conversion unless you are short of applicants entirely.
- Attribution depends on candidates arriving through the correct application URL, so use the per-portal URLs from "Post on Any Portal".
- Manually added candidates and referrals only appear correctly if they were entered in Canvider rather than tracked by email.
- Give a new channel a full hiring cycle before judging it — a channel with two applications has no meaningful conversion rate.

**Related:** [Post on Any Portal](#feature-name-post-on-any-portal) · [Job Portals Configuration](#feature-name-job-portals-configuration) · [Add Candidate Manually](#feature-name-add-candidate-manually) · [Per-Job Analytics](#feature-name-per-job-analytics)

---

### Feature name: Offer Rejection Analysis
**Short Description:** Categorised reasons candidates declined your offers.
**Purpose:** Shows whether compensation or process is losing candidates.
**Context:** A declined offer is the most expensive failure in hiring — weeks of work by recruiters, interviewers and hiring managers, with nothing to show for it. Individually each decline feels like bad luck; in aggregate a pattern emerges, and the pattern is almost always fixable. If most declines cite compensation, your bands are out of date. If they cite a competing offer that arrived first, your process is too slow. This report only works if you record the reason at the time, which takes ten seconds and is the step most teams skip.
**How to use it:**
1. Open the Analytics page.
2. Scroll to "Reasons for Offer Rejection" for the categorised breakdown.
3. Scroll to "Recent Rejection Notes" for the raw recruiter notes.
4. Record a note when a candidate declines so this stays accurate.

**Good to know:**
- The report is only as good as your notes — record the reason when the candidate tells you, not from memory later.
- Read the raw notes as well as the categories; the specifics are usually where the actionable detail is.
- Repeated compensation declines are evidence for a salary-band review, and this is the report to bring to that conversation.
- "Accepted another offer" without more detail is worth probing at the time — it usually masks speed or compensation.

**Related:** [Change Application Status](#feature-name-change-application-status) · [Recruitment Analytics Dashboard](#feature-name-recruitment-analytics-dashboard) · [Pipeline Conversion Funnel](#feature-name-pipeline-conversion-funnel) · [Edit Salary, Skills & Locations](#feature-name-edit-salary-skills--locations)

---

### Feature name: Org Growth & Hiring Trends
**Short Description:** Monthly hires, cumulative headcount, and hires by department.
**Purpose:** Shows leadership where and how fast the org is growing.
**Context:** These are the charts that belong in a board pack rather than a recruiter's daily work. They answer planning questions instead of operational ones: are we hiring at the rate the plan assumed, which functions are absorbing the growth, and is application volume trending with or against our needs. The department breakdown is usually the most revealing, because it makes visible when growth has quietly concentrated in one function — a pattern that is obvious in a chart and invisible in a list of individual hires.
**How to use it:**
1. Open the Analytics page.
2. Review "Org Growth — Hires" for monthly and cumulative hires over 12 months.
3. Review "Application Volume" for monthly application counts.
4. Review "Hires by Department" to see which teams are growing.

**Good to know:**
- "Hires by Department" only works if jobs were assigned a department at creation — set them up in Settings first.
- These charts count hires made through Canvider, not total company headcount.
- Read hires and application volume together: rising hires on falling applications means your pipeline is tightening.
- The 12-month view is designed for planning conversations rather than weekly management.

**Related:** [Departments](#feature-name-departments) · [Recruitment Analytics Dashboard](#feature-name-recruitment-analytics-dashboard) · [Export Analytics to Excel](#feature-name-export-analytics-to-excel) · [Create Job — Step 1: Basics](#feature-name-create-job--step-1-basics)

---

### Feature name: Stage Duration & Pipeline Snapshot
**Short Description:** Average days per stage and where candidates sit now.
**Purpose:** Finds bottlenecks and supports pipeline planning.
**Context:** These two panels answer the past and the present. Average days per stage is diagnostic — it tells you which step in your process consistently consumes time, which in most companies turns out to be waiting for hiring-manager feedback rather than anything candidates do. The snapshot is operational: it shows where people are sitting right now, and a pile-up in one stage is a queue that needs clearing today. Speed is not a vanity metric here; candidates in demand accept the first good offer, so time in stage converts directly into lost hires.
**How to use it:**
1. Open the Analytics page.
2. Scroll to "Avg. Days per Stage" to see where candidates wait longest.
3. Scroll to "Current Pipeline Snapshot" for live candidate counts per stage.
4. Act on any stage with an unusually long wait.

**Good to know:**
- Long averages in a review stage almost always mean people are waiting on a human, not on information.
- The snapshot is live; the averages are historical. Use the first for today's work and the second to fix the process.
- Both are computed from status changes, so a pipeline that is updated late will understate your real delays.
- Cross-check any suspicious stage against individual candidates' Journey timelines.

**Related:** [Journey (Application Stages)](#feature-name-journey-application-stages) · [Pipeline Conversion Funnel](#feature-name-pipeline-conversion-funnel) · [Monthly Applicant Overview](#feature-name-monthly-applicant-overview) · [Bulk Status Update](#feature-name-bulk-status-update)

---

### Feature name: Export Analytics to Excel
**Short Description:** Download the full analytics dataset as an Excel workbook.
**Purpose:** Enables offline reporting and board-deck preparation.
**Context:** Dashboards are for looking; spreadsheets are for arguing. The moment recruitment numbers enter a board pack or a budget conversation they need to be combined with data Canvider does not hold — finance's cost figures, headcount plan, agency invoices — and that work happens in Excel. Export also serves the archival need: a dashboard always shows current data, so if you want a defensible record of what the numbers were when a decision was made, you need a file with a date on it.
**How to use it:**
1. Open the Analytics page.
2. Select the period you want to export.
3. Click "Export to Excel" in the header.
4. Save the downloaded `.xlsx` file.
5. Open it in Excel or Google Sheets.

**Good to know:**
- The export honours the period selector, so set it before exporting.
- Export a fixed snapshot before any meeting where the numbers will be quoted — live dashboards move.
- The workbook contains candidate and hiring data; store and share it with the same care as any HR file.
- Useful for combining recruitment metrics with cost data that Canvider does not track.

**Related:** [Recruitment Analytics Dashboard](#feature-name-recruitment-analytics-dashboard) · [Org Growth & Hiring Trends](#feature-name-org-growth--hiring-trends) · [Source of Hire & Source Effectiveness](#feature-name-source-of-hire--source-effectiveness)

---

### Feature name: Per-Job Analytics
**Short Description:** Charts of applicants over time, portal and status for one job.
**Purpose:** Measures whether a single posting is performing.
**Context:** Company-level analytics tell you how hiring is going overall; they cannot tell you that this particular role is in trouble. Per-job charts answer that while there is still time to act. The applicants-over-time curve is the one to read first — job postings naturally spike on publication and decay over the following weeks, so a flat line from the start means a distribution or description problem, while a decayed curve on an unfilled role means it is time to repost or source rather than keep waiting.
**How to use it:**
1. Open the job's details page from the Jobs list.
2. Review "Applicants Over Time" for the application trend.
3. Review "Number of Applicants by Job Portal" to see which board works.
4. Review "Distribution of Applicants by Status" for pipeline health.
5. Review "Top Applicants" for the strongest candidates so far.

**Good to know:**
- A flat "Applicants Over Time" from day one points at distribution or the job description, not at the market.
- Application volume decays naturally after publication — plan sourcing for week two or three rather than waiting.
- "By Job Portal" is the per-job version of source effectiveness and is the fastest way to see which board earns its place for this kind of role.
- "Top Applicants" ranks by AI score, so run analysis before treating it as a shortlist.

**Related:** [Job Details Page](#feature-name-job-details-page) · [Source of Hire & Source Effectiveness](#feature-name-source-of-hire--source-effectiveness) · [Candidate Sourcing](#feature-name-candidate-sourcing) · [AI CV Analysis](#feature-name-ai-cv-analysis)

---

## 12. Settings & Configuration

### Feature name: Settings Hub
**Short Description:** Searchable, category-filtered index of all configuration pages.
**Purpose:** Finds the right setting without hunting through menus.
**Context:** Configuration surfaces grow faster than navigation does, and buried settings menus are where features go to be forgotten — teams frequently discover months in that something they wanted existed all along. A searchable index with category filters treats settings as something you find rather than something you memorise. The padlocks are doing real work too: rather than silently hiding tier-gated features, the hub shows them with the requirement stated, so you know what exists and what it would take to unlock.
**How to use it:**
1. Click your avatar in the navigation bar and choose "Settings".
2. Type in "Search settings..." to filter the cards.
3. Or click a category pill: All, Workflow, Team & Access, Branding, Integrations.
4. Click any settings card to open that configuration page.
5. Locked cards show a padlock and the tier or prerequisite required.

**Good to know:**
- A padlock means a tier or prerequisite is missing, not that the feature is broken — the card states which.
- Worth browsing once end to end when you start using Canvider; most teams find several things they did not know existed.
- Search matches card names, so try a broad word ("email", "location") rather than an exact page title.
- Category pills are the fastest route when you know the area but not the page name.

**Related:** [Employer Tiers](#feature-name-employer-tiers) · [Application States Configuration](#feature-name-application-states-configuration) · [Job Portals Configuration](#feature-name-job-portals-configuration) · [Careers Page Setup Hub](#feature-name-careers-page-setup-hub)

---

### Feature name: Work Schedules
**Short Description:** Define standard work schedule types like Full-time or Part-time.
**Purpose:** Standardises the options offered during job creation.
**Context:** Free-text employment types are how a job board ends up with "Full-time", "Full Time", "FT" and "Fulltime" as four separate values, which quietly breaks candidate filtering on every board that syndicates your jobs. Defining the list once means everyone posting a job picks from the same set. It is a small setup task with a long tail of benefit: consistent postings, working filters, and reporting that groups correctly rather than splitting one concept across four spellings.
**How to use it:**
1. Go to Settings → Preferences.
2. Click the "Work Schedules" tab.
3. Click "Add Work Schedule".
4. Enter the schedule name.
5. Save it — it now appears in the Create Job dropdown.
6. Click "Delete" next to any schedule you no longer need.

**Good to know:**
- Set this up before creating your first jobs; retrofitting consistency later means editing every posting.
- Use the conventional terms candidates and job boards recognise (Full-time, Part-time, Contract, Internship).
- Deleting a schedule removes it from the dropdown for future jobs; existing jobs keep what they were given.
- Keep the list short — every extra option is a chance for two people to choose differently.

**Related:** [Office Schedules](#feature-name-office-schedules) · [Create Job — Step 1: Basics](#feature-name-create-job--step-1-basics) · [Job Portals Configuration](#feature-name-job-portals-configuration)

---

### Feature name: Office Schedules
**Short Description:** Define where and how employees work (on-site, hybrid, remote).
**Purpose:** Communicates working arrangements consistently on postings.
**Context:** Working arrangement has become one of the first filters candidates apply, often before salary, and ambiguity here costs you applications from people who assume the worst. Standardising the vocabulary — and being precise about what "hybrid" means at your company — prevents both lost applicants and the far more expensive version of the problem: a candidate who reaches offer stage believing something different from what you intended.
**How to use it:**
1. Go to Settings → Preferences.
2. Click the "Office Schedules" tab.
3. Click "Add Office Schedule".
4. Enter the schedule name.
5. Save it — it becomes selectable during job creation.
6. Delete unused entries with the delete control.

**Good to know:**
- Be specific where it matters: "Hybrid (3 days on-site)" prevents a conversation that otherwise happens at offer stage.
- This is one of the strongest filters candidates use, so vague values cost you applications.
- Job boards including LinkedIn map to these values, so mirror the arrangement accurately when posting manually.
- Existing jobs keep their assigned schedule if you delete an option later.

**Related:** [Work Schedules](#feature-name-work-schedules) · [Create Job — Step 1: Basics](#feature-name-create-job--step-1-basics) · [Multi-Location Job Postings](#feature-name-multi-location-job-postings)

---

### Feature name: Office Locations
**Short Description:** Maintain your company's list of reusable office locations.
**Purpose:** Speeds job creation and keeps location names consistent.
**Context:** Location is the field most vulnerable to inconsistency, because there are so many defensible ways to write the same place — "Warsaw", "Warszawa", "Warsaw, Poland", "Warsaw (HQ)". Each variant is treated as a distinct location by filters and reports, so a company with four spellings has fragmented its own analytics without noticing. A curated list fixes it at source, and has the side benefit of making job creation faster, since a saved location is two clicks rather than a typed string.
**How to use it:**
1. Go to Settings → Preferences.
2. Click the "Locations" tab.
3. Add a new location with its name.
4. Save it.
5. Select it from the "Job Locations" picker when creating a job.
6. Delete locations you no longer use.

**Good to know:**
- Agree one format and stick to it ("City, Country" is the safest for job boards and candidate search).
- Saved locations are what make the Location filter on the Jobs page useful.
- Custom one-off locations can still be typed during job creation without adding them here.
- Deleting a location does not change jobs that already use it.

**Related:** [Create Job — Step 1: Basics](#feature-name-create-job--step-1-basics) · [Multi-Location Job Postings](#feature-name-multi-location-job-postings) · [Job Filters](#feature-name-job-filters) · [Workloupe Company Profile](#feature-name-workloupe-company-profile)

---

### Feature name: Departments
**Short Description:** Define the departments jobs can be assigned to.
**Purpose:** Enables department filtering and hiring-by-department reporting.
**Context:** Departments look like a filing convenience and are actually a reporting prerequisite. "Which teams did we grow this year?" is a question leadership asks eventually, and it can only be answered if jobs carried a department from the beginning — there is no way to reconstruct it later except by editing every historical requisition by hand. Setting departments up before your first jobs is five minutes that pays for itself the first time someone asks for a breakdown.
**How to use it:**
1. Go to Settings → Preferences.
2. Click the "Departments" tab.
3. Add a department name.
4. Save it.
5. Select it in the "Department" dropdown during job creation.
6. Filter the Jobs list and Analytics by department afterwards.

**Good to know:**
- Set these up before creating jobs — department data cannot be reconstructed retroactively without editing each job.
- Mirror your actual org structure, so recruitment reporting lines up with finance and headcount planning.
- Departments drive both the Jobs page filter and the "Hires by Department" analytics chart.
- Keep the granularity moderate; fifty micro-departments make reporting harder, not better.

**Related:** [Org Growth & Hiring Trends](#feature-name-org-growth--hiring-trends) · [Job Filters](#feature-name-job-filters) · [Create Job — Step 1: Basics](#feature-name-create-job--step-1-basics)

---

### Feature name: Application States Configuration
**Short Description:** Define and categorise your company's pipeline stages.
**Purpose:** Makes the ATS mirror your real hiring workflow.
**Context:** This is the settings-side counterpart to creating a status inline from a candidate, and it is where the important field lives: Category. A status name is for humans, but the category is what Canvider uses to place the stage in the funnel, in stage-duration reporting and in the monthly overview. A stage created inline and never categorised will still work day to day while quietly distorting every report it appears in — which is why it is worth doing the configuration here deliberately rather than accumulating statuses ad hoc.
**How to use it:**
1. Go to Settings → Preferences.
2. Click the "Application States" tab.
3. Click "Add State".
4. Enter the "Display Name".
5. Pick a "Category": Early State, Review State, Late State, Negative Result, or Stateless / Other.
6. Click "Save".
7. Click "Delete" on any custom state you no longer need — defaults apply if none are defined.

**Good to know:**
- Category is the field that matters for analytics; the display name is only what people read.
- Statuses created inline from the Change State modal should be reviewed here so their category is right.
- If you define no custom states, Canvider's defaults apply automatically.
- Deleting a state affects the dropdown going forward; check where candidates currently sitting in it should go first.

**Related:** [Custom Application Statuses](#feature-name-custom-application-statuses) · [Pipeline Conversion Funnel](#feature-name-pipeline-conversion-funnel) · [Change Application Status](#feature-name-change-application-status) · [Stage Duration & Pipeline Snapshot](#feature-name-stage-duration--pipeline-snapshot)

---

### Feature name: Job Portals Configuration
**Short Description:** Store API credentials and posting preferences for job boards.
**Purpose:** Enables direct publishing to your configured external portals.
**Context:** This is the page that turns the greyed-out portals on the publish step into live options. Configuring credentials once means every future job can be distributed in a click rather than through manual copy-paste, which is where most of the time cost of multi-board posting sits. The global defaults section is the underused part: setting publication, application-handling and notification behaviour once means each new job inherits sensible settings instead of relying on whoever publishes it to remember.
**How to use it:**
1. Open the Job Portals page (`/settings/portals/`).
2. Review the "Portal Status Overview" cards for LinkedIn, Indeed, Glassdoor, ZipRecruiter, Monster, Canvider and Praca.pl.
3. Click a portal to open its configuration section.
4. Enter the API credentials under "API Configuration".
5. Fill in "Company Information" and "Posting Preferences".
6. Set defaults under "Global Portal Settings" for publication, application handling and notifications.
7. Save the configuration.

**Good to know:**
- API credentials come from the job board itself and usually require an employer account with them.
- Canvider is the free base portal and needs no configuration.
- A portal greyed out on the Publish step is one that has not been configured here.
- Store credentials carefully — they authorise posting under your company's name.
- Boards you cannot integrate with are still fully usable through "Post on Any Portal".

**Related:** [Create Job — Step 4: Publish](#feature-name-create-job--step-4-publish) · [Post on Any Portal](#feature-name-post-on-any-portal) · [LinkedIn Integration](#feature-name-linkedin-integration) · [Source of Hire & Source Effectiveness](#feature-name-source-of-hire--source-effectiveness)

---

## 13. Careers Page & Job Distribution

### Feature name: Careers Page Setup Hub
**Short Description:** Chooses among five ways to publish jobs externally.
**Purpose:** Matches Canvider to whatever website setup you already have.
**Context:** Companies arrive with wildly different web situations: a marketing team that guards the corporate site, a WordPress install someone's cousin built, a modern site with a developer available, or no site at all. A single "here is your careers page" answer would fail most of them. This hub presents five routes ranging from zero-technical (a hosted Workloupe profile) to fully embedded (a widget in your own site), so the question becomes which fits your constraints rather than whether you can do it at all.
**How to use it:**
1. Go to Settings and click "Careers Page & Workloupe".
2. Compare the five options: Career Page Configuration, Job Cards Widget, RSS Feed, Full HTML Page, Workloupe Platform.
3. Read the badges (Recommended, Embeddable, Hosted) on each card.
4. Click "Configure", "Get RSS Feed", "Create Page" or "Setup Platform" on the one you want.

**Good to know:**
- No website and no developer: use the hosted Workloupe profile. Existing site plus someone who can paste HTML: use a widget. Existing careers page already rendering feeds: use RSS.
- The options are not exclusive — a hosted profile plus an embedded widget on your own site is a common combination.
- Whichever you choose, jobs stay in sync automatically; you are choosing a presentation, not a copy.
- Decide before you publish your first job so applications are attributed to the right source from the start.

**Related:** [Career Page Configuration](#feature-name-career-page-configuration) · [Job Cards Widget](#feature-name-job-cards-widget) · [RSS Feed Integration](#feature-name-rss-feed-integration) · [Workloupe Company Profile](#feature-name-workloupe-company-profile)

---

### Feature name: Career Page Configuration
**Short Description:** Customise colours, header, display fields and card layout.
**Purpose:** Makes the hosted careers page match your brand.
**Context:** Candidates notice when a careers page looks like it belongs to a different company than the marketing site they arrived from — it reads as either outsourced or unloved, and it measurably reduces applications. Matching your colours and typography closes that gap without any development work. The Display tab deserves real thought rather than a quick pass: showing salary consistently increases application rates, and the fields you choose to surface are effectively an editorial decision about what you want candidates to judge you on.
**How to use it:**
1. Go to Settings → Careers Page & Workloupe → "Career Page Configuration" → "Configure".
2. On the "Colors" tab, set Main, Secondary, Background, Text, Card Background, Card Border and Hover colours.
3. On the "Header" tab, toggle header text and subtitle, and enter the subtitle and section heading text.
4. Toggle the search bar on or off.
5. On the "Display" tab, toggle company logo, position count, salary, job address and work schedule.
6. On the "Cards" tab, set the border radius and layout.
7. Click Save on the "Actions" tab.

**Good to know:**
- Take the exact hex codes from your marketing site rather than approximating — near-matches look worse than obvious contrast.
- Showing salary typically increases applications; hiding it filters out candidates who will not engage without it.
- Enable the search bar once you have more than about ten open roles.
- Remember to save from the "Actions" tab — changes on the other tabs are not applied until you do.

**Related:** [Careers Page Setup Hub](#feature-name-careers-page-setup-hub) · [Company Branding Assets](#feature-name-company-branding-assets) · [Job Cards Widget](#feature-name-job-cards-widget) · [Workloupe Company Profile](#feature-name-workloupe-company-profile)

---

### Feature name: Job Cards Widget
**Short Description:** Embeddable job listing widget for your existing website.
**Purpose:** Adds live job listings to any site you already run.
**Context:** The classic failure mode of company careers pages is staleness: someone hand-maintains a list of openings, gets busy, and candidates apply for roles filled two months ago while genuinely open ones are missing. An embedded widget removes the maintenance step entirely — publish in Canvider and your site updates itself. The layout controls exist because the widget has to live inside your design rather than fight it, and a jobs section that looks bolted on undermines the credibility of the page it sits in.
**How to use it:**
1. Go to Settings → Careers Page & Workloupe → "Job Cards Widget" → "Configure".
2. Set colours on the "Colors" tab.
3. On "Display", toggle job type, salary, address and work schedule.
4. On "Layout", set Cards Per Row, Gap Between Cards, Border Radius and hover animation.
5. Set the "Button Text" and "Link Target" (same window or new tab).
6. Click "Save Configuration".

**Good to know:**
- Cards per row should match your site's grid — three works for most full-width layouts, one or two inside a narrow column.
- "Link Target: new tab" keeps candidates on your site, which marketing teams usually prefer.
- Listings update automatically as you publish, close or archive jobs — there is nothing to maintain.
- Check it on a phone after embedding; most careers-page traffic is mobile.

**Related:** [Careers Widget Builder](#feature-name-careers-widget-builder) · [Career Page Configuration](#feature-name-career-page-configuration) · [WordPress Integration](#feature-name-wordpress-integration) · [Careers Page Setup Hub](#feature-name-careers-page-setup-hub)

---

### Feature name: Careers Widget Builder
**Short Description:** Generates ready-to-paste HTML for a branded careers widget.
**Purpose:** Ships a working jobs section without developer help.
**Context:** The gap between "we should put jobs on the site" and it actually happening is usually a developer's backlog, and recruitment rarely wins that queue. The builder closes the gap by producing finished, self-contained HTML with a live preview, so the task becomes pasting a block into a page rather than filing a ticket. That independence is the whole point: recruiting teams can ship and iterate on their own careers section without waiting on anyone.
**How to use it:**
1. Go to Settings → Careers Page & Workloupe and open the widget builder.
2. Enter "Company Name" and "Tagline", and upload a "Company Logo" (200x80px recommended).
3. Set Primary Color, Background Color and Text Color.
4. Choose a "Widget Style": Modern, Classic or Minimal.
5. Set "Max Jobs to Display" and toggle salary, location and posted date.
6. Click "Generate Widget Code".
7. Check the "Live Preview", then click "Copy Code" or "Download as HTML File".
8. Paste the code into your website where the widget should appear.

**Good to know:**
- Use the Live Preview before copying — it is far quicker than pasting and reloading your site to check.
- 200x80px is the recommended logo size; larger images will be scaled and may look soft.
- "Max Jobs to Display" matters on a homepage embed, where a full list would dominate the page.
- Regenerate and re-paste if you later change branding; the generated code is a snapshot of the styling, though the job data stays live.

**Related:** [Job Cards Widget](#feature-name-job-cards-widget) · [WordPress Integration](#feature-name-wordpress-integration) · [Full HTML Careers Page](#feature-name-full-html-careers-page) · [Company Branding Assets](#feature-name-company-branding-assets)

---

### Feature name: RSS Feed Integration
**Short Description:** Auto-syncing RSS feed of your open jobs.
**Purpose:** Feeds an existing careers page without any code changes.
**Context:** RSS is unglamorous and extremely durable — it is the format job aggregators, intranets, CMS plugins and internal tools have consumed for two decades. If your site or a third-party system can already render a feed, this is the lowest-effort integration available: paste a URL and you are done, with no HTML, no styling decisions and nothing to maintain. It is also the right answer when the consumer of your jobs is not a website at all, such as an internal newsletter or a partner's job board.
**How to use it:**
1. Go to Settings → Careers Page & Workloupe.
2. Click "Get RSS Feed" on the RSS Feed Integration card.
3. Click "Copy" next to the "RSS Feed URL".
4. Add the URL to your website's RSS reader or job board integration.
5. Your listings sync automatically from then on.

**Good to know:**
- The feed reflects your live jobs, so closing a role removes it from wherever the feed is consumed.
- Presentation is entirely controlled by whatever consumes the feed — Canvider supplies the data, not the styling.
- Ask your web team whether your CMS already has a feed block; most do, and this becomes a five-minute job.
- Also useful for partner job boards and aggregators that accept a feed URL.

**Related:** [Careers Page Setup Hub](#feature-name-careers-page-setup-hub) · [Job Cards Widget](#feature-name-job-cards-widget) · [Post on Any Portal](#feature-name-post-on-any-portal)

---

### Feature name: Full HTML Careers Page
**Short Description:** Complete, professionally templated careers page generated for you.
**Purpose:** Gives companies without a careers page a finished one.
**Context:** Smaller companies often have no careers page at all, and candidates who cannot find one assume the company is not seriously hiring — or worse, judge the whole employer brand on its absence. Generating a complete, self-contained page removes both the design and the development problem: you get a finished file to publish on whatever hosting you already have. It is the middle route between a widget (needs an existing site) and the Workloupe profile (needs no site but lives on someone else's domain).
**How to use it:**
1. Go to Settings → Careers Page & Workloupe.
2. Click "Create Page" on the "Full HTML Page" card.
3. Fill in your branding and content options.
4. Generate the page HTML.
5. Download it and publish it on your own hosting.

**Good to know:**
- The page lives on your hosting, which means it is on your domain — better for employer branding and for search.
- Publishing it under a predictable path such as `/careers` is what makes it findable.
- Job listings stay current, but the page's branding is a snapshot — regenerate after a rebrand.
- If you have no hosting at all, the Workloupe profile gets you a public careers presence with nothing to deploy.

**Related:** [Careers Widget Builder](#feature-name-careers-widget-builder) · [Workloupe Company Profile](#feature-name-workloupe-company-profile) · [Career Page Configuration](#feature-name-career-page-configuration) · [Careers Page Setup Hub](#feature-name-careers-page-setup-hub)

---

### Feature name: WordPress Integration
**Short Description:** Shortcode, widget or plugin to show jobs on WordPress.
**Purpose:** Native job listings inside an existing WordPress site.
**Context:** A very large share of company websites run on WordPress, and pasting raw HTML into it is awkward — the editor rewrites markup, and non-technical staff are reasonably nervous about breaking a live page. Native WordPress mechanisms avoid that entirely: a shortcode is a single line anyone can paste, and a widget can be dragged into a sidebar without touching code at all. The theme-style option matters because a jobs section that ignores your theme is immediately recognisable as an add-on.
**How to use it:**
1. Go to Settings → Careers Page & Workloupe and open WordPress Integration.
2. Pick an "Integration Method": Shortcode (recommended), WordPress Widget, or Custom Plugin.
3. Enter "Company Name" and "Tagline".
4. Set the Primary Color and "WordPress Theme Style" (Inherit, Modern, Classic, Minimal).
5. Set "Jobs Per Page" and toggle filters, search box and pagination.
6. Click "Generate WordPress Code".
7. For shortcode: copy it, edit the target page in WordPress admin, paste, and publish.
8. For widget: go to Appearance → Widgets and drag the "Workloupe Careers" widget into place.

**Good to know:**
- Shortcode is recommended: it is a single line, easy to move, and easy to remove if you change your mind.
- Set "WordPress Theme Style" to Inherit if your theme already looks the way you want — it is the most seamless option.
- Enable filters and the search box only once you have enough roles to justify them.
- Preview the page before publishing; WordPress editors sometimes reformat pasted content.

**Related:** [Job Cards Widget](#feature-name-job-cards-widget) · [Careers Widget Builder](#feature-name-careers-widget-builder) · [RSS Feed Integration](#feature-name-rss-feed-integration) · [Careers Page Setup Hub](#feature-name-careers-page-setup-hub)

---

### Feature name: Workloupe Company Profile
**Short Description:** Hosted company profile and career page on workloupe.com.
**Purpose:** A full careers presence without running your own site.
**Context:** Candidates research employers before applying, and a company with no findable presence beyond a job advert is a risk they may simply decline to take. A hosted profile gives you the full picture — who you are, where you are, what you do, what it looks like inside — without any hosting, development or maintenance. For early-stage companies and studios this is often the fastest credibility upgrade available: the profile does the work a careers site would do, and it is live the moment you save it.
**How to use it:**
1. Go to Settings → Careers Page & Workloupe → "Workloupe Platform" → "Setup Platform".
2. Fill in Company Name, Company Email, Phone Number, Website and Company Address.
3. Add "Office Locations", separating multiple locations with the `|` character.
4. Write a "Company Description" (50+ characters recommended).
5. Select an "Industry" and enter your "Company Size".
6. Add social media links (LinkedIn, Instagram, Twitter, GitHub, Facebook, Glassdoor).
7. Upload your branding assets.
8. Save — changes apply to your public profile.

**Good to know:**
- Office locations are separated with the `|` character — a comma will be read as part of one location.
- Everything on this page is public. Do not enter anything you would not put on your own website.
- The company description is what candidates read first; write about the work and the team rather than listing values.
- Social links are worth completing — candidates check them, and empty profiles read as an inactive company.

**Related:** [Company Branding Assets](#feature-name-company-branding-assets) · [Company Photo Gallery](#feature-name-company-photo-gallery) · [Careers Page Setup Hub](#feature-name-careers-page-setup-hub) · [Office Locations](#feature-name-office-locations)

---

### Feature name: Company Branding Assets
**Short Description:** Upload your company logo and banner for public pages.
**Purpose:** Presents a professional, branded face to candidates.
**Context:** These two images are the first thing a candidate sees on every public surface you have — the profile, the careers page, the widget on your site. A missing or low-resolution logo reads as carelessness at precisely the moment you are asking someone to consider changing jobs, and candidates are unusually alert to those signals because they are trying to judge a company from the outside. The recommended dimensions exist because images that are scaled up look soft in exactly the places people look first.
**How to use it:**
1. Go to Settings → Careers Page & Workloupe → Workloupe Platform.
2. Scroll to "Branding Assets (Publicly Visible)".
3. Under "Company Logo", upload a PNG or JPG (300x300px recommended, max 3MB).
4. Under "Company Banner", upload a PNG or JPG (1200x400px recommended, max 3MB).
5. Uploading a new file replaces the current one.
6. Save the form to publish the assets.

**Good to know:**
- Logo 300x300px, banner 1200x400px, maximum 3MB each, PNG or JPG only.
- Upload at or above the recommended size — enlarged small images look noticeably soft.
- A transparent-background PNG logo adapts better across light and dark layouts.
- Uploading replaces the previous file immediately; keep your originals elsewhere.
- These assets are public, so use approved brand versions rather than a draft.

**Related:** [Workloupe Company Profile](#feature-name-workloupe-company-profile) · [Company Photo Gallery](#feature-name-company-photo-gallery) · [Career Page Configuration](#feature-name-career-page-configuration) · [File Upload Security](#feature-name-file-upload-security)

---

### Feature name: Company Photo Gallery
**Short Description:** Showcase office, team and culture photos on your public profile.
**Purpose:** Attracts candidates by showing what working there looks like.
**Context:** Every company describes itself as collaborative and fast-moving, so those words carry no information. Photographs do: a candidate can see the actual space, the actual people, and the actual scale of the team, and form their own judgement in seconds. This matters most for the candidates you most want, who have options and are deciding where they would rather spend their days. Real photos of your real office consistently outperform stock imagery, which candidates recognise instantly and read as evasive.
**How to use it:**
1. Go to Settings → Careers Page & Workloupe → Workloupe Platform.
2. Scroll to the gallery section and wait for "Loading existing photos..." to finish.
3. Click "Upload New Photos" and select multiple images (JPG, PNG or WebP, max 5MB each).
4. Review the previews of the new photos before saving.
5. Click the "×" on any existing or new photo to remove it.
6. Save the form to publish the gallery.

**Good to know:**
- JPG, PNG or WebP, maximum 5MB each; several can be uploaded at once.
- Use real photos of your real workplace — stock images are recognisable and actively counterproductive.
- Get consent from anyone identifiable in a photo before publishing it; these images are public.
- Wait for "Loading existing photos..." to finish before editing, or you may remove the wrong image.
- Refresh the gallery after an office move or a significant team change.

**Related:** [Workloupe Company Profile](#feature-name-workloupe-company-profile) · [Company Branding Assets](#feature-name-company-branding-assets) · [File Upload Security](#feature-name-file-upload-security)

---

## 14. Integrations

### Feature name: Google (Gmail) Integration
**Short Description:** Send candidate email and calendar invites from your Gmail.
**Purpose:** Candidates receive mail from you, not a system address.
**Context:** Email from a system address is a worse experience for everyone: it is more likely to be filtered as automated mail, it discourages candidates from replying, and when they do reply the answer goes somewhere nobody is watching. Sending through your own mailbox fixes all three — the message comes from a named human at a real company, replies come back to you naturally, and deliverability is dramatically better because it is ordinary business mail. The same connection powers calendar sync and Google Meet link generation.
**How to use it:**
1. Go to Settings and click the "Google" card under Integrations.
2. Click the connect action to start hosted sign-in via Unipile.
3. Complete Google's sign-in and consent screens.
4. Return to Canvider and confirm the connection shows as ready.
5. Requires employer tier 2 or higher; disconnect Microsoft first if it is connected.
6. Use "Send test" to verify email delivery.

**Good to know:**
- Requires employer tier 2 or higher.
- Google and Microsoft are mutually exclusive — only one email integration can be connected at a time.
- Connecting also unlocks calendar sync and one-click Google Meet links, not just email.
- Run "Send test" immediately after connecting; discovering a delivery problem via a silent candidate is much worse.
- Sign-in is hosted via Unipile, so Canvider never handles your Google password.

**Related:** [Microsoft (Outlook) Integration](#feature-name-microsoft-outlook-integration) · [Calendar Sync](#feature-name-calendar-sync) · [Meeting Link Generation](#feature-name-meeting-link-generation) · [Integration Connection Status](#feature-name-integration-connection-status) · [Employer Tiers](#feature-name-employer-tiers)

---

### Feature name: Microsoft (Outlook) Integration
**Short Description:** Send candidate email and calendar invites from Outlook or Office 365.
**Purpose:** Aligns candidate correspondence with your Microsoft workplace.
**Context:** For companies standardised on Microsoft 365, this is the equivalent of the Google integration and exists for the same reasons: candidate mail that comes from a real person, replies that land in the mailbox you actually read, and calendar entries in the system your colleagues check. The Teams link generation is often the deciding factor in practice, since interviewers who live in Teams should not have to join a different platform for interviews.
**How to use it:**
1. Go to Settings and click the "Microsoft" card under Integrations.
2. Click the connect action to start hosted sign-in via Unipile.
3. Complete the Microsoft sign-in and consent screens.
4. Return to Canvider and confirm the connection is ready.
5. Requires employer tier 2 or higher; disconnect Google first if it is connected.
6. Teams meeting links now become available when scheduling interviews.

**Good to know:**
- Requires employer tier 2 or higher.
- Only one of Google or Microsoft can be connected at a time; disconnect the other first.
- Some Microsoft 365 tenants restrict third-party app consent — if sign-in fails, your IT administrator may need to approve it.
- Once connected, Teams links can be generated directly in the Schedule Interview modal.
- Use the diagnostics tools to send a test email and create a test meeting before relying on it.

**Related:** [Google (Gmail) Integration](#feature-name-google-gmail-integration) · [Meeting Link Generation](#feature-name-meeting-link-generation) · [Calendar Sync](#feature-name-calendar-sync) · [Integration Diagnostics](#feature-name-integration-diagnostics) · [Employer Tiers](#feature-name-employer-tiers)

---

### Feature name: LinkedIn Integration
**Short Description:** Connect LinkedIn for job posting, sourcing and profile enrichment.
**Purpose:** Unlocks automated posting and richer candidate context.
**Context:** LinkedIn is the largest professional dataset in the world and the primary channel for most white-collar hiring, so connecting it unlocks three capabilities at once rather than one: automatic job posting, LinkedIn candidate sourcing, and profile enrichment on your applicants. The important architectural detail is that all of this runs through *your own* LinkedIn account and its ordinary permissions — Canvider is not a back door to data you could not otherwise see, and your account's limits and LinkedIn's terms apply exactly as they normally do.
**How to use it:**
1. Go to Settings and click the "LinkedIn" card under Integrations.
2. Click the connect action to start hosted sign-in via Unipile.
3. Complete LinkedIn's sign-in and any verification steps.
4. Return to Canvider and confirm the account shows as connected.
5. Requires employer tier 2 or higher.
6. LinkedIn sourcing, automatic job posting and profile enrichment are now available.

**Good to know:**
- Requires employer tier 2 or higher.
- Everything runs through your own LinkedIn account, so your account's limits and LinkedIn's terms of use apply.
- Unlike email, LinkedIn is independent — it does not conflict with a Google or Microsoft connection.
- LinkedIn occasionally requires re-verification, which shows up as "Action needed" in the connection panel.
- Manual guided job posting remains available and requires no connection at all.

**Related:** [Automatic LinkedIn Job Posting](#feature-name-automatic-linkedin-job-posting) · [LinkedIn Profile Enrichment](#feature-name-linkedin-profile-enrichment) · [Candidate Sourcing](#feature-name-candidate-sourcing) · [LinkedIn Company Pages for Posting](#feature-name-linkedin-company-pages-for-posting) · [Employer Tiers](#feature-name-employer-tiers)

---

### Feature name: LinkedIn Company Pages for Posting
**Short Description:** Shows which LinkedIn company pages you can publish jobs as.
**Purpose:** Confirms the job will post under the right company identity.
**Context:** A job posted under the wrong LinkedIn identity is a genuine problem, not a cosmetic one — candidates check the posting company, and a role advertised by a dormant page or the wrong regional entity looks like a scam. Groups with several legal entities, brands or country pages hit this regularly. This panel makes the identity explicit before you publish rather than after, and it is the first place to look when a posted job appears under a name you did not expect.
**How to use it:**
1. Go to Settings → LinkedIn after connecting your account.
2. Scroll to "Company pages for LinkedIn posting".
3. Review the list of pages you administer.
4. When LinkedIn is selected during publish, Canvider posts to one of these pages.
5. If the expected page is missing, verify your LinkedIn admin rights and reconnect.

**Good to know:**
- Only pages where your LinkedIn account has admin rights appear here — a missing page is almost always a permissions issue on LinkedIn's side.
- Fix admin rights on LinkedIn first, then reconnect; reconnecting alone will not grant access you do not have.
- Check this before your first automated post, especially if your group has multiple entities or country pages.
- The page that appears here is the identity candidates will see on the posting.

**Related:** [LinkedIn Integration](#feature-name-linkedin-integration) · [Automatic LinkedIn Job Posting](#feature-name-automatic-linkedin-job-posting) · [Integration Connection Status](#feature-name-integration-connection-status)

---

### Feature name: Integration Connection Status
**Short Description:** Live status panel for each connected Google, Microsoft or LinkedIn account.
**Purpose:** Tells you immediately when a connection has expired.
**Context:** Integrations do not fail loudly. A session expires because a password changed or a platform required re-verification, and the symptom is silence — emails that do not arrive, a calendar that stops syncing, sourcing that returns nothing. Because the failure looks like ordinary quiet, it can go unnoticed for days while candidates wait. This panel makes the state explicit, and its four values map to four different actions, which is why it is worth reading rather than glancing at.
**How to use it:**
1. Go to Settings and open the Google, Microsoft or LinkedIn card.
2. Read the "Connection" panel state: Connected, Action needed, Finishing setup, or Not connected.
3. If it says "Connected", check the signed-in address shown.
4. If it says "Action needed", click the Reconnect button to restore the session.
5. If it says "Finishing setup", click "Refresh status" after completing sign-in.
6. On the LinkedIn page, review "Connected profile" and click "View on LinkedIn" to verify the identity.

**Good to know:**
- "Action needed" means the session expired and the feature has already stopped working — reconnect immediately.
- "Finishing setup" usually just needs "Refresh status" after you completed sign-in in the other tab.
- Verify the signed-in address, not just the green state; connecting the wrong account is an easy mistake to miss.
- Check this first whenever email, calendar sync or sourcing mysteriously stops working.

**Related:** [Integration Diagnostics](#feature-name-integration-diagnostics) · [Disconnect an Integration](#feature-name-disconnect-an-integration) · [Google (Gmail) Integration](#feature-name-google-gmail-integration) · [Calendar Sync](#feature-name-calendar-sync)

---

### Feature name: Integration Diagnostics
**Short Description:** Internal tools to test email, calendar and LinkedIn API access.
**Purpose:** Confirms an integration actually works before relying on it.
**Context:** A connection showing green means authentication succeeded, which is not the same as the feature working — permissions can be partial, a tenant policy can block calendar writes, and LinkedIn scopes can be narrower than expected. The gap between "connected" and "actually functional" is normally discovered when a candidate says they never got the invitation. These tools close it by exercising the real operations on demand, which turns a vague "is this working?" into a definite answer in under a minute.
**How to use it:**
1. Go to Settings and open the Google, Microsoft or LinkedIn integration page.
2. Scroll to the "Internal tools" section.
3. On Google/Microsoft, click "Send test email" to send a short message from the connected account.
4. Click "Schedule test meeting", enter an "Attendee email", and submit to create a 30-minute test event.
5. On LinkedIn, use "Profile lookup (debug)" with a profile URL or username, then click "Fetch profile".
6. Use the "API capability checks" buttons (Own profile, Job postings, Recent chats) to verify scopes.
7. These tools are for verification only — they are hidden when internal tools are disabled.

**Good to know:**
- Use your own address as the test attendee — the test meeting creates a real calendar event.
- Run these right after connecting and again whenever something stops working; it isolates the problem in a minute.
- The LinkedIn capability checks tell you which scopes were actually granted, which explains most "why doesn't sourcing work" questions.
- The section is hidden when internal tools are disabled, so its absence is not a fault.

**Related:** [Integration Connection Status](#feature-name-integration-connection-status) · [Google (Gmail) Integration](#feature-name-google-gmail-integration) · [Microsoft (Outlook) Integration](#feature-name-microsoft-outlook-integration) · [LinkedIn Integration](#feature-name-linkedin-integration)

---

### Feature name: Disconnect an Integration
**Short Description:** Remove a connected Google, Microsoft or LinkedIn account.
**Purpose:** Revokes access or frees the slot for another account.
**Context:** There are three ordinary reasons to disconnect: the person whose account was connected is leaving, you are switching from Google to Microsoft (or vice versa, since only one can be connected), or you want to revoke access as a precaution. The consequence is immediate and broad — candidate email falls back to the Canvider address, calendar sync stops, and on LinkedIn both sourcing and enrichment stop working. Plan the reconnection before disconnecting, especially if interviews are already scheduled.
**How to use it:**
1. Go to Settings and open the relevant integration card.
2. Find the connected account details on that page.
3. Click the disconnect action.
4. Confirm the disconnection.
5. Features depending on that account stop working until you reconnect.

**Good to know:**
- Disconnect the outgoing account *before* someone leaves the company, not after their credentials are revoked.
- Switching between Google and Microsoft requires disconnecting the current one first.
- Existing synced calendar events remain in the external calendar, but future changes stop propagating.
- Sent email history stays in Canvider; only the ability to send from that mailbox goes away.

**Related:** [Integration Connection Status](#feature-name-integration-connection-status) · [Google (Gmail) Integration](#feature-name-google-gmail-integration) · [Microsoft (Outlook) Integration](#feature-name-microsoft-outlook-integration) · [Deactivate / Reactivate Team Member](#feature-name-deactivate--reactivate-team-member)

---

### Feature name: PostJobFree Email Ingestion
**Short Description:** Turns PostJobFree application emails into applications automatically.
**Purpose:** Captures applications from PostJobFree without manual entry.
**Context:** Many job boards, PostJobFree among them, deliver applications as plain email with the CV attached rather than through an API. Those candidates would otherwise live in a mailbox — unscored, unsearchable and absent from your reporting — and typically get slower responses than everyone else. This ingestion parses the message, extracts the attached resume (with OCR when the PDF is a scan), and runs the same AI extraction as any other application, so a board that offers no integration still produces first-class records in your pipeline.
**How to use it:**
1. Publish your job to PostJobFree from the "Publish Job" step.
2. Wait for applications to arrive as email in the configured mailbox.
3. Open the People page.
4. Click "Refresh Applicants".
5. Canvider parses each email, extracts the PDF resume (with OCR fallback), and runs AI extraction.
6. Review the newly created applications in the list.

**Good to know:**
- Nothing arrives until you click "Refresh Applicants" — make it a daily habit if you use this channel.
- OCR handles scanned CVs but is slower and less accurate than a text PDF, so check extracted facts on those.
- Candidates ingested this way have no screening-question answers, since they applied through the board's form.
- Applications are attributed to PostJobFree, which is what makes the source-effectiveness comparison meaningful.

**Related:** [Refresh Applicants](#feature-name-refresh-applicants) · [Create Job — Step 4: Publish](#feature-name-create-job--step-4-publish) · [Source of Hire & Source Effectiveness](#feature-name-source-of-hire--source-effectiveness) · [AI CV Analysis](#feature-name-ai-cv-analysis)

---

### Feature name: MCP API Access
**Short Description:** Lets AI assistants query your Canvider data securely.
**Purpose:** Brings ATS answers into Cursor, Claude Desktop and similar tools.
**Context:** Recruiting questions arrive in the middle of other work — during a planning conversation, while writing a board update — and the cost of switching tools to answer them is why so many go unanswered. MCP lets an AI assistant you already have open query Canvider directly, so "how many open vacancies do we have?" is answered in the conversation you are already in. The security model is the important part: each key is scoped to a single employer and can be revoked or expired, so the assistant can never reach beyond your own company's data.
**How to use it:**
1. Request a Canvider API key for your company — your administrator can obtain one from Canvider support.
2. Open your MCP config file (e.g. `~/.cursor/mcp.json`).
3. Add a `canvider` server entry pointing at `https://ats.canvider.com/api/mcp/`.
4. Set `CANVIDER_API_KEY` to your key and `CANVIDER_API_URL` to the endpoint.
5. Restart Cursor or Claude Desktop.
6. Ask your assistant questions like "How many open vacancies does my company have?".
7. Each key is scoped to one employer and can be revoked or expired.

**Good to know:**
- Keys are issued per company on request; they are not self-served from the settings interface.
- Each key is scoped to one employer and can be revoked or given an expiry — issue individual keys rather than sharing one.
- Treat the key like a password: it grants access to candidate data, and it belongs in a config file, not in a chat message or a repository.
- API requests are rate limited to 100 per hour.
- Restart your assistant after editing the config, or the server will not be picked up.

**Related:** [Multi-Tenant Data Isolation](#feature-name-multi-tenant-data-isolation) · [Rate Limiting](#feature-name-rate-limiting) · [Recruitment Analytics Dashboard](#feature-name-recruitment-analytics-dashboard)

---

## 15. Team & Permissions

### Feature name: Invite Team Member
**Short Description:** Send an email invitation for a colleague to join Canvider.
**Purpose:** Grows your recruiting team with the right access level.
**Context:** Hiring is never a solo activity — hiring managers review, interviewers give feedback, coordinators schedule — but the more people who can see candidate data, the larger your exposure if any one account is compromised. Invitations resolve that by making access deliberate: someone decides who joins and, at the same moment, what they are allowed to do. Choosing the role at invitation time rather than afterwards is the important habit, because a role assigned "temporarily" as Administrator almost never gets downgraded later.
**How to use it:**
1. Go to Settings and click the "Invitations" card.
2. Click "Invite New Member".
3. Enter First Name, Last Name and Email Address.
4. Select a "Role": Administrator, Recruiter, Hiring Manager, Interviewer or Read Only.
5. Read the role descriptions shown below the dropdown.
6. Click "Send Invitation".
7. Track the invitation's status and expiry date in the "Invitations" tab.

**Good to know:**
- Grant the least access that lets the person do their job — an interviewer rarely needs Recruiter permissions.
- Invitations expire. Check the expiry date in the Invitations tab if someone says they never got in.
- Use a work email address; the invitation and all later notifications go there.
- The role you pick is what the invitee sees on their acceptance page, so it should be right before you send.

**Related:** [Role-Based Permissions](#feature-name-role-based-permissions) · [Manage Pending Invitations](#feature-name-manage-pending-invitations) · [Accept Invitation / Registration](#feature-name-accept-invitation--registration) · [Deactivate / Reactivate Team Member](#feature-name-deactivate--reactivate-team-member)

---

### Feature name: Manage Pending Invitations
**Short Description:** Track, cancel or delete invitations that have not been accepted.
**Purpose:** Cleans up stale invites and revokes ones sent in error.
**Context:** An unaccepted invitation is a live path into your candidate data, and they accumulate quietly — a candidate hire who never started, a typo'd address, an invite sent to a contractor whose engagement ended before they logged in. Being able to see and revoke them turns a forgotten loose end into a managed one. This page is also where you answer the most common onboarding question ("I never received it"), because it shows whether the invitation was sent, when it expires, and whether it has already been used.
**How to use it:**
1. Go to Settings → Invitations and click the "Invitations" tab.
2. Review each row: Name, Email, Role, Sent Date, Expiry Date and Status.
3. Filter the list with the "Status:" and "Role:" dropdowns.
4. Click the "Cancel" action on a row to revoke an invitation without deleting it.
5. Click the "Delete" action to remove the invitation record entirely.
6. Send a fresh invitation with "Invite New Member" if the person still needs access.

**Good to know:**
- Cancel keeps the record for audit purposes; Delete removes it entirely. Prefer Cancel unless the invitation was a mistake.
- Review pending invitations periodically — stale ones are unnecessary exposure.
- Revoke immediately if an invitation went to the wrong address; do not rely on it simply expiring.
- An expired invitation cannot be extended; send a new one instead.

**Related:** [Invite Team Member](#feature-name-invite-team-member) · [Accept Invitation / Registration](#feature-name-accept-invitation--registration) · [Role-Based Permissions](#feature-name-role-based-permissions)

---

### Feature name: Role-Based Permissions
**Short Description:** Five roles controlling what each teammate can see and do.
**Purpose:** Limits sensitive candidate data to the people who need it.
**Context:** Candidate data is personal data, and data-protection law expects access to be proportionate to someone's actual job — an interviewer who needs to give feedback on one candidate does not need the ability to export your entire pipeline. Five roles cover the real division of labour in hiring without becoming a permissions matrix nobody maintains. In practice the discipline that matters is resisting Administrator as the default: it is the convenient answer and the one that turns a single compromised account into a company-wide incident.
**How to use it:**
1. Go to Settings → Invitations → "Team Members" tab.
2. Review each member's Name, Email, Role and Status.
3. Use the "Role:" filter to see everyone with a given role.
4. Assign roles when inviting: Administrator (full access), Recruiter (jobs, candidates, interviews), Hiring Manager (review and decide), Interviewer (interview and feedback), Read Only (view-only).
5. Adjust permissions after a user accepts their invitation.

**Good to know:**
- Analytics requires Administrator, Recruiter, Hiring Manager or Read Only — Interviewers cannot see it.
- Keep the number of Administrators small; audit the list periodically using the Role filter.
- Read Only is the right role for finance, leadership or anyone who needs visibility without the ability to change anything.
- Roles can be adjusted after someone accepts, so start restrictive and widen if needed.

**Related:** [Invite Team Member](#feature-name-invite-team-member) · [Multi-Tenant Data Isolation](#feature-name-multi-tenant-data-isolation) · [Recruitment Analytics Dashboard](#feature-name-recruitment-analytics-dashboard) · [Deactivate / Reactivate Team Member](#feature-name-deactivate--reactivate-team-member)

---

### Feature name: Deactivate / Reactivate Team Member
**Short Description:** Suspend or restore a teammate's access to Canvider.
**Purpose:** Cuts off access instantly when someone leaves.
**Context:** Offboarding is where access control most often fails, because revoking accounts is nobody's favourite task and a departing recruiter's login can survive for months after their last day. Deactivation makes it a single immediate action: the person is logged out, loses access at once, and disappears from mention autocomplete so colleagues stop expecting a reply. Crucially it is reversible and destroys nothing — their comments, decisions and history remain intact, which is exactly what you want for parental leave, secondments or an accidental deactivation.
**How to use it:**
1. Go to Settings → Invitations → "Team Members" tab.
2. Find the member in the list.
3. Click "Deactivate" on their row.
4. Read the warning — they lose access immediately and are logged out.
5. Click "Confirm Deactivation".
6. To restore access later, click "Activate" and then "Confirm Reactivation".

**Good to know:**
- Effective immediately, including for a user who is currently signed in — they are logged out.
- Nothing is deleted. Their comments, activity and history stay, which preserves your audit trail.
- Reassign their in-flight candidates before deactivating, or those applications lose their owner.
- Disconnect any integration connected under their account too — deactivation alone does not revoke that mailbox connection.
- Prefer deactivation over deletion for anyone who might return.

**Related:** [Account Deactivated Notice](#feature-name-account-deactivated-notice) · [Role-Based Permissions](#feature-name-role-based-permissions) · [Disconnect an Integration](#feature-name-disconnect-an-integration) · [Team Mentions](#feature-name-team-mentions)

---

### Feature name: Multi-Tenant Data Isolation
**Short Description:** Every record is locked to the company that owns it.
**Purpose:** Guarantees no company can ever see another's candidates.
**Context:** Canvider is one application serving many companies, which is what makes it affordable — and it means the boundary between employers is the single most important guarantee in the system. If it failed, one company could see another's candidates, salaries and hiring plans, which is both a catastrophic breach and a competitive disaster. Isolation is therefore enforced on every request at the data layer rather than being something the interface merely hides, and it extends to API and MCP keys so an integration cannot become a way around it.
**How to use it:**
1. Nothing to configure — enforcement is automatic on every request.
2. Sign in and you only ever see your own employer's jobs and candidates.
3. Team members inherit the same boundary.
4. API and MCP keys are scoped to one employer too.

**Good to know:**
- There is nothing to switch on and no way to disable it — the boundary is structural.
- This is the answer to the question security reviews always ask about shared infrastructure.
- Role-based permissions operate *within* your company; isolation is what separates companies from each other.
- The one shared feature is the opt-in shared talent pool sourcing source, which is explicit and chosen per search.

**Related:** [Role-Based Permissions](#feature-name-role-based-permissions) · [MCP API Access](#feature-name-mcp-api-access) · [Legal Documents](#feature-name-legal-documents) · [Employer Tiers](#feature-name-employer-tiers)

---

## 16. Privacy, Compliance & Security

### Feature name: Candidate Consent for Future Opportunities
**Short Description:** Candidates opt in to being kept for future roles.
**Purpose:** Keeps talent-pool storage lawful and consent-based.
**Context:** Under GDPR and similar regimes, keeping someone's data after the role they applied for has closed needs a lawful basis, and explicit consent is the cleanest one available. Asking at application time — while the candidate is engaged and the purpose is obvious — produces far higher opt-in rates than trying to obtain consent months later. Canvider then enforces the answer mechanically: non-consenting candidates are excluded from the talent pool and from one-click referral, so an individual recruiter cannot accidentally create a compliance problem.
**How to use it:**
1. Candidates choose this on the application form when they apply.
2. Open an applicant's detail page.
3. Look for "Not open to future opportunities" or "No consent for future opportunities" on the profile.
4. Candidates without consent are excluded from the talent pool and one-click referral.
5. Consenting candidates are added to the pool when the vacancy is closed or archived.

**Good to know:**
- Check the consent indicator before contacting a past candidate about a new role.
- Manually added candidates and bulk-uploaded CVs have not given consent, because they never saw the form.
- Without consent you can still approach someone — you just have to do it directly rather than through talent-pool features.
- Consent is what makes the talent pool an asset rather than a liability, so it is worth keeping the application form's wording clear.

**Related:** [Talent Pool](#feature-name-talent-pool) · [Talent Pool Finder](#feature-name-talent-pool-finder) · [Suggested Position](#feature-name-suggested-position) · [Change Vacancy Status](#feature-name-change-vacancy-status)

---

### Feature name: Sourcing Privacy Notice
**Short Description:** In-product explanation of how sourced data is handled.
**Purpose:** Sets expectations and responsibilities before you use sourcing.
**Context:** Sourcing is the part of recruiting most likely to create a legal or ethical problem, because it involves people who never contacted you and have not agreed to anything. Putting the explanation directly on the page where the data appears — rather than in a policy document nobody opens — means recruiters actually encounter it at the moment it is relevant. It sets out three things worth internalising: results are temporary previews rather than records, LinkedIn data comes through your own account under LinkedIn's terms, and the responsibility for appropriate use is yours.
**How to use it:**
1. Open the "Discover People" page.
2. Read the "Privacy & how this data works" panel at the top.
3. Note that results are temporary previews, not database records.
4. Note that LinkedIn results come from your own connected account.
5. Use previews only for legitimate recruiting and respect platform terms.

**Good to know:**
- Sourced previews are deleted automatically after 48 hours — Canvider does not build a permanent database of people who never applied.
- LinkedIn results are retrieved through your own account, so LinkedIn's terms of use apply to you directly.
- Use sourced data for genuine recruiting only; exporting or repurposing it is where teams get into trouble.
- Worth reading once with your whole team rather than assuming everyone has.

**Related:** [Discover People](#feature-name-discover-people) · [Sourced Candidate Data Retention](#feature-name-sourced-candidate-data-retention) · [Candidate Sourcing](#feature-name-candidate-sourcing) · [Legal Documents](#feature-name-legal-documents)

---

### Feature name: AI Usage Disclaimer
**Short Description:** In-app notice about the limits of AI candidate analysis.
**Purpose:** Reminds recruiters that humans make the final decision.
**Context:** Automated decision-making about people is increasingly regulated, and in several jurisdictions candidates have a right not to be rejected purely by an algorithm. Beyond the legal position, there is a practical one: AI scoring is genuinely useful for ranking and genuinely unreliable at the margins, particularly with unconventional careers, career breaks or CVs written in a second language — exactly the candidates a diverse pipeline depends on. The disclaimer sits where the scores are shown because that is the moment the reminder is needed.
**How to use it:**
1. Open any applicant's Overview tab.
2. Read the "Candidate Summary" disclaimer text.
3. Note AI supports but does not replace human judgement.
4. Verify candidate information independently before deciding.
5. Read the "FAQ on Data & AI Usage" on the Legal Documents page for more.

**Good to know:**
- Never reject a candidate on an AI score alone — review the CV before any negative decision.
- AI scoring is least reliable for non-traditional backgrounds, career breaks and CVs written in a second language.
- If a candidate asks whether AI was used to assess them, the FAQ on Data & AI Usage is the document to point them to.
- Recording your own reasoning in internal comments is what demonstrates a human made the decision.

**Related:** [AI CV Analysis](#feature-name-ai-cv-analysis) · [Criteria Match Analysis](#feature-name-criteria-match-analysis) · [Legal Documents](#feature-name-legal-documents) · [Internal Comments](#feature-name-internal-comments)

---

### Feature name: Deleted Vacancy Data Cleanup
**Short Description:** Candidate data is purged 30 days after a vacancy is deleted.
**Purpose:** Limits how long candidate data survives after a role ends.
**Context:** Data-protection principles require that personal data is not kept longer than the purpose requires, and once a vacancy is genuinely gone, the applications attached to it have no remaining purpose. Automatic purging enforces that without depending on anyone remembering. The 30-day delay is a deliberate compromise between compliance and reality — it protects you from an accidental deletion while still guaranteeing the data does not linger indefinitely. Treat it as a countdown: anything you need for records must be exported inside that window.
**How to use it:**
1. Open the job's details page and click "Change Vacancy Status".
2. Select "Deleted" and confirm — this cannot be undone.
3. The vacancy is marked deleted immediately and stops being accessible.
4. After 30 days, the associated candidate and application data is removed automatically.
5. Export anything you need for records before the retention window elapses.

**Good to know:**
- Deletion is immediate and irreversible from the interface; only the data purge is delayed by 30 days.
- Export analytics and any records you need to retain *before* deleting, not during the 30-day window when you may forget.
- Use Archived instead of Deleted for roles you simply want out of the way — archiving keeps the history and feeds the talent pool.
- This is also the mechanism that supports a genuine "delete our data" commitment to candidates.

**Related:** [Change Vacancy Status](#feature-name-change-vacancy-status) · [Export Analytics to Excel](#feature-name-export-analytics-to-excel) · [Delete Candidate](#feature-name-delete-candidate) · [Talent Pool](#feature-name-talent-pool)

---

### Feature name: File Upload Security
**Short Description:** Uploads are validated by type, signature and size.
**Purpose:** Blocks malicious files disguised as resumes.
**Context:** An ATS is an unusually attractive target for file-based attacks, because it is one of the few business systems that invites strangers to upload documents. The classic technique is a malicious file renamed with a harmless extension, which is why checking the extension alone is not enough. Canvider inspects the actual file signature — the magic bytes at the start of the file — so a renamed executable is rejected regardless of what it claims to be. Size limits serve a second purpose, protecting the service from upload-based denial of service.
**How to use it:**
1. Upload files normally through Bulk Upload CVs, Add Candidate or the Files tab.
2. Canvider checks MIME type and magic bytes, not just the extension.
3. Files exceeding the size limit (2–10MB depending on the upload) are rejected.
4. Read the error message and re-upload a valid file if rejected.

**Good to know:**
- Renaming a file to `.pdf` will not get it past the check — the content itself is inspected.
- Limits run from 2MB to 10MB depending on the upload point; the Files tab allows up to 10MB.
- A rejected legitimate file is usually oversized or genuinely a different format than its name suggests.
- This runs on every upload path — bulk CV upload, manual candidate add, application files and profile photos.

**Related:** [Bulk Upload CVs](#feature-name-bulk-upload-cvs) · [Application Files](#feature-name-application-files) · [Add Candidate Manually](#feature-name-add-candidate-manually) · [Change Profile Photo](#feature-name-change-profile-photo)

---

### Feature name: Rate Limiting
**Short Description:** Caps login and API request rates per client.
**Purpose:** Prevents brute-force and abusive automated traffic.
**Context:** Any internet-facing application receives constant automated traffic — credential-stuffing scripts, scrapers and vulnerability scanners probing continuously, entirely independently of anything you do. Rate limiting is the blunt, effective defence: legitimate use never approaches these thresholds, while automated abuse depends on volume and stops being viable without it. It complements account lockout, which protects one account, by protecting the service as a whole from a client attacking many accounts at once.
**How to use it:**
1. Always on — no configuration needed.
2. Login attempts are limited to 5 per hour per client.
3. API requests are limited to 100 per hour.
4. If you hit a limit, wait for the window to reset and retry.

**Good to know:**
- Login is limited to 5 attempts per hour per client; the API to 100 requests per hour.
- Normal human use never reaches these limits — hitting one usually means a script or a misconfigured integration.
- Relevant if you are building against the MCP API: design for the 100/hour ceiling rather than polling aggressively.
- This is separate from account lockout, which locks one account for 30 minutes after 5 failures.

**Related:** [Account Lockout Protection](#feature-name-account-lockout-protection) · [MCP API Access](#feature-name-mcp-api-access)

---

## 17. Plans & Credits

### Feature name: Employer Credits
**Short Description:** Credit balance consumed by AI-powered operations.
**Purpose:** Controls and meters AI spend per company.
**Context:** AI operations have a real per-use cost, so they are metered rather than unlimited. Understanding the pricing changes how you work: analysis is charged per candidate, which makes it worth improving your job description before analysing two hundred CVs rather than after. The one practical wrinkle is that there is no balance display in the interface — you discover you are out of credits when an operation refuses to run, so it is worth knowing the costs and roughly tracking your own consumption on large batches.
**How to use it:**
1. Credits are charged automatically as you use AI features.
2. AI candidate analysis costs 1 credit per candidate.
3. Candidate sourcing costs 1 credit per run.
4. AI Decision Helper comparison costs 3 credits.
5. There is no balance display in the interface — you only see a message when credits run out.
6. If you see an insufficient-credits message, contact Canvider to top up.

**Good to know:**
- New employers start with a default allocation of 5,000 credits.
- The costs are: 1 per candidate analysis, 1 per sourcing run, 3 per Decision Helper comparison.
- Bulk analysis charges per candidate, so a 200-CV batch costs 200 credits — filter to the job you actually need first.
- Reopening a past comparison is free; only generating a new one is charged.
- Because there is no balance indicator, keep a rough tally yourself on large batches — or ask Canvider support for your current balance.

**Related:** [AI CV Analysis](#feature-name-ai-cv-analysis) · [Bulk Candidate Analysis](#feature-name-bulk-candidate-analysis) · [AI Decision Helper](#feature-name-ai-decision-helper) · [Candidate Sourcing](#feature-name-candidate-sourcing)

---

### Feature name: Employer Tiers
**Short Description:** Plan level unlocking premium features per company.
**Purpose:** Gates advanced integrations and AI behind the right plan.
**Context:** Tiers are how Canvider separates the core ATS, which every customer gets, from capabilities that carry ongoing cost or complexity — chiefly the Google, Microsoft and LinkedIn integrations. In practice tier 2 is the meaningful threshold, because it is what turns on connected email, calendar sync, LinkedIn sourcing and profile enrichment. If several features you expected are showing padlocks in Settings, the tier is almost always the explanation rather than a fault.
**How to use it:**
1. Your tier is set by Canvider after billing.
2. Go to Settings and look for locked cards showing "Requires employer tier 2 or higher".
3. Tier 2+ unlocks Google, Microsoft and LinkedIn integrations and the Suggested Position feature.
4. Contact Canvider support to change your tier.

**Good to know:**
- Tier 2 or higher unlocks Google, Microsoft and LinkedIn integrations plus the Suggested Position feature.
- Tier gating is separate from credits — a high tier with no credits still cannot run AI analysis.
- You cannot change your own tier from the interface; it is set by Canvider after billing.
- Padlocked cards state their requirement, so Settings is the fastest way to see what a tier upgrade would unlock.

**Related:** [Settings Hub](#feature-name-settings-hub) · [LinkedIn Integration](#feature-name-linkedin-integration) · [Employer Credits](#feature-name-employer-credits)

---

## Appendix: Reference Tables

### Application Statuses (defaults)

| Status | Typical meaning |
|--------|-----------------|
| New | Just applied, not yet reviewed |
| Review #1 – #5 | Successive review rounds |
| Ready for Decision | Evaluation complete, awaiting decision |
| Background Check | Verification in progress |
| Final Interview | Last interview stage |
| Reference Check | Contacting references |
| Paused | Temporarily on hold |
| Offer Made | Offer extended |
| Candidate Accepted | Offer accepted |
| Candidate Rejected | Candidate declined |
| Eliminated | Rejected by the company |

Custom statuses can be added at any time (see [Custom Application Statuses](#feature-name-custom-application-statuses)).

### Vacancy Statuses

| Status | Effect |
|--------|--------|
| Draft | Not yet published |
| Active | Live and accepting applications |
| Reviewing / In Review | Under internal review |
| On-Hold | Stops accepting new applications |
| Closed | Removed from boards, still accessible internally |
| Archived | Archived for records |
| Deleted | Permanently removed — cannot be undone |

### Team Roles

| Role | Access |
|------|--------|
| Administrator | Full access to all features and settings |
| Recruiter | Manage job postings, candidates and interviews |
| Hiring Manager | Review candidates and make hiring decisions |
| Interviewer | Conduct interviews and provide feedback |
| Read Only | View-only access to recruitment data |

### AI Credit Costs

| Operation | Credits |
|-----------|---------|
| AI candidate analysis | 1 per candidate |
| Candidate sourcing run | 1 |
| AI Decision Helper comparison | 3 |

New employers start with a default allocation of 5,000 credits. There is no balance display in the
interface — see [Employer Credits](#feature-name-employer-credits).

### Feature Prerequisites at a Glance

| Requirement | Features it gates |
|-------------|-------------------|
| Employer tier 2+ | Google, Microsoft and LinkedIn integrations; calendar sync; Teams/Meet links; LinkedIn sourcing and profile enrichment; Suggested Position |
| Connected email (Google *or* Microsoft) | Sending candidate email from your own mailbox; incoming email capture; calendar sync; Teams/Meet meeting links |
| Connected LinkedIn | Automatic job posting; LinkedIn sourcing; LinkedIn profile enrichment |
| Credits available | AI CV analysis; bulk analysis; candidate sourcing; AI Decision Helper |
| Criteria defined on the job | Criteria Match Analysis; the "Meets all criterias" applicant filter |
| AI analysis already run | Candidate Facts panel; portfolio enrichment tabs; interview questions; highlights and shortcomings |
| Administrator / Recruiter / Hiring Manager / Read Only role | Recruitment Analytics dashboard |

### Data Retention at a Glance

| Data | Retention |
|------|-----------|
| Sourced candidate previews (Discover People) | Deleted automatically 48 hours after discovery |
| Candidate data on a deleted vacancy | Purged 30 days after the vacancy is deleted |
| Talent pool entries | Kept while consent stands, for reuse on future roles |

### Supported Languages

English (default) · Turkish · Polish

---

**Support:** tech-support@canvider.com — or click "Contact Support" at the bottom of the Settings page.
