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.
Fonctionnement global
Section titled “Fonctionnement global”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é).
Données utilisées
Section titled “Données utilisées”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
Déclenchement des mails
Section titled “Déclenchement des mails”1. Récupération du template
Section titled “1. Récupération du template”On interroge la collection emailTemplate dans Strapi pour trouver le template approprié :
job_apply_step_fromcorrespond à l’étape précédente (le cas échéant)job_apply_step_tocorrespond à l’étape actuelle
Ces templates contiennent un champ
templateIDcorrespondant à l’identifiant du template dans Brevo.
2. Génération des variables du mail
Section titled “2. Génération des variables du mail”Les paramètres sont remplis dynamiquement selon les données de la candidature :
FIRSTNAME: prénom du candidatENTREPRISENAME: nom de l’entrepriseJOBTITLE: titre du posteREFUSALREASON: 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.
Exception d’envoi mis en place
Section titled “Exception d’envoi mis en place”- Si
appliedestfalseouundefined, 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é.
Exemple de scénario
Section titled “Exemple de scénario”- Le recruteur déplace un candidat de
En coursversEntretien. - Le hook
afterUpdatedétecte le changement. - Un template Brevo est trouvé pour ce passage.
- Le mail d’invitation à l’entretien est automatiquement envoyé via Brevo, avec les données du candidat.
Point d’attention
Section titled “Point d’attention”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.