How to Automate Social Media with Hermes Agent

Install the Postproxy skill in Hermes Agent, add your API key to ~/.hermes/.env, and let Hermes publish to 11 platforms from any chat app or on a schedule.

What Hermes Agent is

Hermes Agent is an open-source, self-hosted AI agent from Nous Research — “the agent that grows with you.” It runs on your own server, keeps persistent memory across sessions, runs scheduled work over cron, and reaches you through the channels you already use — Telegram, Discord, Slack, WhatsApp, Email, Matrix, and more. You extend it with skills: portable SKILL.md documents that teach the agent a capability, compatible with the agentskills.io open standard.

The Postproxy skill gives Hermes the full Postproxy API: publishing, scheduling, drafts, queues, comments, DMs, and stats across Facebook, Instagram, TikTok, LinkedIn, YouTube, X (Twitter), Threads, Pinterest, Bluesky, Telegram, and Google Business.

Quick reference

DetailValue
Skill namepostproxy
Skill sourcegithub.com/postproxy/postproxy-skill
Install commandhermes skills install https://raw.githubusercontent.com/postproxy/postproxy-skill/main/SKILL.md
AuthenticationBearer token via POSTPROXY_API_KEY
API key locationapp.postproxy.dev/api_keys
Config files~/.hermes/config.yaml (settings), ~/.hermes/.env (secrets)
Base URLhttps://api.postproxy.dev

Setup

This assumes Hermes is already installed and configured (hermes setup). If not, install it first:

Terminal window
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
hermes setup

1. Install the skill

Terminal window
hermes skills install https://raw.githubusercontent.com/postproxy/postproxy-skill/main/SKILL.md

This adds the skill to Hermes’ skills directory. Because the skill follows the agentskills.io standard, you can also install it from the community registry or with the cross-agent installer npx skills add postproxy/postproxy-skill. The SKILL.md is plain instructions and API reference — nothing executable — so you can read it on the skill repo before installing.

2. Configure the API key

Create an API key at app.postproxy.dev/api_keys, then add it to Hermes’ environment file:

Terminal window
echo 'POSTPROXY_API_KEY=pp_live_your_key_here' >> ~/.hermes/.env

Hermes also prompts you for any secrets a skill declares the first time it loads, so hermes skills config postproxy will ask for the key if you’d rather set it interactively. Either way it lands in ~/.hermes/.env. All platform authentication (Instagram OAuth, TikTok tokens, LinkedIn pages) lives in your Postproxy account — Hermes only ever holds this one key.

3. Restart Hermes

Environment changes are picked up when the agent restarts:

Terminal window
hermes restart

4. Verify

Message your agent on any connected channel:

List my connected Postproxy profiles.

It should reply with the social accounts connected to your Postproxy workspace. If it doesn’t, see Common issues.

Usage

Message Hermes in plain language:

Post “We just shipped scheduled DMs — details in the changelog” to X, LinkedIn, and Threads.

That’s it — Postproxy handles per-platform formatting rules, media processing, rate limits, and retries, and Hermes reports the per-platform results back in chat.

What you can ask for:

PromptWhat happens
”Schedule this for tomorrow 9am”Post goes out at 9am, confirmation in chat
”Save it as a draft first”Draft waits in your dashboard until you say publish
”Add it to the content queue”Post takes the next free slot in your posting schedule
”Attach this image”Media you share in chat goes out with the post
”Any new comments on the launch post?”Comments from every platform, in one reply
”Reply to that review”Your response lands on the Google Business review
”How did last week’s posts do?”Post and follower stats summarized in chat

Platform-specific fields work too — Instagram Reels format, TikTok and YouTube privacy_status, Pinterest boards — the skill knows where each applies.

Schedule posts with cron

Hermes ships scheduling as a first-class feature: cron jobs run in fresh agent sessions and can carry skills with them. Point one at the Postproxy skill and Hermes publishes while you sleep. A realistic setup:

Every weekday at 8am, read my changelog at example.com/changelog, and if there’s a new entry, draft a short post about it and send it to me on Telegram for approval before publishing.

The job runs on its own, drafts the post, and waits for your reply in chat — nothing goes out without a human look.

Get publish results pushed back

Postproxy can send webhooks when a post finishes processing. Point them at Hermes so the agent tells you the outcome instead of you asking — register your gateway URL as a webhook endpoint in the Postproxy dashboard, and have Hermes summarize the payload back to your preferred channel. When a scheduled post publishes (or a platform fails), you get the per-platform result in chat.

Advanced workflows

Blog-to-social. A cron job watches your RSS feed, summarizes new posts, adapts the copy per platform, and publishes through Postproxy.

Content calendar from chat. A realistic multi-step request:

Read this week’s changelog at example.com/changelog, write three short posts about the highlights, and schedule them Monday, Wednesday, and Friday at 10am on X and LinkedIn. Show me the drafts before scheduling.

Hermes fetches the page, drafts the posts, sends them for approval in chat, then makes three scheduled Postproxy calls. Approval stays in the conversation — no dashboard round-trip.

Draft-first for autonomous instances. The skill posts with the full permissions of your API key. Since Hermes runs cron jobs and acts autonomously, prefer “create a draft and send it to me for review” prompts so nothing publishes without a human look — the skill itself asks for confirmation before anything public or irreversible. A wrong post is recoverable too: “delete that last post” works.

Common issues

IssueFix
Skill doesn’t triggerConfirm it installed (hermes skills list); ask explicitly (“use the Postproxy skill to…”) once
401 UnauthorizedKey missing from ~/.hermes/.env, copied with whitespace, or Hermes wasn’t restarted after the edit
Profile not found for XThe platform isn’t connected in your Postproxy account, or the agent used an unrecognised network name
Missing privacy_status (TikTok/YouTube)These platforms require it — tell the agent “public” or “private”
Post stuck in processingLong video uploads take time; ask the agent to check status, or watch the Postproxy dashboard
Rate limit errorsStagger bulk requests — ask Hermes to queue posts instead of firing them at once

Hermes skill vs MCP server

Postproxy also ships a remote MCP server. The difference: MCP is a protocol-level integration for MCP-capable clients (Claude, Claude Code, IDEs); the Hermes skill is plain instructions over the REST API, so it works with whatever model your Hermes instance runs. If you use both, they hit the same account and the same API.

Running a different agent? The same skill installs into OpenClaw too — the SKILL.md format is portable across both.

Community walkthrough

Here’s a community video walking through Hermes Agent:

Ready to get started?

Start with our free plan and scale as your needs grow. No credit card required.