Skip to main content

Transform press releases (PDF & Word) into polished articles with Gmail & OpenAI

Workflow preview

Workflow preview
100%
Transform press releases (PDF & Word) into polished articles with Gmail & OpenAI preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

This n8n workflow automates the transformation of press releases into polished articles. It converts the content of an email and its attachments (PDF or Word documents) into an AI written article/b...

Best for

  • Content Creation automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.gmailtrigger, n8n-nodes-base.extractfromfile, n8n-nodes-base.httprequest, @n8n/n8n-nodes-langchain.lmchatanthropic, n8n-nodes-base.code, n8n-nodes-base.if, @n8n/n8n-nodes-langchain.openai, n8n-nodes-base.gmail

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Julian Reich .

Original n8n.io source

1.1 Workflow description

Title
Transform press releases (PDF & Word) into polished articles with Gmail & OpenAI
Workflow name
Transform press releases (PDF & Word) into polished articles with Gmail & OpenAI

This n8n workflow automates the transformation of press releases into polished articles. It converts the content of an email and its attachments (PDF or Word documents) into an AI-written article/blog post.

What does it do?

This workflow assists editors and journalists in managing incoming press-releases from governments, companies, NGOs, or individuals. The result is a draft article that can easily be reviewed by the editor, who receives it in a reply email containing both the original input and the output, plus an AI-generated self-assessment. This self-assessment represents an additional feedback loop where the AI compares the input with the output to evaluate the quality and accuracy of its transformation.

How does it work?

Triggered by incoming emails in Google, it first filters attachments, retaining only Word and PDF files while removing other formats like JPGs. The workflow then follows one of three paths:

- If no attachments remain, it processes the inline email message directly.
- For PDF attachments, it uses an extractor to obtain the document content.
- For Word attachments, it extracts the text content by a http request.

In each case, the extracted content is then passed to an AI agent that converts the press release into a well-structured article according to predefined prompts. A separate AI evaluation step provides a self-assessment by comparing the output with the original input to ensure quality and accuracy. Finally, the workflow generates a reply email to the sender containing three components: the original input, the AI-generated article, and the self-assessment. This streamlined process helps editors and journalists efficiently manage incoming press releases, delivering draft articles that require minimal additional editing."

How to set it up

1. Configure Gmail Connection:

  • Create or use an existing Gmail address
  • Connect it through the n8n credentials manager
  • Configure polling frequency according to your needs
  • Set the trigger event to "Message Received" Optional: Filter incoming emails by specifying authorized senders
  • Enable the "Download Attachments" option

2. Set Up AI Integration:

  • Create an OpenAI account if you don't have one
  • Create a new AI assistant or use an existing one
  • Customize the assistant with specific instructions, style guidelines, or response templates
  • Configure your API credentials in n8n to enable the connection

3. Configure Google Drive Integration:

  • Connect your Google Drive credentials in n8n
  • Set the operation mode to "Upload"
  • Configure the input data field name as "data" -Set the file naming format to dynamic: {{ $json.fileName }}

4. Configure HTTP Request Node:

  • Set request method to "POST"
  • Enter the appropriate Google API endpoint URL
  • Include all required authorization headers
  • Structure the request body according to API specifications
  • Ensure proper error handling for API responses

5. Configure HTTP Request Node 2:

  • Set request method to "GET"
  • Enter the appropriate Google API endpoint URL
  • Include all required authorization headers
  • Configure query parameters as needed
  • Implement response validation and error handling

6. Configure Self-Assessment Node:

  • Set operation to "Message a Model"
  • Select an appropriate AI model (e.g., GPT-4, Claude)
  • Configure the following prompt in the Message field:

Please analyze and compare the following input and output content:

(for example)

Original Input: {{ $('HTTP Request3').item.json.data }} {{ $('Gmail Trigger').item.json.text }}

Generated Output: {{ $json.output }}

Provide a detailed self-assessment that evaluates:

  1. Content accuracy and completeness
  2. Structure and readability improvements
  3. Tone and style appropriateness
  4. Any information that may have been omitted or misrepresented
  5. Overall quality of the transformation

7. Configure Reply Email Node:

  • Set operation to "Send" and select your Gmail account
  • Configure the "To" field to respond to the original sender: {{ $('Gmail Trigger').item.json.from }}
  • Set an appropriate subject line: RE: {{ $('Gmail Trigger').item.json.subject }}
  • Structure the email body with clear sections using the following template:

handlebars

EDITED ARTICLE

{{ $('AI Article Writer 2').item.json.output }}

SELF-ASSESSMENT Rating: 1 (poor) to 5 (excellent) {{ $json.message.content }}

ORIGINAL MESSAGE

{{ $('Gmail Trigger').item.json.text }}

ATTACHMENT CONTENT

{{ $('HTTP Request3').item.json.data }}

Note: Adjust the template fields according to the input source (PDF, Word document, or inline message). For inline messages, you may not need the "ATTACHMENT CONTENT" section.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Gmail Trigger

Type / Role
n8n-nodes-base.gmailTrigger - gmailTrigger
Config choices
Version 1.2

Block 2 - Extrahiere aus PDF1

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 3 - HTTP Request2

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 4 - HTTP Request3

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 5 - Anthropic Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatAnthropic - lmChatAnthropic
Config choices
Version 1.2

Block 6 - Anthropic Chat Model1

Type / Role
@n8n/n8n-nodes-langchain.lmChatAnthropic - lmChatAnthropic
Config choices
Version 1.2

Block 7 - Anthropic Chat Model2

Type / Role
@n8n/n8n-nodes-langchain.lmChatAnthropic - lmChatAnthropic
Config choices
Version 1.2

Block 8 - Code: delete all but pdf and word

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 9 - has attachment?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 10 - PDF or WORD?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 11 - OpenAI self assesment

Type / Role
@n8n/n8n-nodes-langchain.openAi - openAi
Config choices
Version 1.8

Block 12 - OpenAI self-assesment2

Type / Role
@n8n/n8n-nodes-langchain.openAi - openAi
Config choices
Version 1.8

Block 13 - reply to sender (no attachment)

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 14 - reply to sender (word)

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 15 - reply to sender (pdf)

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 16 - AI Article Writer 1

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.7

Block 17 - AI Article Writer 2

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.7

Block 18 - AI Article Writer 3

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.7

Block 19 - Google Drive

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 20 - OpenAI self-assesment

Type / Role
@n8n/n8n-nodes-langchain.openAi - openAi
Config choices
Version 1.8

3. Summary Table

Workflow Transform press releases (PDF & Word) into polished articles with Gmail & OpenAI
Complexity advanced
Nodes 20
Categories Content Creation, Multimodal AI
Author Julian Reich
Published 24 Mar 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/3302/3302.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Transform press releases (PDF & Word) into polished articles with Gmail & OpenAI do?

This n8n workflow automates the transformation of press releases into polished articles. It converts the content of an email and its attachments (PDF or Word documents) into an AI written article/b...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Content Creation, Multimodal AI use case.