Retour au blog
Webhooks vs Polling : Construire un bot Slack qui écoute vos emails

Webhooks vs Polling : Construire un bot Slack qui écoute vos emails

Vous voulez automatiser la réception d'emails dans Slack ou Discord ? Arrêtez de faire du 'Polling' toutes les minutes. Passez à une architecture événementielle temps réel avec les Webhooks.

Par Leandre05/01/2026

Imaginons un scénario : Vous gérez le support client d'une petite startup. Vous avez une adresse support@monapp.com. Vous voulez que chaque fois qu'un client écrit à cette adresse, un message soit posté dans le canal #support de votre Slack d'équipe.

Comment faire ?

L'approche naïve : Le Polling (La boucle infinie)

Si vous êtes un jeune développeur, votre premier réflexe sera peut-être d'écrire un script qui tourne en boucle :

  1. Se connecter au serveur mail (POP3/IMAP).
  2. Demander : "Y a-t-il de nouveaux messages ?"
  3. Si non, attendre 60 secondes.
  4. Recommencer.

C'est ce qu'on appelle le Polling. C'est comme demander "On est arrivés ?" toutes les minutes à l'arrière de la voiture. C'est inefficace, ça consomme des ressources serveur inutilement, et il y a toujours un délai (latency) entre l'arrivée du mail et sa détection.

L'approche moderne : Les Webhooks (Don't call us, we'll call you)

Avec les Webhooks, on inverse la logique. Au lieu que ce soit votre serveur qui demande des infos, c'est le serveur mail (ici JunkMail) qui pousse l'info vers vous dès qu'elle arrive.

C'est comme si le chauffeur vous disait : "Dors, je te réveille quand on est arrivés." C'est instantané (Real-Time) et beaucoup plus économe.

Tutoriel : Email vers Slack en 10 minutes

Nous allons utiliser l'API JunkMail pour créer une adresse email, et configurer un Webhook qui notifiera un endpoint Slack à chaque réception.

Prérequis

  • Un compte JunkMail Business (pour l'accès Webhooks).
  • Un Workspace Slack avec les droits d'admin (pour créer une App).
  • (Optionnel) Un serveur simple ou un service comme n8n / Zapier pour transformer la donnée.

Étape 1 : Créer l'Incoming Webhook sur Slack

  1. Allez sur https://api.slack.com/apps et créez une nouvelle App.
  2. Activez "Incoming Webhooks".
  3. Créez un nouveau Webhook pour le canal #support.
  4. Copiez l'URL (ex: https://hooks.slack.com/services/T000/B000/XXXX).

Étape 2 : Configurer la destination

JunkMail envoie un payload JSON brut (avec l'expéditeur, le sujet, le corps). Slack attend un format spécifique ({"text": "..."}). Il nous faut un petit traducteur au milieu. Créons une mini Cloud Function (AWS Lambda ou Vercel Function) ou un script Node.js express :

// server.js (votre endpoint)
app.post('/webhook/email-to-slack', async (req, res) => {
  const email = req.body; // Payload envoyé par JunkMail

  // Formatter pour Slack
  const slackMessage = {
    blocks: [
      {
        type: "section",
        text: {
          type: "mrkdwn",
          text: `🚨 *Nouveau Ticket Support*\n*De:* ${email.from}\n*Sujet:* ${email.subject}`
        }
      },
      {
        type: "section",
        text: {
          type: "mrkdwn",
          text: email.text.substring(0, 500) + "..." // Aperçu du message
        }
      }
    ]
  };

  // Envoyer à Slack
  await axios.post(SLACK_WEBHOOK_URL, slackMessage);
  
  res.status(200).send('OK');
});

Étape 3 : Connecter JunkMail

  1. Allez dans votre Dashboard JunkMail > Developers > Webhooks.
  2. Cliquez sur "Create Webhook".
  3. URL : L'URL de votre serveur (ex: https://mon-api.com/webhook/email-to-slack).
  4. Event : email.received.
  5. Validez.

Étape 4 : Testez !

Envoyez un email depuis votre Gmail personnel vers votre adresse JunkMail. Dans la seconde qui suit, votre Slack devrait vibrer. Magique. ⚡

Pourquoi choisir les Webhooks ?

  1. Latence Zéro : C'est immédiat. Pour du support client ou des alertes de monitoring, chaque seconde compte.
  2. Scalabilité : Que vous receviez 1 email par jour ou 10 000 par heure, votre serveur ne travaille que quand c'est nécessaire. Pas de cycles CPU gaspillés à faire du polling dans le vide.
  3. Simplicité : Pas besoin de gérer des connexions IMAP persistantes, des timeouts ou des reconnexions complexes. C'est juste du HTTP POST standard.

Le moment philo : L'architecture réactive

Le passage du Polling aux Webhooks est une étape de maturité pour un développeur. C'est comprendre que le monde est asynchrone. Les systèmes modernes ne sont pas des monolithes qui questionnent le monde en permanence, ce sont des filets qui réagissent quand on les touche.

Construire une architecture "Event-Driven" (pilotée par les événements) rend vos applications plus robustes, plus découplées et plus faciles à maintenir.

Conclusion

Connecter le vieux monde de l'email (SMTP, 1982) avec le monde moderne du ChatOps (Slack, Discord) n'a jamais été aussi simple grâce aux APIs modernes. JunkMail agit comme une passerelle : il encaisse la complexité du protocole mail et vous livre du JSON propre via HTTP.

Prêt à automatiser vos flux ? Configurez vos Webhooks sur JunkMail Developer.