doodle top mobile

Automate Hashnode with Paperclip

Publish blog posts to Hashnode, manage publications, add cover images and canonical URLs, and tag your content β€” all from the command line or through your AI agent.

Setup GuidePaperclip

Please make sure there is always a human in the loop.

doodle left mobiledoodle right mobile

Publish to Hashnode in Seconds

Terminal

# Install the skill
npx skills add gitroomhq/postiz-agent

# Set your API key
export POSTIZ_API_KEY=your_api_key

# Find your Hashnode integration
postiz integrations:list

# Publish a blog post to Hashnode
postiz posts:create \
  -c "Article body..." \
  -s "2025-01-15T10:00:00Z" \
  --settings '{"title":"My Post","publication":"pub-id","tags":[{"value":"tag-id","label":"JavaScript"}]}' \
  -i "hashnode-id"

Hashnode-Specific Features

πŸ“–

Blog Publishing

Publish long-form blog posts with full Markdown support. Code blocks, embeds, and rich formatting work out of the box.

πŸ“š

Publication Support

Publish posts under your Hashnode publication. Every post requires a publication ID to target the right blog.

πŸ–Ό

Cover Images

Upload and attach cover images to make your posts stand out. Eye-catching visuals drive more clicks from the Hashnode feed.

πŸ”—

Canonical URLs

Set canonical URLs for SEO when cross-posting from your original blog. Avoid duplicate content penalties across platforms.

🏷

Required Tagging

Hashnode requires at least one tag per post. Tags use tag IDs for precise categorization and improved discoverability.

πŸ“…

Scheduled Publishing

Schedule blog posts for future publication with precise timestamps. Build a consistent publishing cadence effortlessly.

How It Works

1

Find Your Hashnode Integration

List your connected accounts and grab your Hashnode integration ID. You can also fetch available settings to see what options are supported.

Discovery

# List all integrations
postiz integrations:list

# Filter for Hashnode
postiz integrations:list | jq \
  '.[] | select(.identifier=="hashnode")'

# Get Hashnode settings schema
postiz integrations:settings <hashnode-id>
2

Prepare Your Content

Write your blog post in Markdown. Hashnode supports rich formatting including headers, code blocks with syntax highlighting, images, and embedded content. Optionally upload a cover image.

Upload

# Upload a cover image (optional)
RESULT=$(postiz upload cover.png)
IMAGE_PATH=$(echo "$RESULT" | jq -r '.path')
IMAGE_ID=$(echo "$RESULT" | jq -r '.id')

echo "Cover: $IMAGE_PATH"
# https://uploads.postiz.com/cover.png
3

Publish Your Post

Create a post with your content, title, publication, tags, and optional cover image and canonical URL. Remember: publication and at least one tag are required.

Publish

postiz posts:create \
  -c "Article body..." \
  -s "2025-03-01T09:00:00Z" \
  --settings '{
    "title": "Getting Started with Bun",
    "subtitle": "A fast JavaScript runtime",
    "main_image": {
      "id": "img-id",
      "path": "https://uploads.postiz.com/cover.png"
    },
    "canonical": "https://myblog.com/bun",
    "publication": "pub-id",
    "tags": [
      {"value": "js-tag-id", "label": "JavaScript"},
      {"value": "bun-tag-id", "label": "Bun"}
    ]
  }' \
  -i "hashnode-id"

Hashnode Settings Reference

Every Hashnode post accepts these platform-specific settings via the --settings flag.

FieldTypeDescription
__typestringMust be "hashnode"
titlestringArticle title (min 6 characters)
subtitlestringArticle subtitle (min 2 characters)
main_imageobjectCover image: {id: string, path: string}
canonicalstringOriginal URL for SEO canonical link
publicationstringPublication ID (required)
tagsarrayAt least 1 tag: [{value: string (tag ID), label: string}]

Common Configurations

Copy-paste these settings for common Hashnode publishing scenarios.

Basic Blog Post

settings.json

{
  "title": "Understanding React Server Components",
  "publication": "my-publication-id",
  "tags": [
    {"value": "react-tag-id", "label": "React"},
    {"value": "nextjs-tag-id", "label": "Next.js"}
  ]
}

Full-Featured Post with Cover Image

settings.json

{
  "title": "Complete Guide to Node.js Streams",
  "subtitle": "Master streams for high-performance I/O",
  "main_image": {
    "id": "img-abc123",
    "path": "https://uploads.postiz.com/streams-cover.png"
  },
  "publication": "my-publication-id",
  "tags": [
    {"value": "nodejs-tag-id", "label": "Node.js"},
    {"value": "backend-tag-id", "label": "Backend"},
    {"value": "tutorial-tag-id", "label": "Tutorial"}
  ]
}

Cross-Posted Article with Canonical URL

settings.json

{
  "title": "Why We Migrated to Bun",
  "subtitle": "Our experience switching JavaScript runtimes",
  "canonical": "https://engineering.mycompany.com/migrating-to-bun",
  "publication": "company-blog-id",
  "tags": [
    {"value": "bun-tag-id", "label": "Bun"},
    {"value": "javascript-tag-id", "label": "JavaScript"},
    {"value": "devops-tag-id", "label": "DevOps"}
  ]
}

What is Paperclip?

Paperclip is an open-source orchestration framework for building β€œzero-human companies” by hiring and managing teams of AI agents. It handles content, social media distribution, marketing, dev, QA, and more from a single dashboard.

πŸ‘₯

Agent Teams

Paperclip manages teams of AI agents that work together. Assign a content agent, a scheduling agent, and a review agent to your social media workflow.

πŸ“Š

Single Dashboard

Monitor all your AI agents and their social media tasks from one unified dashboard. Track posts, schedules, and performance in real time.

βš™

Orchestration

Schedule recurring tasks with cron jobs. Paperclip can publish your Hashnode posts on a schedule without you having to ask each time.

How Postiz Works with Paperclip

Paperclip integrates Postiz as a tool in its agent orchestration framework. Agents in your Paperclip team can call Postiz commands to manage social media workflows end-to-end.

  • βœ“Install Postiz Agent and set your POSTIZ_API_KEY
  • βœ“Paperclip discovers Postiz through tool integration
  • βœ“Assign Postiz commands to specialized agents in your team
  • βœ“Orchestrate multi-step workflows with approval chains
  • βœ“Monitor everything from the Paperclip dashboard

Install Postiz

# Install the Postiz skill
npx skills add gitroomhq/postiz-agent

# Set your API key
export POSTIZ_API_KEY=your_api_key

# Paperclip discovers Postiz through
# its tool integration system
# and assigns it to agent teams

Hashnode Publishing with Paperclip

Message Paperclip from any platform β€” it reads the Postiz skill, discovers your Hashnode integration, and handles the entire publishing workflow autonomously.

πŸ“Ž

From Any Chat App

Paperclip assigns specialized agents to ...

Send a message to Paperclip from your favorite chat app. It runs as a persistent daemon on your machine, so it picks up your message, discovers your Hashnode blog via Postiz, formats the post, and publishes it β€” all while you go about your day.

Paperclip

Content Agent: Drafted a post about
  the feature launch for Hashnode.

Review Agent: Approved with minor
  edits. Ready to publish.

Scheduling Agent: Found Hashnode
  integration via Postiz.
  Scheduled for tomorrow 9:00 AM.

  Post ID: abc-123
  Status: Scheduled
πŸ“Ž

Scheduled & Proactive

Paperclip orchestrates recurring co...

Paperclip supports cron-based heartbeat tasks. Set up a recurring job that checks a folder for new Markdown drafts and publishes them to Hashnode automatically β€” no manual trigger needed.

paperclip.yaml (pipeline)

pipelines:
  daily_social:
    schedule: "0 9 * * 1-5"
    agents:
      - role: content_creator
        task: "Draft a Hashnode post
          about trending industry topics"
      - role: reviewer
        task: "Review and polish the
          draft for engagement"
      - role: publisher
        task: "Schedule via Postiz
          for today at noon"

Why Paperclip + Postiz for Hashnode

Paperclip makes Postiz a natural fit for your Hashnode workflow. The agent discovers all available commands and autonomously chains them together.

  • βœ“Multi-agent teams for quality Hashnode content β€” draft, review, publish
  • βœ“Single dashboard to monitor all social media automation
  • βœ“Orchestrated pipelines from content creation to publishing
  • βœ“Scheduled pipelines for hands-free daily posting
  • βœ“Cross-post to Hashnode + other platforms in a single pipeline
  • βœ“Open-source β€” fully customizable agent workflows

SKILL.md (auto-discovered)

---
name: postiz
description: Social media automation
  CLI for scheduling posts across
  30+ platforms including Hashnode
metadata:
  paperclip:
    requirements:
      env:
        - POSTIZ_API_KEY
      binaries:
        - postiz
---

# Available Commands
- postiz integrations:list
- postiz integrations:settings <id>
- postiz posts:create
- postiz upload <file>
- postiz analytics:platform <id>

# Hashnode Settings
title, subtitle, main_image,
canonical, publication, tags

Also Works with Claude Code

Postiz Agent works as a CLI tool with any AI agent that can execute shell commands β€” including Anthropic's Claude Code.

C

Claude Code

by Anthropic

Claude reads the SKILL.md file to learn all available Postiz commands, then autonomously discovers your Hashnode integration, uploads your cover image, resolves publication and tag IDs, and publishes the post.

Claude Code

> Publish my Node.js streams guide to
  Hashnode with a cover image and tags

Claude will automatically run:
  postiz integrations:list
  postiz upload ./streams-cover.png
  postiz posts:create \
    -c "$(cat streams-guide.md)" \
    -s "2025-03-02T09:00:00Z" \
    --settings '{"title":
      "Complete Guide to Node.js Streams",
      "publication":"pub-id",
      "main_image":{"id":"...",
        "path":"uploaded-url"},
      "tags":[{"value":"nodejs-id",
        "label":"Node.js"},...]}' \
    -i "hashnode-id"

Hashnode + Other Platforms

Publish the same article to Hashnode and other platforms in a single command. Each platform gets its own settings.

Terminal

# Cross-post an article to Hashnode and Dev.to
postiz posts:create \
  -c "$(cat article.md)" \
  -s "2025-03-01T09:00:00Z" \
  --settings '{
    "title": "Understanding WebSockets",
    "publication": "my-pub-id",
    "canonical": "https://myblog.dev/websockets",
    "tags": [
      {"value": "websocket-tag-id", "label": "WebSockets"},
      {"value": "backend-tag-id", "label": "Backend"}
    ]
  }' \
  -i "hashnode-id,devto-id"

# Batch schedule a week of Hashnode posts
for day in 1 2 3 4 5; do
  postiz posts:create \
    -c "$(cat posts/day${day}.md)" \
    -s "2025-03-0${day}T10:00:00Z" \
    --settings '{"title":"Day '"$day"' Deep Dive","publication":"my-pub-id","tags":[{"value":"series-tag-id","label":"Series"}]}' \
    -i "hashnode-id"
done

Start publishing to Hashnode

Install Postiz Agent and automate your Hashnode content strategy with AI-powered scheduling and publishing.

Ready to get started?

Grow your social media presence with Postiz.
Schedule, analyze, and engage with your audience.

Grow your social media presence with Postiz.