n8n Integration

Notipo works as a drop-in publishing engine inside n8n workflows. Instead of building dozens of nodes to handle markdown conversion, image caching, WordPress uploads, featured image generation, and SEO metadata — you call one API endpoint and Notipo handles everything.

Setup

Before using the API from n8n, connect Notipo to your Notion database and WordPress site. This is a one-time setup done through the Notipo dashboard or via API:

# 1. Register
POST /api/auth/register
  { email, password }

# 2. Log in and get your API key
POST /api/auth/login
  { email, password }
  → returns apiKey

# 3. Connect Notion
PUT /api/settings/notion
  { notionToken, databaseId }

# 4. Connect WordPress
PUT /api/settings/wordpress
  { siteUrl, username, password }

In n8n, create a Header Auth credential with the name X-API-Key and your API key as the value. Use this credential on all HTTP Request nodes that call Notipo.

Trigger a Sync

The simplest Notipo workflow in n8n — trigger an immediate Notion poll on a schedule:

1
Schedule TriggerEvery 5 minutes (or any interval)
2
HTTP RequestPOST /api/sync-now with X-API-Key header

Notipo already polls automatically every 5 minutes and listens for Notion webhooks, so you don't need this workflow for normal use. It's useful when you want to trigger a sync from another event — like when an Airtable row is updated or a form is submitted.

AI Agent Workflow

The most powerful pattern: use an AI agent to generate content, write it to Notion, then let Notipo handle the publishing pipeline to WordPress. The workflow keeps a human review step in Notion before anything goes live.

1
TriggerSchedule, webhook, or any n8n trigger
2
AI AgentGenerate blog post content (title, body, category, SEO keyword)
3
Code nodeConvert markdown to Notion block format
4
Notion nodeCreate database page with Status = Draft
5
DoneReview and edit in Notion, then set Status to Post to Wordpress to trigger Notipo

Notipo picks up the page when you change its status in Notion and handles the rest — Gutenberg conversion, image uploads, featured image generation, SEO metadata, and WordPress publishing.

For a fully automated flow with no human review, set the Notion page status to Post to Wordpress or Publish directly from n8n, then call POST /api/sync-now to trigger an immediate pickup instead of waiting for the next poll.

Monitor Jobs

After triggering a sync, check job status to confirm success or catch failures:

1
HTTP RequestGET /api/jobs?limit=5
2
IF nodeCheck if any job has status FAILED
3
Slack / EmailSend failure notification with post title and error message

Each job includes a steps array showing what was completed and an error field on failure. The postTitle field identifies which post the job belongs to.

Full Workflow Example

A complete editorial automation workflow using n8n + Notipo:

1
Airtable TriggerEditor marks a content brief as Approved
2
OpenAI / Claude nodeGenerate full blog post from the brief
3
Code nodeFormat content as Notion blocks, extract title, category, slug
4
Notion nodeCreate page in blog database with Status = Post to Wordpress
5
HTTP RequestPOST /api/sync-now — trigger immediate Notipo pickup
6
Wait node30 seconds
7
HTTP RequestGET /api/jobs?limit=1 — check job result
8
IF nodeBranch on job status (COMPLETED / FAILED)
9
Slack nodeNotify team — post is live or failed with details

This workflow handles the full editorial pipeline — from a content brief in Airtable to a live WordPress post — with Notipo doing all the heavy lifting on the publishing side.

What Notipo handles for you

  • — Notion block → WordPress Gutenberg block conversion
  • — Image download, upload to WordPress media library, and URL caching
  • — Featured image generation (1200×628 with category background)
  • — SEO metadata (Rank Math, Yoast, SEOPress, AIOSEO)
  • — Notion status updates throughout the pipeline
  • — Failure handling and automatic status reset on errors