---
title: "Automatisez votre newsletter avec n8n, Bright Data et OpenAI"
slug: n8n-bright-data-openai-newsletter-automation
date: 2025-05-06T10:45:07+00:00
modified: 2025-11-04T08:52:06+00:00
permalink: https://brightdata.fr/blog/donnees-web/n8n-bright-data-openai-newsletter-automation
type: blog
---

[ Blog ](https://brightdata.fr/blog "Blog") / [Données Web](https://brightdata.fr/blog/donnees-web)







 [Données Web](https://brightdata.fr/blog/donnees-web)

# Automatisez votre newsletter avec n8n, Bright Data et OpenAI

Apprenez à automatiser une newsletter intelligente en utilisant n8n, Bright Data et OpenAI. Récupérez des données, générez du contenu et envoyez des e-mails personnalisés.

 9 min de lecture





 [ ![Jacob Nulty](https://media.brightdata.fr/2024/12/Jacob-Nulty-50x50.jpg) ](https://brightdata.com/blog/authors/jake-nulty)

 [Jake Nulty

Technical Writer

 ](https://brightdata.com/blog/authors/jake-nulty)





 ![Forms + Bright Data + GPT-4o-mini integration on n8n blog image](https://media.brightdata.fr/2025/03/Forms-Bright-Data-GPT-4o-mini-integration-on-n8n.svg)





Imaginez que vous puissiez lancer une newsletter entièrement automatisée. Avec un minimum de codage et quelques identifiants d’API, c’est désormais possible. [n8n](https://n8n.io), [Bright Data](/) et [OpenAI](https://openai.com/) nous donnent la possibilité de faire exactement cela.

Aujourd’hui, nous allons vous montrer à quel point ce processus est facile !

## Pour commencer

Nous commencerons par [accéder au flux de travail](https://n8n.io/workflows/3304-custom-deal-recommendations-by-email-using-forms-bright-data-and-gpt-4o-mini/) (vous pouvez commencer à l’utiliser gratuitement). Cliquez sur le bouton intitulé “Use workflow” (utiliser le flux de travail) en haut de cet article. Lorsque vous y êtes invité, assurez-vous de lancer une instance auto-hébergée de n8n.

![Utiliser le flux de travail n8n](https://media.brightdata.com/2025/03/Use-n8n-Workflow-1.png)### Auto-hébergement n8n

```none
sudo snap install docker
```

Démarrez docker, et faites fonctionner n8n.

```none
sudo docker volume create n8n_data
sudo docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
```

### Installation des nœuds communautaires

Il est maintenant temps d’installer quelques nœuds communautaires. Allez dans “Paramètres” et cliquez sur “Nœuds communautaires”.

![Installer un nœud communautaire](https://media.brightdata.com/2025/03/Install-a-Community-Node.png)Dans la zone de saisie “npm”, entrez le nœud Bright Data.

```none
n8n-nodes-brightdata
```

Procédez ensuite de la même manière pour le générateur de documents.

```none
n8n-nodes-document-generator
```

![Ajout d'un générateur de documents](https://media.brightdata.com/2025/03/Adding-Document-Generator.png)Une fois que vous avez installé ces nœuds, fermez votre instance Docker avec `ctrl+c.`

Ensuite, redémarrez-le.

```none
sudo docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
```

Vous pouvez consulter la documentation complète sur l’installation des nœuds communautaires [ici.](https://docs.n8n.io/integrations/community-nodes/installation/gui-install/#install-a-community-node)

## Obtenir vos clés d’API

### Bright Data

Si vous ne l’avez pas encore fait, vous devez vous inscrire à [Web Unlocker](/products/web-unlocker). Cet outil offre toutes sortes de fonctionnalités de scraping intéressantes, comme le [contournement des CAPTCHA](/blog/brightdata-in-practice/how-to-bypass-captcha-using-web-unlocker) et l’intégration de proxy. Dans l’aire de jeu, vous pouvez obtenir votre clé API.

![Obtenir la clé API de Bright Data](https://media.brightdata.com/2025/03/Get-Bright-Data-API-Key.png)Prenez cette clé et conservez-la dans un endroit sûr.

### OpenAI

Depuis le tableau de bord de l’OpenAI, vous pouvez voir et créer de nouvelles clés dans l’[onglet Clés API.](https://platform.openai.com/api-keys)

![Clés API OpenAI](https://media.brightdata.com/2025/03/OpenAI-API-Keys.png)Là encore, conservez vos clés en lieu sûr.

### SMTP

Pour le SMTP, j’utilise [Elastic Email](https://elasticemail.com/). Avec leur plan gratuit, vous ne pouvez envoyer des courriels qu’à vous-même, mais c’est suffisant pour ce tutoriel.

**Note : J’ai rencontré une erreur lors de la création de la connexion SMTP. La désactivation de SSL a résolu le problème.**

![Désactivé SSL](https://media.brightdata.com/2025/03/Turned-Off-SSL.png)Avec SMTP, quel que soit le client que vous utilisez (Elastic Email ou autre), vous devez enregistrer votre nom d’utilisateur, votre mot de passe et vos détails de connexion. Avec Elastic Email, vous pouvez les voir [ici](https://app.elasticemail.com/api/settings/manage-smtp).

![Obtenez vos lettres de noblesse en matière de SMTP](https://media.brightdata.com/2025/03/Get-Your-SMTP-Creds.png)## Ajustement du flux de travail

### Obtenir le site avec Web Unlocker

Cliquez avec le bouton droit de la souris sur l’icône Bright Data dans votre flux de travail et cliquez sur “Ouvrir”. Cliquez sur l’icône en forme de crayon pour modifier vos paramètres.

![Modifier les données lumineuses](https://media.brightdata.com/2025/03/Edit-Bright-Data.png)Ajoutez votre clé API Web Unlocker dans la section “Token”.

![Ajouter la clé API de Web Unlocker](https://media.brightdata.com/2025/03/Add-Web-Unlocker-API-Key.png)Maintenant, ajustons notre schéma pour que tout fonctionne correctement. En bas des paramètres, assurez-vous que le format est défini sur “JSON”. Dans l’image ci-dessous, notre url est `https://www.mediamarkt.de/,` remplacez-la par l’url que vous souhaitez récupérer. Remplacez le nom de la zone par le nom de votre propre zone de déverrouillage web.

![Définir le format à JSON](https://media.brightdata.com/2025/03/Set-Format-to-JSON.png)### Extraction du code HTML

Maintenant, assurons-nous que notre extraction HTML est configurée correctement. Assurez-vous que votre “Source Data” est réglée sur “JSON”. Les valeurs d’extraction doivent correspondre à ce que vous voyez dans l’image ci-dessous : Clé : `titre`, Sélecteur CSS : `titre`, Valeur de retour : `Texte`. Si vous travaillez avec un site différent, vous pouvez adapter ces champs à vos besoins, mais si une page n’a pas de `corps` ou de `titre`, elle ne vaut probablement pas la peine d’être extraite de toute façon.

![Propriétés HTML](https://media.brightdata.com/2025/03/HTML-Properties.png)Avant de le fermer, faites défiler la page vers le bas et faites correspondre ces autres champs : Clé : `body`, Sélecteur CSS : `body`, Valeur de retour : `Texte.`

![Autres propriétés HTML](https://media.brightdata.com/2025/03/More-HTML-Properties.png)### Transmission des données à ChatGPT

ChatGPT va analyser nos données pour nous. Grâce à la puissance des LLM, nous n’avons même pas besoin d’écrire un analyseur. Pour en savoir plus sur le scraping avec des modèles d’IA [, cliquez ici](/blog/donnees-web/web-scraping-with-claude). Le processus est assez simple : *nous donnons à ChatGPT une page web, et il recrache une liste propre de produits.*

Il est maintenant temps de configurer votre connexion ChatGPT. Ouvrez les paramètres du nœud intitulé ” Generate List of Deals by Category ” (Générer une liste d’offres par catégorie). Ajoutez votre clé d’API OpenAI de la même manière que vous avez ajouté votre clé d’API Bright Data. Assurez-vous ensuite que les champs suivants sont corrects : Resource : `Texte`, Operation : `Message a Model`. Si vous souhaitez utiliser un autre modèle, n’hésitez pas à le changer, mais nous utilisons GPT-4o mini.

![Paramètres OpenAI](https://media.brightdata.com/2025/03/OpenAI-Settings.png)Descendez jusqu’en bas et assurez-vous que les autres champs sont corrects.

![Paramètres OpenAI Partie 2](https://media.brightdata.com/2025/03/OpenAI-Settings-Part-2.png)### Extraction des résultats de ChatGPT

Ouvrez maintenant les paramètres du nœud intitulé “Extraire des éléments des résultats”. Assurez-vous que le champ “Fields to Split Out” est défini sur `message.content.results`.

![Paramètres d'extraction de ChatGPT](https://media.brightdata.com/2025/03/ChatGPT-Extraction-Settings.png)### Générer votre document HTML

Il est maintenant temps de générer votre document HTML. Il s’agit du code HTML brut qui constitue l’e-mail proprement dit. Si vous exécutez un test de flux de travail, vous pouvez en fait glisser et déposer des valeurs d’entrée dans le modèle HTML. Assurez-vous que la “Chaîne du modèle” est définie sur `Expression`.

![Rédaction de la structure HTML](https://media.brightdata.com/2025/03/Writing-Your-HTML-Structure.png)Si vous le souhaitez, vous pouvez copier et coller mon modèle HTML ci-dessous. Le HTML ci-dessous n’est pas obligatoire, il est juste là pour vous aider à démarrer. Vous pouvez styliser vos données comme vous le souhaitez – assurez-vous simplement d’insérer les données JSON correctement.

```none
<h1>{{ $json.name }}</h1>

<p>{{ $json.description }}</p>

<a href={{ $('Generate List of Deals by Category').item.json.message.content.results[0].link }}>
    {{ $('Generate List of Deals by Category').item.json.message.content.results[0].link }}
</a>

<h2>{{ $('Generate List of Deals by Category').item.json.message.content.results[1].name }}</h2>
<ul>
    <li><p>{{ $('Generate List of Deals by Category').item.json.message.content.results[1].description }}</p></li>
    <li>{{ $('Generate List of Deals by Category').item.json.message.content.results[1].price }}</li>
    <li>
        <a href={{ $('Generate List of Deals by Category').item.json.message.content.results[1].link }}>
            {{ $('Generate List of Deals by Category').item.json.message.content.results[1].link }}
        </a>
    </li>
</ul>

<h2>{{ $('Generate List of Deals by Category').item.json.message.content.results[2].name }}</h2>
<ul>
    <li><p>{{ $('Generate List of Deals by Category').item.json.message.content.results[2].description }}</p></li>
    <li>{{ $('Generate List of Deals by Category').item.json.message.content.results[2].price }}</li>
    <li>
        <a href={{ $('Generate List of Deals by Category').item.json.message.content.results[2].link }}>
            {{ $('Generate List of Deals by Category').item.json.message.content.results[2].link }}
        </a>
    </li>
</ul>

<h2>{{ $('Generate List of Deals by Category').item.json.message.content.results[3].name }}</h2>
<ul>
    <li><p>{{ $('Generate List of Deals by Category').item.json.message.content.results[3].description }}</p></li>
    <li>{{ $('Generate List of Deals by Category').item.json.message.content.results[3].price }}</li>
    <li>
        <a href={{ $('Generate List of Deals by Category').item.json.message.content.results[3].link }}>
            {{ $('Generate List of Deals by Category').item.json.message.content.results[3].link }}
        </a>
    </li>
</ul>

<h2>{{ $('Generate List of Deals by Category').item.json.message.content.results[4].name }}</h2>
<ul>
    <li><p>{{ $('Generate List of Deals by Category').item.json.message.content.results[4].description }}</p></li>
    <li>{{ $('Generate List of Deals by Category').item.json.message.content.results[4].price }}</li>
    <li>
        <a href={{ $('Generate List of Deals by Category').item.json.message.content.results[4].link }}>
            {{ $('Generate List of Deals by Category').item.json.message.content.results[4].link }}</a></li>
</ul>

<h2>{{ $('Generate List of Deals by Category').item.json.message.content.results[5].name }}</h2>
<ul>
    <li><p>{{ $('Generate List of Deals by Category').item.json.message.content.results[5].description }}</p></li>
    <li>{{ $('Generate List of Deals by Category').item.json.message.content.results[5].price }}</li>
    <li>
        <a href={{ $('Generate List of Deals by Category').item.json.message.content.results[5].link }}>
            {{ $('Generate List of Deals by Category').item.json.message.content.results[5].link }}
        </a>
    </li>
</ul>
```

### Notification de l’utilisateur par courrier électronique

Il est maintenant temps de se connecter au serveur SMTP. Si vous n’avez pas encore ajouté vos clés API, cliquez sur l’icône “crayon” pour modifier les détails de votre connexion. Remplacez “From Email” par l’email à partir duquel vous enverrez votre message. Donnez à l'”Objet” la valeur que vous souhaitez. Veillez à ce que le “Format de l’e-mail” soit `HTML`.

![Paramètres du courrier électronique](https://media.brightdata.com/2025/03/Email-Settings.png)Maintenant, ajoutez les informations d’identification à votre compte SMTP. Vous avez besoin de l’utilisateur, du mot de passe, de l’hôte et du port.

![Informations d'identification SMTP](https://media.brightdata.com/2025/03/SMTP-Credentials.png)### Informer l’utilisateur de la réussite

Maintenant, créons la page qui indique à l’utilisateur que tout est terminé. Remplacez les champs “Completion Message” et “Completion Title” par ce que vous voulez. Tous les autres champs doivent rester inchangés : nous informons simplement l’utilisateur que le processus est terminé.

![Paramètres d'achèvement](https://media.brightdata.com/2025/03/Completion-Settings.png)## L’e-mail qui en résulte

Maintenant que nous avons fini de tout configurer, essayons-le. Cliquez sur “Test Workflow”. Vous devriez obtenir une fenêtre contextuelle comme celle-ci. Choisissez votre catégorie et entrez une adresse e-mail pour recevoir vos offres.

![Formulaire d'inscription](https://media.brightdata.com/2025/03/Entry-Form.png)Cliquez sur “Obtenir des offres”. Une fois que vous avez soumis vos informations, votre fenêtre contextuelle devrait ressembler à ceci.

![Formulaire complété](https://media.brightdata.com/2025/03/Completed-Form.png)Enfin, vérifiez votre boîte de réception. Si vous ne voyez pas tout de suite l’e-mail relatif aux bonnes affaires, regardez dans votre dossier de courrier indésirable. La plupart des services de messagerie modernes marquent les courriers de masse de ce type comme étant des spams. Une fois que vous avez trouvé l’e-mail, ouvrez-le et jetez un coup d’œil à vos offres !

![Offres par courriel](https://media.brightdata.com/2025/03/Deals-Email.png)## Conclusion

Avec n8n, Bright Data et OpenAI, vous disposez désormais des outils nécessaires à l’automatisation complète d’une newsletter intelligente, basée sur des données. En exploitant Web Unlocker pour l’extraction de données, ChatGPT pour la génération de contenu et SMTP pour l’envoi d’e-mails, vous pouvez créer des recommandations d’affaires personnalisées avec un minimum d’efforts.

Mais pourquoi s’arrêter là ? Bright Data propose une série de solutions de données pour améliorer encore votre automatisation :

- Procurations résidentielles
- Scraping Browser
- API Scraper
- Ensembles de données

Faites passer l’automatisation de votre marketing par e-mail au niveau supérieur. Inscrivez-vous pour un essai gratuit dès aujourd’hui et commencez à construire des flux de travail plus intelligents et plus efficaces !



Contacter ventesEssai gratuit![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Table des matières







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

[See pricing](/pricing/web-scraper "See pricing")

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Automatisez+votre+newsletter+avec+n8n%2C+Bright+Data+et+OpenAI&u=https://brightdata.fr/blog/donnees-web/n8n-bright-data-openai-newsletter-automation) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Automatisez+votre+newsletter+avec+n8n%2C+Bright+Data+et+OpenAI&url=https://brightdata.fr/blog/donnees-web/n8n-bright-data-openai-newsletter-automation) [ ](http://www.reddit.com/submit?title=Automatisez+votre+newsletter+avec+n8n%2C+Bright+Data+et+OpenAI&url=https://brightdata.fr/blog/donnees-web/n8n-bright-data-openai-newsletter-automation)







##  Vous pourriez aussi être intéressé par

 [ ![OpenHuman with Bright Data](https://media.brightdata.fr/2026/09/OpenHuman-with-Bright-Data.png) ](https://brightdata.fr/blog/ai/openhuman-with-bright-data "Accès Web Prêt pour la Production dans OpenHuman via le CLI Bright Data")

 [AI



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Accès Web Prêt pour la Production dans OpenHuman via le CLI Bright Data

Intégrez le CLI Bright Data avec OpenHuman pour permettre un accès web prêt pour la production et la collecte de données pour les agents IA.



 09-Sep-2026

 14 min de lecture

 ](https://brightdata.fr/blog/ai/openhuman-with-bright-data)

 [ ![Multimodal Web Scraping with MiniMax](https://media.brightdata.fr/2026/09/Multimodal-Web-Scraping-with-MiniMax.png) ](https://brightdata.fr/blog/donnees-web/multimodal-web-scraping-with-minimax "Scraping Web Multimodal avec MiniMax")

 [Données Web



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Scraping Web Multimodal avec MiniMax

Associez Bright Data Web Unlocker avec la vision MiniMax M3 pour extraire des données structurées à partir d’images et de captures d’écran de pages web.



 09-Sep-2026

 5 min de lecture

 ](https://brightdata.fr/blog/donnees-web/multimodal-web-scraping-with-minimax)

 [ ![The 10 Best CLI Tools for Codex in 2026](https://media.brightdata.fr/2026/08/The-10-Best-CLI-Tools-for-Codex-in-2026.png) ](https://brightdata.fr/blog/ai/best-cli-tools-for-codex "Les 10 meilleurs outils CLI pour Codex en 2026 – Testés & Classés")

 [AI



 ![Daniel Shashko](https://media.brightdata.fr/2022/04/Daniel-Shashko-2-50x50.png)

Daniel Shashko

Web Data &amp; AI Expert





### Les 10 meilleurs outils CLI pour Codex en 2026 – Testés &amp; Classés

Les 10 outils CLI qui rendent Codex plus rapide et plus capable, en commençant par le Bright Data CLI pour un accès web réel depuis l’intérieur du sandbox.



 06-Sep-2026

 24 min de lecture

 ](https://brightdata.fr/blog/ai/best-cli-tools-for-codex)
