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:
candidate_description: "A conversation about your background."
- type: offer
name: "Offer"
Vorlagen werden beim Speichern validiert, und die Konfigurationsschlüssel werden dabei strikt geprüft – ein falsch geschriebener oder nicht unterstützter Schlüssel lässt die Validierung mit einem Fehler fehlschlagen, statt stillschweigend ignoriert zu werden. Tippfehler fallen so sofort auf.
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 |
Kandidaten vergüten
Jede Phase kann Kandidaten für ihre Zeit vergüten – am häufigsten eine Take-Home-Aufgabe, aber eine bezahlte Design-Übung oder ein bezahltes Interview funktioniert genauso. Fügen Sie dazu einen verschachtelten payout-Block in die config der Phase ein; sobald ein Kandidat die Phase abschließt, wird eine Auszahlung über den konfigurierten Betrag erstellt. Wie Auszahlungen geprüft und versendet werden, erfahren Sie unter Kandidaten-Auszahlungen.
| Schlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
enabled |
boolean | false | Vergütung für diese Phase aktivieren |
amount |
integer | — | Zu zahlender Betrag in der angegebenen Währung (z. B. 250) |
currency |
string | USD | Dreibuchstabiger Währungscode |
- type: code_assignment
name: "Take-Home Assignment"
config:
candidate_description: "Complete a practical coding exercise."
payout:
enabled: true
amount: 250
currency: USD
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 |
resume_required |
boolean | false | Lebenslauf verlangen – Kandidaten können die Bewerbung nur mit angehängtem PDF- oder Word-Dokument absenden (max. 10 MB) |
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 – wird beim Absenden der Bewerbung durchgesetzt, auf jedem Bewerbungsweg einschließlich der öffentlichen API |
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 |
Wichtig: Um einen Lebenslauf zu verlangen, setzen Sie
resume_required: truein der Phasenkonfiguration. Ein Formularfeld mit dem Namenresumewird ignoriert – der Lebenslauf hat auf dem Bewerbungsformular seinen eigenen Upload und wird getrennt von den benutzerdefinierten Feldern angehängt.- name: resumemittype: fileundrequired: truezu deklarieren bleibt daher wirkungslos.
- type: application_form
name: "Application"
config:
candidate_description: "Tell us about yourself."
screening_enabled: true
screening_message: "We'll review your application shortly."
resume_required: true
fields:
- 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 | 7 | Verfügbare Tage zur Fertigstellung (min: 1) |
estimated_hours |
integer | — | Geschätzter Aufwand in Stunden (z. B. 5) |
instructions |
string | — | Anweisungen, die als Commit im Repository des Kandidaten hinterlegt werden |
grace_period_hours |
integer | 24 | Stunden, die nach Ablauf der Frist noch akzeptiert werden, bevor sie endgültig wird |
allow_extension |
boolean | true | Kandidaten können eine Verlängerung der Frist anfordern |
Um Kandidaten für die Aufgabe zu vergüten, fügen Sie einen payout-Block hinzu – siehe „Kandidaten vergüten“ weiter oben. Die älteren Schlüssel paid, payment_amount und payment_currency werden bei code_assignment weiterhin akzeptiert und in eine gleichwertige Auszahlung umgewandelt; verwenden Sie in neuen Vorlagen aber bevorzugt payout.
- 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: 5
payout:
enabled: true
amount: 250
currency: USD
portfolio_upload
Kandidaten laden Arbeitsproben hoch (Design-Dateien, Schreibproben usw.). Unterstützt Dateitypbeschränkungen, Upload-Limits und externe Links.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Anweisungen, die dem Kandidaten angezeigt werden |
accept |
array | pdf, png, jpg, jpeg, gif, webp |
Erlaubte Dateierweiterungen, ohne führenden Punkt |
max_files |
integer | 10 | Maximale Dateianzahl (min: 1) |
max_file_size_mb |
integer | 25 | Maximale Größe pro Datei in MB |
allow_links |
boolean | true | Kandidaten dürfen zusätzlich externe Links einreichen (z. B. Figma, Behance) |
- type: portfolio_upload
name: "Portfolio Review"
config:
candidate_description: "Share 3-5 examples of your best work."
accept:
- pdf
- png
- jpg
max_files: 5
max_file_size_mb: 50
allow_links: true
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 |
duration_days |
integer | — | Empfohlene Antwortzeit in Tagen – erscheint nur in der Vorlagenvorschau und wird nicht durchgesetzt |
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.
Die Video-Einstellungen sind unter einem verschachtelten Schlüssel video innerhalb von config gruppiert.
| Konfigurationsschlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
candidate_description |
string | — | Anweisungen, die dem Kandidaten angezeigt werden |
video |
hash | — | Video-Einstellungen (siehe unten) |
video-Optionen:
| Schlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
source_type |
string | mux |
mux (hochgeladen) oder oembed (externe Einbettung) |
oembed_url |
string | — | URL für das eingebettete Video (wenn die Quelle oembed ist) |
description |
string | — | Beschreibung oder Kontext zum Video |
min_watch_percentage |
integer | 15 | 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
oembed_url: "https://www.youtube.com/watch?v=example"
description: "A 5-minute overview of our engineering team."
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 | 2 | 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 | 60 | Interviewdauer in Minuten (min: 15) |
interviewers_required |
integer | 1 | Anzahl der Interviewer, die teilnehmen müssen |
includes_roleplay |
boolean | false | Das Interview enthält eine Rollenspiel-Übung |
- type: live_interview
name: "Technical Interview"
config:
candidate_description: "A conversation about your technical skills."
duration_minutes: 90
interviewers_required: 2
reference_check
Referenzen von Kandidaten einholen und überprüfen. Einen eigenen Ablauf zum Einreichen von Referenzen gibt es noch nicht – Kandidaten sehen die Phasenbeschreibung, und references_required erscheint zwar in der Vorlagenvorschau, wird aber nicht durchgesetzt.
| 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 vergüteten Code-Aufgabe, Teambewertung, zwei Interview-Runden, Referenzen und Angebot.
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."
resume_required: true
fields:
- 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: 6
payout:
enabled: true
amount: 250
currency: USD
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: 90
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
- 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 zur Nachverfolgung. - 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 – fügen Sie der Phasenkonfiguration einen
payout-Block hinzu, um Kandidaten für ihre Zeit zu entlohnen (das funktioniert bei jedem Phasentyp). 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 durchgängig 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.