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. See the getting started guide if you haven't connected yet.

Once connected, grab your API key from Settings → Account in the dashboard. In n8n, create a Header Auth credential with the name X-API-Key and your API key as the value.

HTTP Request Node Setup

n8n can import curl commands directly into an HTTP Request node. Copy any curl block below, open an HTTP Request node in n8n, and click Import cURL to auto-configure the node. Replace <api-key> with your Notipo API key.

Create a post

Creates a Notion page and triggers the full sync/publish pipeline. For best results, include all fields — title, body, category, tags, SEO keyword, image title, and slug.

curl --request POST \
  --url https://notipo.com/api/posts/create \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '{
    "title": "Your Post Title",
    "body": "Markdown content.\n\n## Headings work\n\nSo do paragraphs.",
    "category": "Tutorials",
    "tags": ["n8n", "automation"],
    "seoKeyword": "your focus keyword",
    "imageTitle": "Description for featured image",
    "slug": "custom-url-slug",
    "publish": false
  }'

Set publish: true to go live immediately, or omit it to create a WordPress draft you can review first.

Check job status

Poll for completion after creating a post. The response includes status (COMPLETED / FAILED) and result.wpUrl on success.

curl --request GET \
  --url https://notipo.com/api/jobs?limit=1 \
  --header 'X-API-Key: <api-key>'

Trigger a sync

Trigger an immediate Notion poll. Useful when you write content directly in Notion and want to pick it up from n8n on demand. Pro plan only, 15-second cooldown.

curl --request POST \
  --url https://notipo.com/api/sync-now \
  --header 'X-API-Key: <api-key>'

List posts

curl --request GET \
  --url https://notipo.com/api/posts \
  --header 'X-API-Key: <api-key>'

Import Workflow

Copy the JSON below, open n8n, click the three dots (⋯) menu in the top-right, select Import from JSON, and paste it. Then add your Header Auth credential to the HTTP Request node.

This workflow creates a post via the Notipo API — fire and forget. Notipo handles everything in the background:

{
  "name": "Notipo — Create Post",
  "nodes": [
    {
      "parameters": {},
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [0, 0]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://notipo.com/api/posts/create",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\n  \"title\": \"My First Automated Post\",\n  \"body\": \"This post was created from an n8n workflow.\\n\\n## How it works\\n\\nNotipo creates the page in Notion, converts markdown to Notion blocks, syncs to WordPress, generates a featured image, and sets SEO metadata.\\n\\n## Getting started\\n\\nSign up at notipo.com, connect your Notion database and WordPress site, then use this workflow to publish posts.\",\n  \"category\": \"Tutorials\",\n  \"tags\": [\"n8n\", \"automation\"],\n  \"seoKeyword\": \"automated blog publishing\",\n  \"imageTitle\": \"Automate Your Blog Today\",\n  \"slug\": \"automated-blog-publishing\",\n  \"images\": [\n    { \"query\": \"laptop automation workflow\", \"afterHeading\": \"## How it works\" },\n    { \"query\": \"getting started tutorial\", \"afterHeading\": \"## Getting started\" }\n  ],\n  \"publish\": false\n}",
        "options": {}
      },
      "name": "Create Post",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [220, 0],
      "credentials": {
        "httpHeaderAuth": {
          "id": "",
          "name": "Notipo API Key"
        }
      }
    }
  ],
  "connections": {
    "Manual Trigger": {
      "main": [[{ "node": "Create Post", "type": "main", "index": 0 }]]
    }
  },
  "settings": { "executionOrder": "v1" }
}

After importing, add your Header Auth credential and click Test workflow. Notipo creates the Notion page, syncs to WordPress, generates a featured image, inserts inline Unsplash images, and sets SEO metadata — all from that single API call.

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, then send it to Notipo in a single HTTP request. Notipo creates the Notion page, converts the markdown to Notion blocks, and triggers the full sync/publish pipeline to WordPress — no Notion node or Code node needed.

1
TriggerSchedule, webhook, or any n8n trigger
2
HTTP RequestGET /api/categories and GET /api/tags — fetch available options from Notipo
3
AI AgentGenerate title, body, SEO keyword, category, tags, image descriptions
4
HTTP RequestPOST /api/posts/create — fire and forget, Notipo handles the rest

The POST /api/posts/create endpoint accepts a markdown body and handles everything — Notion page creation, markdown-to-block conversion, Gutenberg conversion, image uploads, featured image generation, SEO metadata, and WordPress publishing.

You only need the Notipo API key. No separate Notion credentials or Notion nodes in your n8n workflow.

This same pattern works outside n8n — any AI agent that can make HTTP requests (OpenClaw, Claude Code, custom scripts) can call POST /api/posts/create directly. See the AI agent publishing guide for more examples.

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
HTTP RequestFetch categories and tags from Notipo
3
OpenAI / Claude nodeGenerate blog post with all metadata from the brief
4
HTTP RequestPOST /api/posts/create — Notipo publishes to WordPress

This workflow handles the full editorial pipeline — from a content brief in Airtable to a live WordPress post. Notipo creates the Notion page, syncs to WordPress, generates the featured image, sets SEO metadata, and publishes — all from one HTTP request.

What Notipo handles for you

  • — Notion page creation from markdown (no Notion token needed)
  • — Markdown → Notion blocks → WordPress Gutenberg block conversion
  • — Inline Unsplash images inserted by search query (Pro plan)
  • — Featured image generation (1200×628 with category background)
  • — Image upload to WordPress media library and URL caching
  • — SEO metadata (Rank Math, Yoast, SEOPress, AIOSEO)
  • — Notion status updates throughout the pipeline
  • — Failure handling and automatic status reset on errors