Skip to main content
Chaque appel crée un candidat à la première colonne du pipeline de recrutement, et dépose les réponses du formulaire en note sur sa fiche. Même endpoint et même jeton que le webhook leads. L’URL complète est affichée dans Réglages → Tags & Webhook, section Webhook recrutement.

Exemple

Champs du corps

string
required
E-mail du candidat. Sert à reconnaître une candidature déjà reçue.
string
Nom complet, découpé automatiquement en prénom et nom. Obligatoire si first_name est absent.
string
Prénom, à la place de name.
string
Nom.
string
Téléphone (40 caractères maximum).
string
Poste visé (Closer, Setter…).
string
Identifiant (UUID) du pipeline de recrutement. Prioritaire sur pipeline.
string
Nom exact du pipeline de recrutement (sans tenir compte des majuscules).
string
Origine de la candidature (tally, typeform…). Par défaut : webhook.
object
Réponses libres du formulaire, sous la forme { "Question": "réponse" }. Chaque paire devient une ligne de la note déposée sur la fiche.
Sans pipeline_id ni pipeline, la candidature va dans le pipeline de recrutement actif par défaut. Aucun pipeline n’est créé automatiquement.

Candidat déjà reçu

Si un candidat avec le même e-mail existe déjà dans le même pipeline, aucune seconde fiche n’est créée : la nouvelle soumission est ajoutée en note sur la fiche existante, et la réponse vaut "action": "existing".

Réponse

string
Identifiant du candidat.
string
created : nouvelle fiche. existing : candidat déjà présent, note ajoutée.

Erreurs

Les erreurs de ce webhook ont la forme :

Avec Tally ou Typeform

Tally et Typeform n’envoient pas ce format nativement : Tally poste ses réponses sous data.fields[], Typeform sous form_response.answers[]. Coller cette URL directement dans leurs réglages de webhook ne fonctionnera pas.
Passez par un intermédiaire qui remet les champs à plat (Make, Zapier, n8n) : le formulaire déclenche le scénario, et un module HTTP envoie le JSON ci-dessus à ScaleFlow, avec l’en-tête Authorization: Bearer VOTRE_JETON.