# n8n community node

> Install n8n-nodes-blogizi, connect your account API key, and create, update, schedule, or publish posts from workflows.

HTML version: https://blogizi.com/docs/n8n
Markdown version: https://blogizi.com/docs/n8n.md

The [n8n-nodes-blogizi](https://www.npmjs.com/package/n8n-nodes-blogizi) community node talks to the [Blogizi public API](/docs/public-api). Use it to draft, update, schedule, and publish posts — or read Search Console and public site data — from any n8n workflow.

> **Package:** npm [n8n-nodes-blogizi](https://www.npmjs.com/package/n8n-nodes-blogizi). Source: [bytemindlab/n8n-nodes-blogizi](https://github.com/bytemindlab/n8n-nodes-blogizi). Requires n8n 1.x or later.

## Install

1. In n8n, open **Settings → Community nodes** (self-hosted instances that allow community packages)
2. Install `n8n-nodes-blogizi`
3. Add a **Blogizi** node to a workflow — search for "Blogizi" in the node picker

Full GUI steps: [n8n community nodes installation](https://docs.n8n.io/integrations/community-nodes/installation/).

## Credentials

1. On blogizi.com, open Dashboard → **Account → API** and copy the account API key
2. In n8n, create a **Blogizi API** credential and paste the key
3. The credential test calls `GET /api/account/projects` — same as [API authentication](/docs/api-authentication)

One key covers every project on the account. If you have more than one blog, pick the project on the node (list or slug). With a single project, leave Project empty and Blogizi selects it automatically.

## Resources & operations

### Post

Requires the Blogizi API credential.

- **Create** — `POST /api/posts` (draft or published). Optional **Scheduled At** under Additional Fields keeps a draft until that time.
- **Update** — same endpoint with upsert. Finds the post by **Slug**. Schedule: Leave unchanged, Set time, or Clear. Status under Additional Fields; published goes live immediately and cancels any schedule.
- **Get Many** — list posts for a project (uses project *ID*, not slug)
- **Upload Image** — cover (2 MB) or content/inline (5 MB) for an *existing* post. Cover is saved on the post immediately; content returns markdown to paste into the body, then send again with **Update**

Create/Update also support description, keyword, markdown content, cover URL, and post / sidebar CTA fields under **Additional Fields**. On update, omitted fields keep their current values.

### Project

- **Get Many** — list blogs for the account (`GET /api/account/projects`)

### Search Console

- **Get** — cached GSC performance (`GET /api/search-analytics`). Bind a property in the Blogizi dashboard first. Optional day window and refresh (at most once every 5 minutes).

### Site

Public — no API key. Pageview recording is intentionally omitted so workflows do not consume your monthly pageview quota.

- **List Posts** — published posts for a project slug
- **Search** — search published posts, tags, and nav links
- **Resolve Domain** — look up which project owns a custom domain host

> **Not included:** Dashboard-only routes such as deleting posts or regenerating API keys are not exposed. Prefer the dashboard or [API docs](/docs/public-api) for those actions.

## Typical workflows

### Draft → images → publish

1. **Post → Create** with Status **Draft**, title, slug, and markdown content
2. **Post → Upload Image** (content type) from a binary field, then append the returned markdown to the body
3. Optionally upload a **Cover** for the same post slug
4. **Post → Update** with the final body, or set Status to **Published** when ready

### Schedule for later

Create or update with status **Draft** and a future **Scheduled At**. A datetime without a timezone uses the project timezone. Publishing (status Published) cancels any pending schedule — same rules as the [create/upsert API](/docs/api-create-post).

### Article form → draft

The package ships an importable example: Form Trigger → prepare fields → **Post → Create** as a draft. Import `examples/article-form-to-draft.json` from the [GitHub examples folder](https://github.com/bytemindlab/n8n-nodes-blogizi/tree/main/examples), attach your Blogizi API credential, and submit the form with your project slug and markdown body.

## Tips

- Create rejects a slug that already exists — use **Update** (upsert) to edit an existing post
- Upload requires the post to exist first — create a draft before attaching images
- Binary uploads expect PNG, JPG, WebP, or SVG on the named binary property (default `data`)
- The node is marked usable as an AI tool in n8n when your instance supports tool-calling agents

> Prefer the terminal or vault? Same account key works with the [CLI](/docs/cli-publishing) and [Obsidian plugin](/docs/obsidian). For agent tool calling without n8n, see [MCP](/docs/mcp).
