# 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.

**Platform:** Make.com  
**Category:** make  
**Difficulty:** Intermediate  
**Tags:** make, notion, cms, publishing  
**Updated:** 2026-06-06  
**Source:** https://promptfoo.tech/workflows/make-notion-blog-publishing-flow

## 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
### 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
**MDX vs portable text?**

MDX for Next.js sites, portable text for Sanity. Contentful uses Rich Text. Adapt the converter accordingly.

**Can I skip the image step?**

Yes — leave a fallback placeholder and swap manually. Automating it saves ~5 min per post.

**Cost?**

Ideogram/DALL-E cover ~$0.02-0.08. Make ops per run ~15.

---
Licensed under CC-BY-4.0. Attribution: PromptFoo.tech