doodle top mobile

Automate Dev.to with AI Agents

Publish developer articles to Dev.to, post under organizations, add cover images and canonical URLs, and tag your content — all from the command line or through your AI agent.

Setup GuideClawHub

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

doodle left mobiledoodle right mobile

Publish to Dev.to in Seconds

Terminal

# Install globally
npm install -g postiz

# Set your API key
export POSTIZ_API_KEY=your_api_key

# Find your Dev.to integration
postiz integrations:list

# Publish an article to Dev.to
postiz posts:create \
  -c "# My Article\n\nContent here..." \
  -s "2025-01-15T10:00:00Z" \
  --settings '{"title":"Building with Postiz","tags":[{"value":"opensource","label":"Open Source"}]}' \
  -i "devto-id"

Dev.to-Specific Features

👨‍💻

Developer Articles

Publish technical articles with full Markdown support including code blocks, syntax highlighting, and embedded content.

🏢

Organization Posting

Publish articles under your Dev.to organization. Share content on behalf of your team or company with a single setting.

🖼

Cover Images

Upload and attach eye-catching cover images to your articles. Stand out in the Dev.to feed with visual content.

🔗

Canonical URLs

Set canonical URLs to link back to your original content. Perfect for cross-posting from your personal blog without SEO penalties.

🏷

Smart Tagging

Add up to 4 tags per article to reach the right developer audience. Tags drive discoverability on the Dev.to platform.

📅

Scheduled Publishing

Schedule articles for future publication with precise timestamps. Plan your developer content calendar ahead of time.

How It Works

1

Find Your Dev.to Integration

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

Discovery

# List all integrations
postiz integrations:list

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

# Get Dev.to settings schema
postiz integrations:settings <devto-id>
2

Prepare Your Content

Write your article in Markdown. Dev.to supports rich formatting including headers, code blocks with syntax highlighting, images, and liquid tags.

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 Article

Create a post with your article content, title, cover image, tags, and optional organization and canonical URL settings.

Publish

postiz posts:create \
  -c "# Building with Postiz

Automate your social media workflow
with the Postiz CLI...

```bash
npm install -g postiz
```" \
  -s "2025-03-01T09:00:00Z" \
  --settings '{
    "title": "Building with Postiz",
    "main_image": {
      "id": "img-id",
      "path": "https://uploads.postiz.com/cover.png"
    },
    "canonical": "https://myblog.com/postiz",
    "organization": "org-id",
    "tags": [
      {"value": "opensource", "label": "Open Source"},
      {"value": "webdev", "label": "Web Dev"}
    ]
  }' \
  -i "devto-id"

Dev.to Settings Reference

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

FieldTypeDescription
__typestringMust be "devto"
titlestringArticle title (min 2 characters)
main_imageobjectCover image: {id: string, path: string}
canonicalstringOriginal URL for canonical link
organizationstringOrganization ID to publish under
tagsarrayUp to 4 tags: [{value: string, label: string}]

Common Configurations

Copy-paste these settings for common Dev.to publishing scenarios.

Simple Developer Article

settings.json

{
  "title": "10 TypeScript Tips You Need to Know",
  "tags": [
    {"value": "typescript", "label": "TypeScript"},
    {"value": "javascript", "label": "JavaScript"},
    {"value": "webdev", "label": "Web Dev"},
    {"value": "programming", "label": "Programming"}
  ]
}

Organization Post with Cover Image

settings.json

{
  "title": "Introducing Our New Open Source Tool",
  "main_image": {
    "id": "img-abc123",
    "path": "https://uploads.postiz.com/launch-cover.png"
  },
  "organization": "my-org-id",
  "tags": [
    {"value": "opensource", "label": "Open Source"},
    {"value": "showdev", "label": "Show Dev"},
    {"value": "productivity", "label": "Productivity"}
  ]
}

Cross-Posted Article with Canonical URL

settings.json

{
  "title": "How We Reduced Build Times by 80%",
  "canonical": "https://engineering.mycompany.com/build-times",
  "tags": [
    {"value": "devops", "label": "DevOps"},
    {"value": "ci", "label": "CI/CD"},
    {"value": "performance", "label": "Performance"}
  ]
}

Full-Featured Article

settings.json

{
  "title": "Building a Real-Time Dashboard",
  "main_image": {
    "id": "img-xyz789",
    "path": "https://uploads.postiz.com/dashboard.png"
  },
  "canonical": "https://myblog.dev/real-time-dashboard",
  "organization": "my-team-id",
  "tags": [
    {"value": "react", "label": "React"},
    {"value": "websockets", "label": "WebSockets"},
    {"value": "tutorial", "label": "Tutorial"},
    {"value": "javascript", "label": "JavaScript"}
  ]
}

What is OpenClaw?

OpenClaw is the open-source personal AI agent with 145k+ GitHub stars. It runs locally on your machine, connects through apps you already use, and takes real actions on your behalf.

💬

Works Where You Are

Message OpenClaw from WhatsApp, Telegram, Slack, Discord, Signal, iMessage, or 10+ other platforms. No new app to learn.

🧩

Skill-Based Architecture

OpenClaw extends its abilities through Skills — lightweight plugins defined in Markdown files. Postiz is available as a skill on ClawHub.

Proactive Automation

Schedule recurring tasks with cron jobs. OpenClaw can publish your Dev.to articles on a schedule without you having to ask each time.

How Postiz Becomes an OpenClaw Skill

When you install Postiz Agent globally, OpenClaw automatically discovers it by reading the bundled SKILL.md file. This file tells OpenClaw what commands are available, what environment variables are needed, and how to compose Dev.to articles with the right settings.

  • Install from ClawHub with one command: clawhub install nevo-david/postiz
  • OpenClaw reads the SKILL.md and learns all Postiz commands
  • Eligibility is checked automatically — POSTIZ_API_KEY must be set
  • Skills are loaded on-demand, keeping the agent context clean
  • Works with any LLM backend: Claude, GPT, Gemini, Llama, and more

Install from ClawHub

# Install the Postiz skill
clawhub install nevo-david/postiz

# Or install the CLI globally
npm install -g postiz

# Set your API key
export POSTIZ_API_KEY=your_api_key

# Verify OpenClaw sees it
openclaw skills list --eligible

# Output:
# - postiz: Social media automation
#   CLI for scheduling posts
#   across 30+ platforms

Dev.to Publishing with OpenClaw

Message OpenClaw from any platform — it reads the Postiz skill, discovers your Dev.to integration, and handles the entire publishing workflow autonomously.

🦀

From Any Chat App

WhatsApp, Telegram, Slack, Discord...

Send a message to OpenClaw from your favorite chat app. It runs as a persistent daemon on your machine, so it picks up your message, discovers your Dev.to account via Postiz, formats the article, and publishes it — all while you go about your day.

WhatsApp / Telegram

You: Publish my TypeScript tips article
  to Dev.to under our org, use the
  cover image from ~/images/ts-tips.png

OpenClaw: Got it! Here's what I'll do:
  1. Upload ts-tips.png as cover image
  2. Read your draft from ~/drafts/ts.md
  3. Publish under your organization

  Done! Your Dev.to article is live.
  Post ID: abc-123
🦀

Scheduled & Proactive

Cron jobs for recurring content

OpenClaw supports cron-based heartbeat tasks. Set up a recurring job that checks a folder for new Markdown drafts and publishes them to Dev.to automatically — no manual trigger needed.

openclaw.json (heartbeat)

{
  "heartbeat": [
    {
      "cron": "0 9 * * 2,4",
      "prompt": "Check ~/articles/pending
  for new .md files. For each one,
  extract the title from the front
  matter, upload any cover image,
  publish to Dev.to with relevant
  tags. Move published files
  to ~/articles/published."
    }
  ]
}

Why OpenClaw + Postiz for Dev.to

OpenClaw's skill system makes Postiz a natural fit. The agent reads the SKILL.md to understand every available command, then autonomously chains them together for Dev.to workflows.

  • Message from WhatsApp to publish a Dev.to article — no terminal needed
  • Cron jobs for hands-free weekly publishing schedules
  • Structured JSON output lets OpenClaw verify each step succeeded
  • Cover images uploaded and attached automatically
  • Cross-post to Dev.to + other platforms in a single conversation
  • Model-agnostic — works with Claude, GPT, Gemini, or open-source LLMs

SKILL.md (auto-discovered)

---
name: postiz
description: Social media automation
  CLI for scheduling posts across
  30+ platforms including Dev.to
metadata:
  openclaw:
    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>

# Dev.to Settings
title, main_image, canonical,
organization, 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 Dev.to integration, uploads your cover image, applies tags and organization settings, and publishes the article.

Claude Code

> Publish my React tutorial to Dev.to
  under our org with a cover image,
  tag it with react and webdev

Claude will automatically run:
  postiz integrations:list
  postiz upload ./cover.png
  postiz posts:create \
    -c "$(cat react-tutorial.md)" \
    -s "2025-03-02T09:00:00Z" \
    --settings '{"title":
      "React Tutorial",
      "main_image":{"id":"...",
        "path":"uploaded-url"},
      "organization":"org-id",
      "tags":[...]}' \
    -i "devto-id"

Dev.to + Other Platforms

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

Terminal

# Cross-post an article to Dev.to and Medium
postiz posts:create \
  -c "$(cat article.md)" \
  -s "2025-03-01T09:00:00Z" \
  --settings '{
    "title": "Building Real-Time Apps",
    "canonical": "https://myblog.dev/real-time",
    "tags": [
      {"value": "webdev", "label": "Web Dev"},
      {"value": "react", "label": "React"}
    ]
  }' \
  -i "devto-id,medium-id"

# Batch schedule a week of Dev.to articles
for day in 1 2 3 4 5; do
  postiz posts:create \
    -c "$(cat articles/day${day}.md)" \
    -s "2025-03-0${day}T09:00:00Z" \
    --settings '{"title":"Day '"$day"' Dev Tips","tags":[{"value":"tutorial","label":"Tutorial"}]}' \
    -i "devto-id"
done

Start publishing to Dev.to

Install Postiz Agent and automate your Dev.to 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.