Automate Hashnode with Grok Bot
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.
Please make sure there is always a human in the loop.
Publish to Hashnode in Seconds
Grok Bot
# In any Bot chat, add the Postiz plugin
/add-plugin postiz
# Store POSTIZ_API_KEY as a Bot secret when prompted.
# Your Bot can now run Postiz on its cloud computer:
# 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
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>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.pngPublish 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.
| Field | Type | Description |
|---|---|---|
__type | string | Must be "hashnode" |
title | string | Article title (min 6 characters) |
subtitle | string | Article subtitle (min 2 characters) |
main_image | object | Cover image: {id: string, path: string} |
canonical | string | Original URL for SEO canonical link |
publication | string | Publication ID (required) |
tags | array | At 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 Grok Bot?
Grok Bot is the always-on AI teammate product from xAI and Cursor. You create named Bots, give each one a job, and they work 24/7 on their own persistent cloud computer — with a browser, a filesystem, and a terminal — pinging you only when they need approval.
Grok Bot is not the Grok chatbot. Grok is the assistant you chat with on X and grok.com. Grok Bot is a separate app for delegating real, multi-step work — like running your Hashnode presence with Postiz.
Own Cloud Computer
Every Bot gets a persistent cloud machine with a terminal. Postiz runs there, so your Hashnode posts go out even when your laptop is closed.
Routines
Turn any task into a routine that runs on a schedule. Your Bot drafts, schedules, and reports on Hashnode content without being asked twice.
Approvals Built In
Bots ask before changing external systems. Review the Hashnode posts your Bot prepared in Postiz, approve, and it publishes.
How Postiz Works with Grok Bot
Postiz is listed on the Grok Bot plugin marketplace. Add it to a Bot and the Postiz skill, CLI, and command reference are installed on its cloud computer — the Bot can then manage your Hashnode workflow on its own.
- ✓Type /add-plugin postiz in a Bot chat, or add it from the Plugins sidebar
- ✓Store your POSTIZ_API_KEY as a Bot secret when prompted
- ✓The Bot reads the bundled SKILL.md and learns every Postiz command
- ✓Works in every Bot on your shared workspace, on desktop and iPhone
- ✓Approvals keep a human in the loop before anything is published
Grok Bot
# 1. Add the plugin to your Bot
/add-plugin postiz
# 2. Store your Postiz API key
# as a secret when prompted
# 3. Ask your Bot to verify
You: Find my Hashnode channel in Postiz
Bot: Running postiz integrations:list
Found your Hashnode integration.
All Postiz commands are ready.Hashnode Publishing with Grok Bot
Your Bot reads the Postiz skill, discovers your Hashnode integration, and handles the entire posting workflow — from content creation to scheduling — on its own cloud computer.
Message Your Bot
Desktop, iPhone, or a group chat
Send a message to your Bot from the desktop app or your iPhone. It runs on its own cloud computer, so it picks up your message, discovers your Hashnode account via Postiz, uploads your media, and schedules the post — then asks you to approve before it goes live.
Grok Bot
You: Post to Hashnode about our new
feature launch, schedule for tomorrow
at 9am
Bot: Got it! Here's the plan:
1. Find your Hashnode integration
2. Compose your post content
3. Schedule for tomorrow 9:00 AM
Done! Post scheduled successfully.
Post ID: abc-123Routines
Recurring work on a schedule
Save the task as a routine. Your Bot runs it on a schedule from the cloud, checks for new content, and posts it to Hashnode automatically — no manual trigger needed.
Grok Bot routine
Routine: daily-hashnode-posts
Schedule: Weekdays at 9:00 AM
Instructions:
Check ~/content/posts on your cloud
computer for new .txt files. For
each one, read the content and
schedule a post to Hashnode for
today at noon via Postiz. Move
posted files to ~/content/published
and send me a summary.Why Grok Bot + Postiz for Hashnode
Grok Bot makes Postiz a natural fit for your Hashnode workflow. The Bot reads the plugin's skill, chains the right commands together, and keeps running from the cloud.
- ✓Official plugin — one command install from the marketplace
- ✓Always on — posts to Hashnode from the cloud while you are away
- ✓Terminal access runs Postiz commands directly on the Bot's computer
- ✓Routines for hands-free daily posting
- ✓Cross-post to Hashnode + other platforms in a single conversation
- ✓Approvals keep a human in the loop before publishing
SKILL.md (bundled in the plugin)
---
name: postiz
description: Social media automation
CLI for scheduling posts across
30+ platforms including Hashnode
metadata:
grok-bot:
plugin: postiz
secrets:
- 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, tagsAlso 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.
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"
doneStart 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.
Open-source social media scheduling tool
Tools