Logo StartupKit
FR
Hiring Guides

Configuration des modèles de processus

Référence complète pour configurer les modèles de processus de recrutement en YAML -- types d'étapes, options de configuration, évaluateurs et exemples.

Vue d’ensemble

Un modèle de processus définit les étapes que traverse un candidat durant votre pipeline de recrutement. Les modèles sont rédigés en YAML et consistent en une liste ordonnée d’étapes, chacune ayant un type, un nom et une configuration optionnelle.

Lorsque vous créez une offre d’emploi et sélectionnez un modèle, les étapes sont instanciées dans l’ordre. Les candidats progressent à travers chaque étape séquentiellement – de la candidature à l’offre.

Structure de base

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"

Clés de niveau supérieur

Clé Obligatoire Description
stages Oui Liste ordonnée de définitions d’étapes (au moins une)
name Non Nom du modèle (peut également être défini dans le champ du formulaire)
description Non Description du processus au format Markdown
tags Non Liste d’étiquettes textuelles pour la catégorisation
quick_fields Non Champs de métadonnées du candidat (voir Champs rapides ci-dessous)

Clés d’étape

Chaque étape nécessite name et type. Le hash optionnel config et la liste reviewers varient selon le type d’étape.

Clé Obligatoire Description
name Oui Nom d’affichage de l’étape
type Oui L’un des 10 types d’étapes listés ci-dessous
config Non Options de configuration spécifiques au type
reviewers Non Liste d’affectations d’évaluateurs

Référence des types d’étapes

application_form

Le point d’entrée pour les candidats. Collecte des informations structurées via des champs de formulaire personnalisés. Peut optionnellement maintenir les candidats en état de filtrage avant de les faire avancer.

Clé de configuration Type Défaut Description
candidate_description string Instructions affichées au candidat
screening_enabled boolean false Maintenir les soumissions pour revue manuelle avant de les faire avancer
screening_message string Message affiché aux candidats pendant le filtrage actif
fields array Liste de définitions de champs de formulaire (voir ci-dessous)

Options des champs de formulaire :

Clé Obligatoire Type Description
name Oui string Identifiant du champ
type Oui string text, textarea, file, url, select, checkbox, email, phone
required Non boolean Si le champ doit être rempli
label Non string Libellé d’affichage (par défaut : le nom)
placeholder Non string Texte indicatif
max_length Non integer Nombre maximum de caractères (min : 1)
options Non array Choix pour les champs select
- 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

Un exercice de programmation à réaliser chez soi. Lorsque GitHub est connecté, un dépôt privé est créé à partir d’un modèle pour chaque candidat. Inclut la gestion des délais.

Clé de configuration Type Défaut Description
candidate_description string Instructions affichées au candidat
github_template string Dépôt modèle GitHub (par ex., org/hiring-assignment)
duration_days integer Jours accordés pour terminer (min : 1)
estimated_hours string Effort estimé (par ex., "3-8")

Rémunération : Les paiements sont configurés par étape dans l’interface des paramètres de l’étape, pas dans le YAML du modèle. Tout type d’étape peut offrir une rémunération. Consultez Paiements aux candidats pour plus de détails.

- 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: "3-6"

portfolio_upload

Les candidats téléchargent des échantillons de travail (fichiers de design, exemples d’écriture, etc.). Prend en charge les restrictions de types de fichiers et les limites de téléchargement.

Clé de configuration Type Défaut Description
candidate_description string Instructions affichées au candidat
accept array Extensions de fichiers autorisées (par ex., pdf, png, figma)
max_files integer Nombre maximum de fichiers (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

Questions écrites auxquelles les candidats répondent de manière asynchrone. Utile pour le filtrage basé sur des scénarios dans les postes de support, de vente ou de rédaction.

Clé de configuration Type Défaut Description
candidate_description string Instructions affichées au candidat
questions array Liste de définitions de questions

Options des questions :

Clé Obligatoire Type Description
type Oui string Catégorie de la question (par ex., scenario)
prompt Oui string Le texte de la question
- 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

Présente une vidéo aux candidats. Prend en charge les vidéos téléchargées (via Mux) ou les vidéos intégrées depuis des plateformes externes.

Clé de configuration Type Défaut Description
candidate_description string Instructions affichées au candidat
video_source_type string mux (téléchargée) ou oembed (intégration externe)
video_oembed_url string URL de la vidéo intégrée (quand la source est oembed)
video_description string Description ou contexte de la vidéo
video_min_watch_percentage integer Pourcentage minimum de visionnage requis (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

Les candidats enregistrent ou téléchargent une réponse vidéo à une consigne. Utile pour les présentations vidéo, les lettres de motivation vidéo ou les entretiens vidéo asynchrones. Nécessite l’intégration Mux.

Clé de configuration Type Défaut Description
candidate_description string Instructions affichées au candidat
max_duration_seconds integer 120 Durée maximale d’enregistrement en secondes
allow_upload boolean true Permettre aux candidats de télécharger un fichier vidéo pré-enregistré
max_retakes integer Nombre de réenregistrements autorisés (vide = illimité)
- type: video_recording
  name: "Video Introduction"
  config:
    candidate_description: "Record a 2-minute video introducing yourself."
    max_duration_seconds: 120
    allow_upload: true
    max_retakes: 3

team_review

Une étape de revue interne où votre équipe évalue un candidat. Prend en charge les seuils de vote et les règles de véto.

Clé de configuration Type Défaut Description
candidate_description string Message affiché au candidat durant cette étape
voting hash Configuration du vote (voir ci-dessous)

Options de vote :

Clé Type Défaut Description
threshold integer Nombre minimum de votes favorables pour avancer (1-10)
require_all_reviewers boolean false Tous les évaluateurs assignés doivent voter
veto_auto_rejects boolean false Un seul véto rejette automatiquement le candidat
- 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

Un entretien synchrone mené par visioconférence ou en personne. S’intègre avec la planification de calendrier.

Clé de configuration Type Défaut Description
candidate_description string Instructions affichées au candidat
duration_minutes integer Durée de l’entretien en minutes (min : 15)
interviewers_required integer Nombre d’intervieweurs nécessaires (min : 1)
includes_roleplay boolean false Si l’entretien inclut un exercice de jeu de rôle
- type: live_interview
  name: "Technical Interview"
  config:
    candidate_description: "A conversation about your technical skills."
    duration_minutes: 60
    interviewers_required: 2

reference_check

Collectez et vérifiez les références des candidats.

Clé de configuration Type Défaut Description
candidate_description string Instructions affichées au candidat
references_required integer Nombre de références nécessaires (min : 1)
- type: reference_check
  name: "References"
  config:
    candidate_description: "Provide contact details for your references."
    references_required: 2

offer

L’étape finale où vous présentez une offre au candidat. Nécessite généralement peu de configuration.

Clé de configuration Type Défaut Description
candidate_description string Message affiché au candidat
- type: offer
  name: "Offer"
  config:
    candidate_description: "We'd love to have you join the team."

Évaluateurs

Vous pouvez assigner des évaluateurs à n’importe quelle étape. Chaque évaluateur nécessite une adresse e-mail et un rôle.

Clé Obligatoire Description
email Oui Adresse e-mail de l’évaluateur (doit correspondre à un membre de l’équipe)
role Oui reviewer (standard) ou lead (décideur principal)
- 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

Champs rapides

Les champs rapides capturent les métadonnées du candidat au niveau supérieur du modèle. Ils sont affichés dans la barre latérale du candidat pour une consultation rapide.

Clé Obligatoire Type Description
key Oui string Identifiant unique
label Oui string Libellé d’affichage
field_type Non string text (défaut), textarea, select, date
placeholder Non string Texte indicatif
options Non array Choix pour les champs select
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"

Exemple complet

Un modèle complet pour recruter un ingénieur logiciel, incluant le filtrage, un exercice de code, une revue d’équipe, deux tours d’entretiens, des références et une offre. Pour ajouter une rémunération à l’étape d’exercice, configurez les paiements dans l’interface des paramètres de l’étape – consultez Paiements aux candidats.

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
  - key: notice_period
    label: "Notice Period"
    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: "3-8"
    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."

Conseils

  • Commencez par application_form – c’est le point d’entrée naturel qui vous permet de collecter les CV et les informations de base.
  • Terminez par offer – cela maintient le pipeline propre et vous offre une étape finale pour le suivi.
  • Utilisez le filtrage sur le formulaire de candidature pour examiner manuellement les candidats avant qu’ils n’avancent. Cela empêche les candidats non qualifiés de recevoir des exercices.
  • Rémunérez les exercices à domicile – configurez les paiements dans les paramètres de l’étape pour indemniser les candidats. Consultez Paiements aux candidats.
  • Maintenez les processus à moins de 7 étapes – les pipelines trop longs entraînent l’abandon des candidats.
  • Assignez des évaluateurs aux étapes team_review et code_assignment afin que les bonnes personnes soient notifiées automatiquement.
  • Utilisez candidate_description à chaque étape – les candidats voient ce message, donc une communication claire réduit la confusion et les demandes de support.

Tapez pour rechercher...