Skip to main content

Generate SEO blog posts with Claude, Google Docs, Contentful, and Slack

Workflow preview

Workflow preview
100%
Generate SEO blog posts with Claude, Google Docs, Contentful, and Slack preview
Open on n8n.io

1. Workflow Overview

Quick Overview This workflow collects a blog brief via an n8n form, uses Anthropic Claude to generate an outline and write each section, saves both outline and article as formatted Google Docs in G...

Best for

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

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.formtrigger, n8n-nodes-base.set, n8n-nodes-base.googlesheets, n8n-nodes-base.code, n8n-nodes-base.httprequest, n8n-nodes-base.googledrive, n8n-nodes-base.markdown

Source and attribution

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

Original n8n.io source

1.1 Workflow description

Title
Generate SEO blog posts with Claude, Google Docs, Contentful, and Slack
Workflow name
Generate SEO blog posts with Claude, Google Docs, Contentful, and Slack

Quick Overview

This workflow collects a blog brief via an n8n form, uses Anthropic Claude to generate an outline and write each section, saves both outline and article as formatted Google Docs in Google Drive, then creates a Contentful entry and posts the links to Google Sheets and Slack.

How it works

  1. Receives a blog brief submission from an n8n Form Trigger with title, word count, keywords, links, and extra instructions.
  2. Normalizes the submission into a structured brief and appends it to a Google Sheets tracker.
  3. Calls the Anthropic Messages API (Claude) to generate a markdown outline, creates a dedicated Google Drive folder, and saves the outline as a formatted Google Doc.
  4. Splits the outline into H2 sections and calls Anthropic Claude once per section to write markdown content that incorporates the provided keywords and internal/external links.
  5. Aggregates all sections, assembles the full markdown article (title + intro + sections), and saves it as a formatted Google Doc in the same Google Drive folder.
  6. Uses Anthropic Claude to choose a short category, converts the markdown to Contentful Rich Text via a Google Cloud Function, and creates a new blogPost entry in Contentful.
  7. Updates the original Google Sheets row with the blog URL plus the Google Docs links, then sends a Slack message with the article details and links.

Setup

  1. Connect credentials for Google Sheets and Google Drive, and update the target spreadsheet ID/sheet name and the parent Google Drive folder ID.
  2. Add an Anthropic (Claude) API key as an HTTP Header Auth credential and ensure the workflow can reach the Anthropic Messages API.
  3. Deploy/configure the Google Cloud Function endpoint that converts Markdown to Contentful Rich Text (or replace it with your own converter) and update the URL.
  4. Add Contentful Management API credentials, then replace CONTENTFUL_SPACE_ID_PLACEHOLDER (and environment if needed) and confirm the Contentful content type is named blogPost.
  5. Add Slack credentials and set SLACK_CHANNEL_ID_PLACEHOLDER to the channel where notifications should be posted.

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 - Sticky Note

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

Block 2 - Sticky Note1

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

Block 3 - Sticky Note2

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

Block 4 - Sticky Note3

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

Block 5 - Sticky Note4

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

Block 6 - Sticky Note5

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

Block 7 - Sticky Note6

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

Block 8 - Sticky Note7

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

Block 9 - Sticky Note8

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

Block 10 - Sticky Note9

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

Block 11 - Form Trigger1

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

Block 12 - Build Brief1

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 13 - Log Brief to Sheet1

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 14 - Build Outline Request1

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

Block 15 - Claude - Outline1

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

Block 16 - Parse Outline1

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

Block 17 - Create Drive Folder1

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

Block 18 - Markdown to HTML (Outline)1

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

Block 19 - Create Outline Doc1

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

Block 20 - Build Outline HTML1

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

Block 21 - Update Outline Doc1

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

Block 22 - Split Into Sections1

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

Block 23 - Build Section Request1

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

Block 24 - Claude - Write Section1

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

Showing the first 24 of 40 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Generate SEO blog posts with Claude, Google Docs, Contentful, and Slack
Complexity advanced
Nodes 40
Categories Content Creation, Multimodal AI
Author Hassan
Published 07 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16162/16162.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 Generate SEO blog posts with Claude, Google Docs, Contentful, and Slack do?

Quick Overview This workflow collects a blog brief via an n8n form, uses Anthropic Claude to generate an outline and write each section, saves both outline and article as formatted Google Docs in G...

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.