StartupKit
EN

Candidate Data Fields

How to define custom data fields on job postings to capture structured candidate information with optional AI extraction and privacy controls.

Why It Matters

Every role is different, and generic application forms leave gaps. Candidate data fields let you attach structured, queryable data to each application: salary expectations, availability, location preferences, custom scores, or anything else your team tracks. When AI extraction is enabled, Kit reads the candidate’s cover letter and resume to fill these fields automatically, cutting manual data entry across hundreds of applications. For what a resume rarely says, you can ask the candidate right after they apply.

What Are Candidate Data Fields

Each job posting has its own set of data field definitions (also called metafield definitions). A field definition specifies:

  • Label: what the field is called in the UI
  • Key: a stable identifier used in automations and exports
  • Field type: the shape of the data (text, number, date, etc.)
  • Visibility: who can see the field (everyone or managers only)
  • AI extraction: whether Kit should attempt to populate the field from uploaded documents
  • Ask candidates: whether candidates get an optional question for the field after they apply

Fields live on the job posting, not on the application form itself. Candidates never see a field’s label, key or values; they are internal data captured by your team, extracted by AI, or answered by the candidate. The only part a candidate sees is the question you write for a field you ask candidates about.

Field Types

Kit supports nine field types. Choose the one that best fits the data you want to capture.

Type Description Good For
text Single-line free text Salary expectation, source, location
textarea Multi-line free text Interview notes, recruiter observations
number Numeric value Years of experience, test score
date Calendar date Availability date, offer expiry
select Single choice from a predefined list Stage fit, department match
boolean Yes / No toggle Has work permit, references provided
url Web address Portfolio link, LinkedIn, GitHub
rating Integer score up to a configured max (default 5) Culture fit, technical skill rating
tags Multiple values from a predefined list Skills confirmed, interview panel

Adding Fields

Open a job posting for editing and scroll to its Candidate Data Fields section. Click Add Field to open the field form.

Form Field Required Notes
Label Yes Shown in the UI. Kit generates a key from it until you edit the key manually.
Key Yes Lowercase snake_case. Auto-generated from the label and permanent once the field is added; see Field Keys.
Field Type Yes Choose from the nine types above.
Placeholder No Hint text shown when the field is empty. On an asked field, candidates see it as the example answer.
Required No Marks the field as required for completeness tracking.
Private (managers only) No Hides the field from non-manager team members.
AI extraction No Enables automatic population from uploaded documents. Requires an AI prompt.
Ask candidates No Asks candidates the field as an optional question after they apply. Requires a question.
Question candidates see When asking Up to 300 characters. Draft with AI writes one for you.

Fields are ordered. Drag to reorder them after creation. Asked questions follow the same order.

Default Fields

When you add your first field, Kit offers four commonly used defaults as a starting point. Three come with AI extraction enabled and prepared prompts; Source / Referral is filled in manually.

Key Label Type AI Prompt
salary_expectation Salary Expectation text Extracts expected salary, compensation range, or rate
availability Availability / Start Date text Extracts start date or notice period
source Source / Referral text No AI extraction; filled in manually
location_preference Location Preference text Extracts location, city, country, or remote preference

These defaults are a template, not a requirement. Edit, remove, or skip them as needed.

Select and Tags Options

When the field type is select or tags, a Choices textarea appears. Enter one option per line (or comma-separated). These become the allowed values for the field.

Senior
Mid-level
Junior

For select, the candidate record stores one choice. For tags, it stores an array; multiple choices can apply to a single application. When you ask candidates a tags field, its choices are suggestions: candidates can pick any of them and add their own.

You can update the choices list after fields are created. Existing values on applications are preserved even if a choice is removed from the list.

Visibility Controls

Each field has a visibility setting that controls which team members can see it.

Visibility Who Can See
everyone (default) All team members with access to the job posting
managers_only Admins and team members designated as hiring managers for the job

Use managers_only for sensitive fields like salary expectations or compensation-related notes that you don’t want shared with every interviewer.

The Private (managers only) checkbox on the field form sets this visibility. Fields are visible to everyone by default.

Asking Candidates

A resume rarely says where someone is based or whether they have carried a pager, so AI extraction leaves those fields empty. The candidate knows. Turn on Ask candidates for a field and Kit asks it as an optional question right after the candidate applies.

Writing the Question

Open the field, check Ask candidates and fill in Question candidates see. Draft with AI writes a question from the field’s label, in the job’s communication language. When the draft fails, Kit leaves you a sentence to finish instead. The button appears only when your account can use AI.

Candidates see only the question, never the label, key, AI prompt or any value, so write it for them, not in your team’s shorthand. A field labelled “Heavy Codex / Claude user” becomes “How often do you use AI coding tools in your work?”. Put an example answer in Placeholder, and anything the candidate needs to know, such as what a rating of 5 means, in the question itself.

  • Up to 8 fields per job posting can be asked. The Candidate Data Fields header shows how many are asked, and from 6 a note reminds you that fewer questions get more answers
  • Candidates see the questions in field order, so put quick ones (yes/no, a choice) first
  • Asked fields carry a Candidate question chip in the field list
  • Once a candidate has answered a field, its type is locked

Ask candidates and AI extraction are separate switches. With both on, the candidate’s answer becomes the value and the AI’s read of the resume is kept beside it as a hint. A Private (managers only) field can be asked too: the candidate sees just the question, and the answer stays visible to managers only.

Who Is Asked, and When

Candidates who apply with a resume through your career portal see the questions on the page that confirms their application. On a custom career site built on the Public Jobs API, they see them there only if the site shows them. Either way, the confirmation email links to the questions. Imported CVs, applications from email, LinkedIn auto-submits and applications without a resume get no questions.

A candidate can answer and change their own answers for 14 days after applying. The questions close earlier if the application is rejected or withdrawn, or the candidate is hired.

A field is not asked when:

  • Your team already filled it in or corrected it by hand. A candidate answer never replaces your team’s value
  • It is part of an open clarification request; it can be asked once that request closes

Skipping is invisible. You don’t see which questions a candidate skipped, and Kit sends no notification when a candidate answers.

Where the Answers Show Up

A candidate’s answer fills the field in Candidate Insights on the application, with the Candidate source badge and “after applying” plus the date. When AI extraction is on for the field, a second line shows what the AI read in the resume: “AI read:” with the value and its confidence, or AI agrees when both match. Kit checks for a match on yes/no, select, rating, number and date fields only; for text, links and tags you always see the AI’s value. When the resume says nothing about it, there is no AI line.

AI re-extraction never overwrites a candidate’s answer, just as it never overwrites a value your team set.

Every answer is checked against the field type: a number field takes only a number, a select field only one of its choices, a URL field only a web link. Your team’s edits in the application and through the AI assistant follow the same rules, and emptying a value clears the field.

Field Keys

The key is a stable, lowercase identifier for the field. It is used in data exports, process template automations, and AI extraction schemas.

Rules for valid keys:

  • Must start with a lowercase letter (a-z)
  • Can contain lowercase letters, digits, and underscores (a-z, 0-9, _)
  • Must be unique within the job posting

Kit generates a key automatically from the label when you type it. For example, the label “Salary Expectation” produces the key salary_expectation. Auto-generated keys are truncated to 50 characters. There is no hard length limit on a key you set manually, but keeping keys short and readable is recommended. You can override the generated key before you add the field.

Warning

The key is permanent once the field is added. Data exports, Process Template automations, and AI extraction schemas all match on the key string, so Kit doesn’t let you change it afterwards. To retitle a field, edit its label. Get the key right before you add the field.

If a label starts with a digit (e.g., “3D experience”), the generated key is prefixed with f_ to satisfy the leading-letter rule: f_3d_experience.

Process Template Integration

When you define candidate data fields on a job posting that was created from a Process Template, those fields apply only to that job. To standardize fields across all jobs using a template, add the field definitions to the template itself; new job postings created from the template will inherit them. To carry a candidate question, set ask_candidates: true and a candidate_prompt on the field in the template’s metafield_definitions.

AI-extractable fields automatically participate in the document ingestion pipeline. When a candidate uploads a resume or cover letter during an Application Form stage, Kit runs all enabled extraction prompts in a single pass and populates the matching fields on the application.

Quick Checklist

  • Open the job posting and go to Candidate Data Fields
  • Add fields relevant to this role (or insert defaults as a starting point)
  • Set the field type to match the shape of data you want (select, rating, tags, etc.)
  • Add choices for select and tags fields
  • Enable AI extraction on fields that can be inferred from cover letters or resumes, and write a clear extraction prompt
  • Turn on Ask candidates for the few fields a resume rarely answers, and write each question in plain, neutral words
  • Mark sensitive fields (e.g., salary) as Private (managers only)
  • Verify the auto-generated key is readable and meaningful before saving
  • If you want these fields on all future jobs, add them to your Process Template instead

Type to search...