---
title: "Automatize seu boletim informativo com n8n, Bright Data e OpenAI"
slug: n8n-bright-data-openai-newsletter-automation
date: 2025-05-06T10:46:52+00:00
modified: 2025-11-04T08:52:05+00:00
permalink: https://brightdata.com.br/blog/dados-do-site/n8n-bright-data-openai-newsletter-automation
type: blog
---

[ Blog ](https://brightdata.com.br/blog "Blog") / [Dados do site](https://brightdata.com.br/blog/dados-do-site)







 [Dados do site](https://brightdata.com.br/blog/dados-do-site)

# Automatize seu boletim informativo com n8n, Bright Data e OpenAI

Saiba como automatizar um boletim informativo inteligente usando n8n, Bright Data e OpenAI. Extraia dados, gere conteúdo e envie e-mails personalizados.

 9 min de leitura





 [ ![Jacob Nulty](https://media.brightdata.com.br/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.com.br/2025/03/Forms-Bright-Data-GPT-4o-mini-integration-on-n8n.svg)





Imagine se você pudesse lançar um boletim informativo totalmente automatizado. Com o mínimo de codificação e algumas credenciais de API, agora você pode fazê-lo. [A n8n](https://n8n.io), a [Bright Data](/) e [a OpenAI](https://openai.com/) nos dão o poder de fazer exatamente isso.

Hoje, vamos analisar esse processo para mostrar a você como ele é realmente fácil!

## Primeiros passos

Começaremos [acessando o fluxo de trabalho](https://n8n.io/workflows/3304-custom-deal-recommendations-by-email-using-forms-bright-data-and-gpt-4o-mini/) (você pode começar a usá-lo gratuitamente). Clique no botão intitulado “Use workflow” (Usar fluxo de trabalho) próximo à parte superior de sua postagem. Quando solicitado, certifique-se de executar uma instância auto-hospedada do n8n.

![Usar o fluxo de trabalho da n8n](https://media.brightdata.com/2025/03/Use-n8n-Workflow-1.png)### Hospedagem autônoma n8n

```none
sudo snap install docker
```

Inicie o docker e coloque o n8n em funcionamento.

```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
```

### Instalação de nós comunitários

Agora, é hora de instalar alguns nós da comunidade. Vá para “Settings” (Configurações) e clique em “Community nodes” (Nós da comunidade).

![Instalar um nó da comunidade](https://media.brightdata.com/2025/03/Install-a-Community-Node.png)Na caixa de entrada “npm”, digite o nó Bright Data.

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

Em seguida, faça o mesmo com o Document Generator.

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

![Adição de gerador de documentos](https://media.brightdata.com/2025/03/Adding-Document-Generator.png)Depois de instalar esses nós, encerre sua instância do Docker com `ctrl+c`.

Em seguida, reinicie-o.

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

Você pode ver os documentos completos sobre a instalação dos nós da comunidade [aqui](https://docs.n8n.io/integrations/community-nodes/installation/gui-install/#install-a-community-node).

## Obtendo suas chaves de API

### Dados brilhantes

Se ainda não o fez, você precisa se inscrever no [Web Unlocker](/products/web-unlocker). Essa ferramenta oferece todos os tipos de recursos interessantes de raspagem, como [desvio de CAPTCHA](/blog/brightdata-in-practice/how-to-bypass-captcha-using-web-unlocker) e integração de proxy. No playground, você pode obter sua chave de API.

![Obter a chave da API da Bright Data](https://media.brightdata.com/2025/03/Get-Bright-Data-API-Key.png)Pegue essa chave e guarde-a em um lugar seguro.

### OpenAI

No painel do OpenAI, você pode visualizar e criar novas chaves na [guia API Keys (Chaves de API](https://platform.openai.com/api-keys)).

![Chaves da API da OpenAI](https://media.brightdata.com/2025/03/OpenAI-API-Keys.png)Mais uma vez, guarde suas chaves em um local seguro.

### SMTP

Para SMTP, estou usando [o Elastic Email](https://elasticemail.com/). Em seu plano gratuito, você só pode enviar e-mails para si mesmo, mas isso é suficiente para este tutorial.

**Observação: Encontrei um erro ao criar a conexão SMTP. A desativação do SSL corrigiu o problema.**

![SSL desativado](https://media.brightdata.com/2025/03/Turned-Off-SSL.png)Com o SMTP, independentemente do cliente que você usa (Elastic Email ou qualquer outro), é necessário salvar o nome de usuário, a senha e os detalhes da conexão. Com o Elastic Email, você pode visualizá-los [aqui](https://app.elasticemail.com/api/settings/manage-smtp).

![Obtenha suas credenciais de SMTP](https://media.brightdata.com/2025/03/Get-Your-SMTP-Creds.png)## Ajustando o fluxo de trabalho

### Obtendo o site com o Web Unlocker

Clique com o botão direito do mouse no ícone Bright Data em seu fluxo de trabalho e clique em “Open” (Abrir). Clique no ícone de lápis para editar suas configurações.

![Editar dados brilhantes](https://media.brightdata.com/2025/03/Edit-Bright-Data.png)Adicione sua chave de API do Web Unlocker na seção “Token”.

![Adicionar chave de API do Web Unlocker](https://media.brightdata.com/2025/03/Add-Web-Unlocker-API-Key.png)Agora, vamos ajustar nosso esquema para que tudo funcione corretamente. Na parte inferior das configurações, verifique se o formato está definido como “JSON”. Na imagem abaixo, nosso url é `https://www.mediamarkt.de/`. Substitua-o pelo url que você deseja extrair. Substitua o nome da zona pelo nome de sua própria zona do Web Unlocker.

![Definir o formato como JSON](https://media.brightdata.com/2025/03/Set-Format-to-JSON.png)### Extração do HTML

Agora, vamos nos certificar de que nossa extração de HTML esteja configurada corretamente. Certifique-se de que seus “Dados de origem” estejam definidos como “JSON”. Os valores de extração devem corresponder ao que você vê na imagem abaixo: Chave: `título`, Seletor CSS: `título`, Valor de retorno: `Text`. Se estiver trabalhando com um site diferente, você pode ajustar esses campos para atender às suas necessidades, mas se uma página não tiver um `corpo` ou `título`, provavelmente não vale a pena fazer a extração.

![Propriedades HTML](https://media.brightdata.com/2025/03/HTML-Properties.png)Antes de fechá-lo, role a tela para baixo e combine esses outros campos também: Key: `body`, CSS Selector: `body`, Return Value: `Text.`

![Mais propriedades HTML](https://media.brightdata.com/2025/03/More-HTML-Properties.png)### Como passar os dados para o ChatGPT

O ChatGPT analisará nossos dados para nós. Com o poder dos LLMs, não precisamos nem mesmo escrever um analisador. Você pode saber mais sobre raspagem com modelos de IA [aqui](/blog/dados-do-site/web-scraping-with-claude). O processo aqui é bem simples: *fornecemos uma página da Web ao ChatGPT e ele gera uma lista limpa de produtos.*

Agora, é hora de configurar sua conexão com o ChatGPT. Abra as configurações do nó intitulado “Generate List of Deals by Category”. Adicione sua chave de API da OpenAI da mesma forma que você adicionou sua chave de API da Bright Data. Em seguida, verifique se os campos a seguir estão corretos: Resource (Recurso): `Text (Texto`), Operation (Operação): `Message a Model`. Se quiser usar um modelo diferente, fique à vontade para alterá-lo, mas estamos usando o GPT-4o mini.

![Configurações da OpenAI](https://media.brightdata.com/2025/03/OpenAI-Settings.png)Role para baixo até a parte inferior e verifique se o restante dos campos está correto.

![Configurações da OpenAI - Parte 2](https://media.brightdata.com/2025/03/OpenAI-Settings-Part-2.png)### Extração dos resultados do ChatGPT

Agora, abra as configurações do nó intitulado “Extract items from results” (Extrair itens dos resultados). Certifique-se de que “Fields to Split Out” esteja definido como `message.content.results`.

![Configurações de extração do ChatGPT](https://media.brightdata.com/2025/03/ChatGPT-Extraction-Settings.png)### Geração de seu documento HTML

Agora, é hora de gerar seu documento HTML. Esse é o HTML bruto que compõe o e-mail real. Se você executar um teste de fluxo de trabalho, poderá arrastar e soltar valores de entrada no modelo HTML. Certifique-se de que a “Template String” esteja definida como `Expression`.

![Escrevendo sua estrutura HTML](https://media.brightdata.com/2025/03/Writing-Your-HTML-Structure.png)Se desejar, você pode copiar e colar meu modelo HTML abaixo. O HTML abaixo não é um requisito, ele está lá apenas para ajudar você a começar. Você pode estilizar seus dados como quiser, apenas certifique-se de inserir os dados JSON corretamente.

```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>
```

### Notificação do usuário por e-mail

Agora, é hora de se conectar ao servidor SMTP. Se você ainda não adicionou suas chaves de API, clique no ícone de “lápis” para editar os detalhes da conexão. Altere “From Email” para o e-mail do qual você enviará. Faça do “Assunto” o que você quiser. Certifique-se de deixar “Email Format” (Formato de e-mail) como `HTML`.

![Configurações de e-mail](https://media.brightdata.com/2025/03/Email-Settings.png)Agora, adicione as credenciais à sua conta SMTP. Você precisa do usuário, da senha, do host e da porta.

![Credenciais SMTP](https://media.brightdata.com/2025/03/SMTP-Credentials.png)### Informe o usuário sobre o sucesso

Agora, vamos criar a página que informa ao nosso usuário que tudo foi concluído. Altere a “Mensagem de conclusão” e o “Título de conclusão” para o que você quiser. Todos os outros campos devem permanecer os mesmos – estamos simplesmente informando ao usuário que o processo foi concluído.

![Configurações de conclusão](https://media.brightdata.com/2025/03/Completion-Settings.png)## O e-mail resultante

Agora que terminamos de configurar tudo, vamos testá-lo. Clique em “Testar fluxo de trabalho”. Você deverá receber um pop-up como este. Escolha sua categoria e digite um endereço de e-mail para receber suas ofertas.

![Formulário de inscrição](https://media.brightdata.com/2025/03/Entry-Form.png)Clique em “Get Deals” (Obter ofertas). Depois de enviar suas informações, o pop-up deverá ser semelhante a este.

![Formulário preenchido](https://media.brightdata.com/2025/03/Completed-Form.png)Por fim, verifique sua caixa de entrada. Se você não vir o e-mail de ofertas imediatamente, dê uma olhada na sua pasta de spam. A maioria dos serviços de e-mail modernos marca e-mails de massa como esse como spam. Quando encontrar o e-mail, abra-o e dê uma olhada nas suas ofertas!

![E-mail de ofertas](https://media.brightdata.com/2025/03/Deals-Email.png)## Conclusão

Com o n8n, o Bright Data e o OpenAI, agora você tem as ferramentas para automatizar totalmente um boletim informativo inteligente e orientado por dados. Aproveitando o Web Unlocker para extração de dados, o ChatGPT para geração de conteúdo e o SMTP para envio de e-mails, você pode criar recomendações de ofertas personalizadas com o mínimo de esforço.

Mas por que parar por aqui? A Bright Data oferece um conjunto de soluções de dados para aprimorar ainda mais sua automação:

- Procurações residenciais
- Navegador de raspagem
- API do raspador
- Conjuntos de dados

Leve sua automação de marketing por e-mail para o próximo nível. Inscreva-se para uma avaliação gratuita hoje mesmo e comece a criar fluxos de trabalho mais inteligentes e eficientes!



Contate-nosTeste grátis![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Índice







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=Automatize+seu+boletim+informativo+com+n8n%2C+Bright+Data+e+OpenAI&u=https://brightdata.com.br/blog/dados-do-site/n8n-bright-data-openai-newsletter-automation) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Automatize+seu+boletim+informativo+com+n8n%2C+Bright+Data+e+OpenAI&url=https://brightdata.com.br/blog/dados-do-site/n8n-bright-data-openai-newsletter-automation) [ ](http://www.reddit.com/submit?title=Automatize+seu+boletim+informativo+com+n8n%2C+Bright+Data+e+OpenAI&url=https://brightdata.com.br/blog/dados-do-site/n8n-bright-data-openai-newsletter-automation)







##  Você também pode estar interessado em

 [ ![OpenHuman with Bright Data](https://media.brightdata.com.br/2026/09/OpenHuman-with-Bright-Data.png) ](https://brightdata.com.br/blog/ai/openhuman-with-bright-data "Acesso à Web Pronto para Produção no OpenHuman Através do Bright Data CLI")

 [AI



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

Antonello Zanini

Technical Writer





### Acesso à Web Pronto para Produção no OpenHuman Através do Bright Data CLI

Integre o Bright Data CLI ao OpenHuman para habilitar acesso à web pronto para produção e coleta de dados para agentes de IA.



 09-Sep-2026

 14 min de leitura

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

 [ ![Multimodal Web Scraping with MiniMax](https://media.brightdata.com.br/2026/09/Multimodal-Web-Scraping-with-MiniMax.png) ](https://brightdata.com.br/blog/dados-do-site/multimodal-web-scraping-with-minimax "Scraping de Dados Multimodal com MiniMax")

 [Dados do site



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

Antonello Zanini

Technical Writer





### Scraping de Dados Multimodal com MiniMax

Combine a API Web Unlocker da Bright Data com a visão MiniMax M3 para extrair dados estruturados de imagens e capturas de tela de páginas web.



 09-Sep-2026

 5 min de leitura

 ](https://brightdata.com.br/blog/dados-do-site/multimodal-web-scraping-with-minimax)

 [ ![The 10 Best CLI Tools for Codex in 2026](https://media.brightdata.com.br/2026/08/The-10-Best-CLI-Tools-for-Codex-in-2026.png) ](https://brightdata.com.br/blog/ai/best-cli-tools-for-codex "As 10 Melhores Ferramentas CLI para Codex em 2026 – Testadas & Classificadas")

 [AI



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

Daniel Shashko

Web Data &amp; AI Expert





### As 10 Melhores Ferramentas CLI para Codex em 2026 – Testadas &amp; Classificadas

As 10 ferramentas CLI que tornam o Codex mais rápido e capaz, começando com o Bright Data CLI para acesso real à web de dentro do sandbox.



 06-Sep-2026

 24 min de leitura

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