ChatGPTCreativeWritingAI score · PendingAI-assisted edit · no obvious prompt-injection riskn8n.io

n8n Automate Trend Research to Blog Content: GPT-4o Multi-Angle Outlines and DALL-E Cover Images

Input a search keyword → Apify scrapes Google results → GPT-4o plans 3 article angles and writes full drafts → DALL-E 3 generates cover images → Save to Notion and notify via Slack

Some experienceStepsWorkflowPromptTip
Who
Content operators, SEO specialists, or small editorial teams who need trend-based blog drafts generated automatically
You get
Automatically fetch Google search results on a schedule, generate 3 blog drafts in Markdown from different angles with matching cover images, save them to a Notion database, and report links via Slack
You need
n8n · slack

Constraints

Prerequisites: n8n v1.0+ instance; Apify account with Google Search Scraper actor; OpenAI API key for GPT-4o and DALL-E 3; Notion workspace with a database; Slack workspace with OAuth2 credentials. Costs: Apify actor billed per run; OpenAI billed per token and image generation; refer to each platform’s pricing. Limitations: notionDatabaseId and slackChannel in workflow.json are placeholders and must be replaced; Notion database must be created and authorized for the n8n integration before use; search defaults to Japan region (countryCode=jp, languageCode=ja) and can be changed in the Apify node.

What they did

Author miipoco3 published a template workflow on n8n.io that triggers automatically every Monday at 9:00 AM via Schedule Trigger. The workflow uses Apify’s Google Search Scraper to fetch results for a configured keyword, then calls GPT-4o to analyze the results and generate 3 blog article ideas from different angles (Beginner, Critical Review, Business Use Case), each with a title, outline, and English cover-image prompt. A Code node parses the JSON from GPT-4o, then a second GPT-4o node writes the full Markdown body, DALL-E 3 generates a 1024x1024 cover image, and the result is saved to a Notion database with a completion report sent to Slack.

How it went

The source reports that this template can automatically generate 3 blog drafts from different angles and save them to Notion (author_report). This site has not imported or run the workflow; we have not verified Apify actor stability for specific keywords, GPT-4o JSON parsing reliability, or correct Notion/Slack credential configuration.

Worth knowing

1) Search defaults to Japan region (countryCode=jp, languageCode=ja); change the Apify node customBody for other regions. 2) GPT-4o JSON output relies on the Code node for fault-tolerant parsing (trying both output[0].content[0].text and message.content structures); changes in OpenAI response format may break parsing. 3) The Notion database ID and Slack channel are placeholders in the template and must be replaced. 4) Five Sticky Notes are present for documentation only and do not affect runtime. 5) The author suggests the Notion node can be replaced with a WordPress node to publish directly to a CMS. 6) No specific cost estimates are provided for OpenAI or Apify usage.

n8n workflow template

Structure checked · Not run-tested

Use “Import from File” in n8n, or copy the JSON and paste it into the editor. Connect your own accounts, then try test data. The template is inactive by default.

Setup and test checklist

Credentials to connect

  • AI Editorial Meeting - Generate 3 Article Ideas node: connect OpenAI API credentials.
  • AI Writer - Generate Article Content node: connect OpenAI API credentials.
  • DALL-E Generate Cover Image node: connect OpenAI API credentials.
  • Save Article to Notion node: connect Notion API credentials.
  • Send Completion Notification to Slack node: connect Slack OAuth2 credentials.
  • Run an Actor and get dataset node: connect apifyApi credentials.

Configuration to replace

  • Source template is n8n public workflow #11094 (~15 nodes). Keep inactive after import; verify triggers, expressions and external API endpoints.
  • Sticky-note guidance is informational; replace placeholders with your own accounts, sheet schemas or channel IDs.

Test input and expected output

  • Manually run the main path once in a test workspace and confirm credentialed nodes authenticate without errors.
  • Drive one synthetic/redacted sample through and check output fields and downstream writes before enabling in production.

Template changes

  • Author credential bindings, webhookId and execution data are removed; the workflow is inactive. Nodes, connections and original prompts are preserved. Not run-tested in n8n.
  • No business-logic edits; verify keys, quotas and privacy compliance before use.

Template retrieved: 2026-10-24

Steps

  1. Import workflow and configure credentials

    Import the workflow JSON into your n8n editor. Then configure credentials for: Apify (for the Google Search Scraper actor), OpenAI (for GPT-4o and DALL-E 3), Notion (to access your database), and Slack (OAuth2 for notifications). n8n will automatically associate credentials with the corresponding nodes.

  2. Set the search keyword

    Open the Workflow Configuration node and change searchKeyword from the default "2025年 AIツール" to your target topic, such as "Keto Diet" or "Investment Trends". This keyword is passed to the Apify Google Search Scraper.

  3. Prepare Notion database and authorize integration

    Create a Notion database (suggested properties: Title, Content). Open the database page menu → Connect to → select your n8n integration to grant access. Then select this database in the Save Article to Notion node. Note: the notionDatabaseId in workflow.json is a placeholder and must be replaced with the actual database ID or reselected via the node UI.

  4. Specify Slack notification channel

    In the Send Completion Notification to Slack node, replace the channelId placeholder with your target channel name (e.g., general) or channel ID. Ensure the Slack OAuth2 credential is authorized to post to that channel.

  5. Run workflow: from trend research to content publishing

    The workflow executes automatically in this order: 1) Schedule Trigger (default: Monday 9:00 AM) fires; 2) Workflow Configuration outputs the keyword and settings; 3) Apify node runs Google Search Scraper and fetches top 5 results; 4) GPT-4o (AI Editorial Meeting) analyzes search results and outputs a JSON array of 3 article ideas (Beginner / Critical Review / Business Use Case), each with title, outline, and image_prompt; 5) Code node Parse Article Ideas JSON extracts the JSON array from the GPT-4o response; 6) GPT-4o (AI Writer) writes the full article body in Markdown based on title and outline; 7) DALL-E 3 generates a 1024x1024 cover image from image_prompt; 8) Save Article to Notion saves the title, cover image URL, and research text as a database page; 9) Aggregate All Articles collects all generated Notion page URLs; 10) Slack sends a completion report listing the 3 article links.

    Execution prompt · Source text。AI Editorial Meeting - Generate 3 Article Ideas node, responses.values[0].content field

    あなたはWebメディアの編集長です。
    以下のGoogle検索結果の情報を元に、3つの異なる切り口でブログ記事の企画を立ててください。
    
    【検索結果データ】
    {{ JSON.stringify($input.all()) }}
    
    【条件】
    必ず以下のJSON形式の配列のみを出力してください。余計な会話や挨拶は一切不要です。
    
    [
      {
        "angle": "初心者向け",
        "title": "記事タイトル",
        "outline": "記事の構成案",
        "image_prompt": "Image generation prompt in English"
      },
      {
        "angle": "辛口レビュー",
        "title": "記事タイトル",
        "outline": "記事の構成案",
        "image_prompt": "Image generation prompt in English"
      },
      {
        "angle": "ビジネス活用",
        "title": "記事タイトル",
        "outline": "記事の構成案",
        "image_prompt": "Image generation prompt in English"
      }
    ]

    Execution prompt · Source text。AI Writer - Generate Article Content node, messages.values[0].content field

    あなたはプロのライターです。以下のタイトルと構成案に基づき、ブログ記事の本文を執筆してください。
    HTMLタグは使わず、Markdown形式(見出しは ## など)で書いてください。
    
    【タイトル】
    {{ $('Parse Article Ideas JSON').item.json.title }}
    
    【構成案】
    {{ $('Parse Article Ideas JSON').item.json.outline }}

    Execution prompt · Source text。DALL-E Generate Cover Image node, prompt field

    ={{ $('Parse Article Ideas JSON').item.json.image_prompt }}

    Execution prompt · Source text。Send Completion Notification to Slack node, text field

    =✅ *AI編集部レポート*
    
    3本の記事案をNotionに格納しました!
    
    {{ $json.url.map((url, i) => `${i+1}. ${url}`).join('\n') }}
    
    確認してください 📝

Prompt you can copy

Setup guidance · Editorial suggestion。Hand to setup assistant; confirm inputs and permissions first

This block is the prompt. Ads are never placed here.

You are an n8n workflow setup assistant. The user wants to replicate the "AI Editor-in-Chief" template: automatically generate 3 Notion blog drafts from Google search trends. Assist in this order: 1) Confirm the user has n8n v1.0+, an Apify account, an OpenAI API key, a Notion database, and Slack OAuth2; 2) Guide them to import workflow.json; 3) Remind them to replace searchKeyword, Notion database ID, and Slack channel in Workflow Configuration; 4) Explain the Notion authorization step (Connect to → select n8n integration); 5) Suggest a manual test run before scheduling to verify the Apify actor returns results and GPT-4o JSON output is parsed correctly by the Code node. Do not perform API calls or fill in real credentials on behalf of the user.

Before building, confirm all 4 credential types are configured and the Notion database is authorized for the n8n integration.

Source

Automate trend research to blog content with GPT-4o, DALL-E & Apify to Notion · miipoco3 · n8n.io · 2025-11-21

Comments & feedback

Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.

Loading…

    Related