Make.comIntermediate9 min readUpdated Jun 6, 2026

Make.com: Notion → Blog Publishing with Image Generation

Push a Notion draft to your headless CMS (Sanity/Contentful), generate a cover image with DALL-E or Ideogram, and schedule the publish.

makenotioncmspublishing

Download this template

Grab a structured copy of "Make.com: Notion → Blog Publishing with Image Generation" as JSON (for programmatic import) or Markdown (for docs and README files). Both are licensed CC-BY-4.0 with attribution.

Overview

Editorial teams draft in Notion because it's fast — and then someone spends an hour retyping into the CMS. This Make scenario watches Notion for status='Ready', converts blocks to portable-text or MDX, generates a cover image from the article title, and creates a scheduled entry in Sanity or Contentful. From draft to scheduled in 60 seconds.

How it works

  1. Notion database trigger on Status change to 'Ready to publish'.
  2. Fetch full page blocks; convert Markdown → CMS body format.
  3. Generate cover image with Ideogram (better for text-in-image) or DALL-E.
  4. Upload image to CMS asset store; create entry with scheduled_at.
  5. Post confirmation to Slack with a preview link.

Benefits

  • No copy-paste tax; editors keep writing in Notion.
  • Cover image at zero human cost — quality gate is a click.
  • Every publish routed through the same pipeline (SEO fields, canonical, tags).

Use cases

  • Content teams with 4+ posts/week.
  • Solo bloggers optimising for volume.
  • SEO agencies managing publishing for multiple clients.

Step-by-step guide

Step 1: Structure the Notion DB

Fields: Title, Slug, Excerpt, Tags, Cover Prompt (fallback to Title), Status, Scheduled At.

Step 2: Block → portable text converter

Use a small function/webhook that maps Notion blocks. Handle H1-H3, lists, code blocks, images, callouts.

Step 3: Image generation

Ideogram for anything with typography; DALL-E for illustrations. Store the prompt on the page for reproducibility.

Step 4: Push to CMS

Sanity: mutation create. Contentful: entry POST + publish. Include SEO fields.

Step 5: Slack confirmation

Preview URL, cover image, scheduled time. Editor validates in one click.

Example

Notion status → Ready. 45s later: Sanity entry created with cover 'A minimal desk with a laptop showing code — soft studio lighting'. Slack: 'Scheduled for Thu 10am ET.'

FAQs

Related resources

Workflows, articles, and tools that pair with this build.