Skip to content

Envoi automatique d'emails

✉️ Envoi automatique d’e-mails selon les étapes de candidature

Section titled “✉️ Envoi automatique d’e-mails selon les étapes de candidature”

A chaque étape d’une candidature, un mail automatique est envoyé au candidat. Cet envoi automatique est géré directement dans le lifecycle de la table job Apply de Strapi. Les templates email envoyés sont configurés dans Brevo et déclenchés automatiquement selon certaines conditions.

L’envoi des mails est déclenché à deux moments clés :

  • Lors de la création d’une candidature (afterCreate)
  • Lors de la mise à jour d’une candidature (afterUpdate)

Le système repose sur la détection d’un changement d’étape de candidature (job_apply_step) et l’état de l’attribut applied (pour vérifier qu’il s’agit d’une candidature et pas d’un job enregistré).

Lorsqu’une étape de candidature est créée ou modifiée, on récupère la candidature (job-apply) avec :

  • Le prénom et l’email du candidat
  • Le titre de l’offre d’emploi concernée
  • Le nom de l’entreprise
  • La raison de refus éventuelle

On interroge la collection emailTemplate dans Strapi pour trouver le template approprié :

  • job_apply_step_from correspond à l’étape précédente (le cas échéant)
  • job_apply_step_to correspond à l’étape actuelle

Ces templates contiennent un champ templateID correspondant à l’identifiant du template dans Brevo.

Les paramètres sont remplis dynamiquement selon les données de la candidature :

  • FIRSTNAME : prénom du candidat
  • ENTREPRISENAME : nom de l’entreprise
  • JOBTITLE : titre du poste
  • REFUSALREASON : motif de refus (le cas échéant)

3. Programmation de l’envoi (optionnelle)

Section titled “3. Programmation de l’envoi (optionnelle)”

Certains templates dans Strapi possèdent un champ scheduled (nombre de jours).
Cela permet de décaler l’envoi du mail à une date future (ex dans notre cas : J+2) via la fonction sendEmail.

  • Si applied est false ou undefined, aucun mail n’est envoyé car il ne s’agit pas d’une candidature.
  • Si l’offre est un vivier de recrutement (isRecruitmentPool = true), aucun mail n’est envoyé au candidat.
  • Si l’étape (job_apply_step) n’a pas changé, aucun mail n’est déclenché.
  1. Le recruteur déplace un candidat de En cours vers Entretien.
  2. Le hook afterUpdate détecte le changement.
  3. Un template Brevo est trouvé pour ce passage.
  4. Le mail d’invitation à l’entretien est automatiquement envoyé via Brevo, avec les données du candidat.

Actuellement, les mails automatiques ne sont pas envoyés lorsque le recruteur fait un retour en arrière dans les étapes de candidature.

Lors des précédents tests, la désactivation du template à envoyer se faisait directement dans Brevo, mettre en draft l’entrée dans la table emailTemplate ne suffisait pas pour empecher l’envoi du mail.