Prozessvorlagen-Konfiguration
Vollständige Referenz zur Konfiguration von Einstellungsprozessvorlagen mit YAML — Phasentypen, Konfigurationsoptionen, Prüfer und Beispiele.
Überblick
Eine Prozessvorlage legt fest, welche Phasen ein Kandidat in Ihrer Einstellungs-Pipeline durchläuft. Vorlagen werden in YAML geschrieben und bestehen aus einer geordneten Liste von Phasen — jede mit einem Typ, einem Namen und optionaler Konfiguration.
Sobald Sie eine Stellenanzeige erstellen und eine Vorlage auswählen, werden die Phasen der Reihe nach angelegt. Kandidaten durchlaufen die Phasen nacheinander — von der Bewerbung bis zum Angebot.
Grundstruktur
name: My Hiring Process
description: |
A short description of this template.
Supports **Markdown** formatting.
tags:
- engineering
- remote
stages:
- type: application_form
name: "Application"
config:
candidate_description: "Tell us about yourself."
- type: live_interview
name: "Interview"
config:
duration_minutes: 60
- type: offer
name: "Offer"
Schlüssel auf oberster Ebene
| Schlüssel | Erforderlich | Beschreibung |
|---|---|---|
stages |
Ja | Geordnete Liste von Phasendefinitionen (mindestens eine) |
name |
Nein | Vorlagenname (lässt sich auch im Formularfeld festlegen) |
description |
Nein | Markdown-formatierte Beschreibung des Prozesses |
tags |
Nein | Liste von String-Tags zur Kategorisierung |
quick_fields |
Nein | Schnellfelder zum Erfassen von Kandidateninformationen (siehe Schnellfelder weiter unten) |
Phasenschlüssel
Jede Phase benötigt name und type. Der optionale config-Hash und die reviewers-Liste hängen vom jeweiligen Phasentyp ab.
| Schlüssel | Erforderlich | Beschreibung |
|---|---|---|
name |
Ja | Anzeigename der Phase |
type |
Ja | Einer der 10 unten aufgeführten Phasentypen |
config |
Nein | Typspezifische Konfigurationsoptionen |
reviewers |
Nein | Liste der Prüferzuweisungen |
Referenz der Phasentypen
application_form
Der Einstiegspunkt für Kandidaten. Erfasst strukturierte Angaben über benutzerdefinierte Formularfelder. Hält Kandidaten optional in einem Screening-Status, bevor sie weiterkommen.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Anweisungen, die dem Kandidaten angezeigt werden |
screening_enabled |
boolean | true | Einreichungen zur manuellen Prüfung zurückhalten, bevor sie weiterkommen. Standardmäßig aktiviert — explizit auf false setzen, um das Screening zu deaktivieren |
screening_message |
string | — | Nachricht, die Kandidaten bei aktivem Screening angezeigt wird |
fields |
array | — | Liste der Formularfelddefinitionen (siehe unten) |
Formularfeldoptionen:
| Schlüssel | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
name |
Ja | string | Feldbezeichner |
type |
Ja | string |
text, textarea, file, url, select, checkbox, email, phone
|
required |
Nein | boolean | Ob das Feld ausgefüllt werden muss |
label |
Nein | string | Anzeigebeschriftung (Standard ist name) |
placeholder |
Nein | string | Platzhaltertext |
max_length |
Nein | integer | Maximale Zeichenanzahl (min: 1) |
options |
Nein | array | Auswahlmöglichkeiten für select-Felder |
- type: application_form
name: "Application"
config:
candidate_description: "Tell us about yourself."
screening_enabled: true
screening_message: "We'll review your application shortly."
fields:
- name: resume
type: file
required: true
- name: experience_level
type: select
required: true
options:
- "Junior (0-2 years)"
- "Mid (2-5 years)"
- "Senior (5+ years)"
- name: cover_letter
type: textarea
required: false
max_length: 500
code_assignment
Eine Take-Home-Programmieraufgabe. Wenn GitHub verbunden ist, wird für jeden Kandidaten ein privates Repository aus einer Vorlage erstellt. Beinhaltet eine Fristenverwaltung.
Wichtig: Das in
github_templateangegebene Repository muss auf GitHub als Vorlage (Template) markiert sein. Voraussetzungen und Einrichtungsschritte finden Sie unter GitHub Template Repository Setup.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Anweisungen, die dem Kandidaten angezeigt werden |
github_template |
string | — | GitHub-Vorlagen-Repository (z. B. org/hiring-assignment) |
duration_days |
integer | — | Verfügbare Tage zur Fertigstellung (min: 1) |
estimated_hours |
string | — | Geschätzter Aufwand als Freitext (z. B. "4-6 hours") |
Vergütung: Auszahlungen werden pro Phase in den Phaseneinstellungen konfiguriert, nicht im Vorlagen-YAML. Jeder Phasentyp kann eine Vergütung anbieten. Details finden Sie unter Kandidaten-Auszahlungen.
- type: code_assignment
name: "Take-Home Assignment"
config:
candidate_description: "Complete a practical coding exercise."
github_template: "mycompany/hiring-challenge"
duration_days: 7
estimated_hours: "4-6 hours"
portfolio_upload
Kandidaten laden Arbeitsproben hoch (Design-Dateien, Schreibproben usw.). Unterstützt Dateitypbeschränkungen und Upload-Limits.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Anweisungen, die dem Kandidaten angezeigt werden |
accept |
array | — | Erlaubte Dateierweiterungen (z. B. pdf, png, figma) |
max_files |
integer | — | Maximale Dateianzahl (min: 1) |
- type: portfolio_upload
name: "Portfolio Review"
config:
candidate_description: "Share 3-5 examples of your best work."
accept:
- pdf
- png
- jpg
- figma
max_files: 5
questionnaire
Schriftliche Fragen, die Kandidaten asynchron beantworten. Nützlich für szenariobasiertes Screening in Support-, Vertriebs- oder Redaktionsrollen.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Anweisungen, die dem Kandidaten angezeigt werden |
questions |
array | — | Liste der Fragendefinitionen |
Fragenoptionen:
| Schlüssel | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
type |
Ja | string | Fragenkategorie (z. B. scenario) |
prompt |
Ja | string | Der Fragetext |
- type: questionnaire
name: "Written Scenarios"
config:
candidate_description: "Respond to these real-world scenarios."
questions:
- type: scenario
prompt: "A customer reports a billing error. Walk us through your response."
- type: scenario
prompt: "You discover a bug affecting 10% of users. What do you do?"
video
Zeigt dem Kandidaten ein Video. Unterstützt hochgeladene Videos (über Mux) oder eingebettete Videos von externen Plattformen.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Anweisungen, die dem Kandidaten angezeigt werden |
video_source_type |
string | — |
mux (hochgeladen) oder oembed (externe Einbettung) |
video_oembed_url |
string | — | URL für das eingebettete Video (wenn die Quelle oembed ist) |
video_description |
string | — | Beschreibung oder Kontext zum Video |
video_min_watch_percentage |
integer | — | Mindestens erforderlicher Wiedergabeanteil in Prozent (1-100) |
- type: video
name: "Company Introduction"
config:
candidate_description: "Watch this video about our team and culture."
video_source_type: oembed
video_oembed_url: "https://www.youtube.com/watch?v=example"
video_description: "A 5-minute overview of our engineering team."
video_min_watch_percentage: 80
video_recording
Kandidaten nehmen eine Videoantwort auf einen Prompt auf oder laden eine hoch. Nützlich für Videovorstellungen, Video-Anschreiben oder asynchrone Video-Interviews. Erfordert die Mux-Integration.
Die Aufnahmeeinstellungen sind unter einem verschachtelten Schlüssel video_recording innerhalb von config gruppiert.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Anweisungen, die dem Kandidaten angezeigt werden |
video_recording |
hash | — | Aufnahmeeinstellungen (siehe unten) |
video_recording-Optionen:
| Schlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
max_duration_seconds |
integer | 120 | Maximale Aufnahmelänge in Sekunden |
allow_upload |
boolean | true | Kandidaten das Hochladen einer voraufgezeichneten Videodatei erlauben |
max_retakes |
integer | — | Anzahl erlaubter Neuaufnahmen (leer = unbegrenzt) |
- type: video_recording
name: "Video Introduction"
config:
candidate_description: "Record a 2-minute video introducing yourself."
video_recording:
max_duration_seconds: 120
allow_upload: true
max_retakes: 3
team_review
Eine interne Prüfungsphase, in der Ihr Team einen Kandidaten bewertet. Unterstützt Abstimmungsschwellen und Vetoregeln.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Nachricht, die dem Kandidaten während dieser Phase angezeigt wird |
voting |
hash | — | Abstimmungskonfiguration (siehe unten) |
Abstimmungsoptionen:
| Schlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
threshold |
integer | — | Mindestanzahl an Ja-Stimmen zum Weiterkommen (1-10) |
require_all_reviewers |
boolean | false | Alle zugewiesenen Prüfer müssen abstimmen |
veto_auto_rejects |
boolean | false | Ein einzelnes Veto lehnt den Kandidaten automatisch ab |
- type: team_review
name: "Code Review"
config:
candidate_description: "Our team is reviewing your submission."
voting:
threshold: 2
require_all_reviewers: true
veto_auto_rejects: true
live_interview
Ein synchrones Interview per Videoanruf oder persönlich. Lässt sich in die Kalenderplanung integrieren.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Anweisungen, die dem Kandidaten angezeigt werden |
duration_minutes |
integer | — | Interviewdauer in Minuten (min: 15) |
interviewers_required |
integer | — | Anzahl benötigter Interviewer (min: 1) |
includes_roleplay |
boolean | false | Ob das Interview eine Rollenspiel-Übung beinhaltet |
- type: live_interview
name: "Technical Interview"
config:
candidate_description: "A conversation about your technical skills."
duration_minutes: 60
interviewers_required: 2
reference_check
Referenzen von Kandidaten einholen und überprüfen.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Anweisungen, die dem Kandidaten angezeigt werden |
references_required |
integer | — | Anzahl benötigter Referenzen (min: 1) |
- type: reference_check
name: "References"
config:
candidate_description: "Provide contact details for your references."
references_required: 2
offer
Die abschließende Phase, in der Sie dem Kandidaten ein Angebot unterbreiten. Hat in der Regel nur minimale Konfiguration.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Nachricht, die dem Kandidaten angezeigt wird |
- type: offer
name: "Offer"
config:
candidate_description: "We'd love to have you join the team."
Prüfer
Sie können jeder Phase Prüfer zuweisen. Jeder Prüfer benötigt eine E-Mail-Adresse und eine Rolle.
| Schlüssel | Erforderlich | Beschreibung |
|---|---|---|
email |
Ja | E-Mail-Adresse des Prüfers (muss einem Teammitglied entsprechen) |
role |
Ja |
reviewer (Standard) oder lead (primärer Entscheidungsträger) |
- type: team_review
name: "Code Review"
config:
voting:
threshold: 2
reviewers:
- email: [email protected]
role: lead
- email: [email protected]
role: reviewer
- email: [email protected]
role: reviewer
Schnellfelder
Schnellfelder definieren strukturierte Metadaten, die Ihr Team für jeden Bewerber erfasst — etwa Gehaltsvorstellung, Verfügbarkeit, Standortpräferenz oder jedes andere individuelle Signal, das für Ihre Rolle relevant ist. Die Felder erscheinen in der Kandidaten-Seitenleiste.
Wie Sie Felddefinitionen direkt in der Oberfläche verwalten, erfahren Sie unter Kandidaten-Datenfelder.
Schema
| Schlüssel | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
key |
Ja | string | Eindeutiger Bezeichner (nur Kleinbuchstaben und Unterstriche, z. B. salary_expectation) |
label |
Ja | string | Anzeigebeschriftung, die Ihrem Team angezeigt wird |
field_type |
Nein | string | Einer der 4 Feldtypen unten (Standard: text) |
placeholder |
Nein | string | Platzhaltertext für die Eingabe |
options |
Nein | array | Auswahlmöglichkeiten für select-Felder |
Hinweis: Reichhaltigere Feldtypen und Optionen — etwa Zahlen, Bewertungen, KI-Extraktion und Sichtbarkeitsregeln — werden unter
metafield_definitionskonfiguriert, einem separaten Schlüssel auf oberster Ebene. Siehe Kandidaten-Datenfelder.
Feldtypen
| Typ | Beschreibung |
|---|---|
text |
Einzeiliges Texteingabefeld |
textarea |
Mehrzeiliges Texteingabefeld |
select |
Dropdown aus einer festen Auswahlliste |
date |
Datumsauswahl |
Beispiele
quick_fields:
- key: salary_expectation
label: "Salary Expectation"
field_type: text
placeholder: "$80,000 - $100,000"
- key: start_date
label: "Earliest Start Date"
field_type: date
- key: work_authorization
label: "Work Authorization"
field_type: select
options:
- "US Citizen"
- "Permanent Resident"
- "Requires Sponsorship"
- key: source
label: "Source / Referral"
field_type: text
placeholder: "e.g. LinkedIn, referral from..."
Vollständiges Beispiel
Eine vollständige Vorlage für die Einstellung eines Software Engineers — einschließlich Screening, einer Code-Aufgabe, Teambewertung, zwei Interview-Runden, Referenzen und Angebot. Um der Aufgaben-Phase eine Vergütung hinzuzufügen, konfigurieren Sie die Auszahlungen in den Phaseneinstellungen — siehe Kandidaten-Auszahlungen.
name: Software Engineer - Standard
description: |
Comprehensive process for mid-to-senior software engineers.
Includes a take-home assignment with team code review.
tags:
- engineering
- technical
- assignment
quick_fields:
- key: salary_expectation
label: "Salary Expectation"
field_type: text
placeholder: "e.g. $120k - $150k"
- key: notice_period
label: "Notice Period"
field_type: text
- key: location_preference
label: "Location Preference"
field_type: text
stages:
- type: application_form
name: "Application"
config:
candidate_description: "Tell us about yourself and your experience."
screening_enabled: true
screening_message: "We're reviewing your application."
fields:
- name: resume
type: file
required: true
- name: github_url
type: url
required: false
- name: motivation
type: textarea
required: true
max_length: 500
- type: code_assignment
name: "Take-Home Assignment"
config:
candidate_description: "Complete a practical coding exercise at your own pace."
github_template: "mycompany/hiring-assignment"
duration_days: 8
estimated_hours: "5-7 hours"
reviewers:
- email: [email protected]
role: lead
- type: team_review
name: "Code Review"
config:
candidate_description: "Our team reviews your code submission."
voting:
threshold: 2
require_all_reviewers: true
veto_auto_rejects: true
reviewers:
- email: [email protected]
role: lead
- email: [email protected]
role: reviewer
- type: live_interview
name: "Technical Interview"
config:
candidate_description: "A conversation about your technical skills."
duration_minutes: 75
interviewers_required: 2
- type: live_interview
name: "Culture & Values"
config:
candidate_description: "Get to know the team and learn about our culture."
duration_minutes: 45
interviewers_required: 1
- type: reference_check
name: "References"
config:
references_required: 2
- type: offer
name: "Offer"
config:
candidate_description: "We'll present you with an offer to join the team."
Tipps
-
Beginnen Sie mit
application_form— das ist der natürliche Einstiegspunkt und ermöglicht das Erfassen von Lebensläufen und grundlegenden Angaben. -
Enden Sie mit
offer— das hält die Pipeline übersichtlich und gibt Ihnen eine abschließende Phase fürs Tracking. - Nutzen Sie das Screening im Bewerbungsformular, um Kandidaten manuell zu prüfen, bevor sie weiterkommen. So verhindern Sie, dass ungeeignete Kandidaten Aufgaben erhalten.
- Vergüten Sie Take-Home-Aufgaben — konfigurieren Sie Auszahlungen in den Phaseneinstellungen, um Kandidaten zu entlohnen. Siehe Kandidaten-Auszahlungen.
- Halten Sie Prozesse unter 7 Phasen — lange Pipelines führen zu Kandidatenabbrüchen.
-
Weisen Sie Prüfer den
team_review- undcode_assignment-Phasen zu, damit die richtigen Personen automatisch benachrichtigt werden. -
Verwenden Sie
candidate_descriptionin jeder Phase — Kandidaten sehen diese Nachricht, daher reduziert klare Kommunikation Verwirrung und Supportanfragen. -
Erfassen Sie häufige Signale mit
quick_fields— fügen Sie Felder wie Gehaltsvorstellung, Verfügbarkeit und Standort hinzu, damit Ihr Team sie konsistent in der Kandidaten-Seitenleiste festhält. -
Brauchen Sie reichhaltigere Typen oder KI-Extraktion? — Zahlen, Bewertungen, automatische KI-Befüllung und Sichtbarkeitsregeln liegen unter
metafield_definitions. Siehe Kandidaten-Datenfelder.