Automate Discord with Hermes Agent
Send messages to Discord channels, attach media, schedule announcements, and integrate with your bot β all from the command line or through your AI agent.
Please make sure there is always a human in the loop.
Post to Discord 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 Discord integration
postiz integrations:list
# Send a message to a Discord channel
postiz posts:create \
-c "Hello everyone! Big announcement coming soon." \
-s "2025-01-15T10:00:00Z" \
--settings '{"channel":"123456789012345678"}' \
-i "your-discord-integration-id"Discord-Specific Features
Channel Messaging
Send messages directly to any Discord channel. Target announcements, general chat, or dedicated content channels.
Media Attachments
Attach images, videos, and files to your Discord messages. Share rich content with your community automatically.
Scheduled Messages
Schedule Discord messages for specific times. Perfect for announcements, event reminders, and timed content drops.
Bot Integration
Works through your Discord bot connection. Post messages as your bot to any server and channel it has access to.
Community Updates
Automate recurring community updates, changelogs, and newsletters. Keep your Discord server engaged on autopilot.
Multi-Channel
Post to different channels with different messages. Customize content for each channel in your Discord server.
How It Works
Find Your Discord Integration
List your connected accounts and grab your Discord integration ID. You can also fetch available settings to see what options are supported.
Discovery
# List all integrations
postiz integrations:list
# Filter for Discord
postiz integrations:list | jq \
'.[] | select(.identifier=="discord")'
# Get Discord settings schema
postiz integrations:settings <discord-id>Get Your Channel ID
Find the Discord channel ID where you want to post. In Discord, enable Developer Mode, then right-click the channel and copy its ID.
Channel Setup
# Enable Developer Mode in Discord:
# User Settings > Advanced > Developer Mode
# Right-click any channel > Copy Channel ID
# Example: 123456789012345678
# You can target any channel your bot
# has permission to post inCreate Your Message
Schedule a Discord message with your content, optional media attachments, and the target channel ID.
Message Creation
postiz posts:create \
-c "Hey everyone! We just shipped
a major update. Check it out!" \
-s "2025-03-01T09:00:00Z" \
--settings '{
"channel": "123456789012345678"
}' \
-i "discord-id"
# With media attachment
VIDEO=$(postiz upload demo.mp4)
VIDEO_URL=$(echo "$VIDEO" | jq -r '.path')
postiz posts:create \
-c "Demo of the new feature" \
-m "$VIDEO_URL" \
--settings '{"channel":"123456789"}' \
-i "discord-id"Discord Settings Reference
Every Discord message accepts these platform-specific settings via the --settings flag.
| Field | Type | Description |
|---|---|---|
__type | string | Must be "discord" |
channel | string | Discord channel ID to post to |
Common Configurations
Copy-paste these settings for common Discord messaging scenarios.
Announcement Channel Message
settings.json
{
"channel": "123456789012345678"
}Message with Media Attachment
Terminal
# Upload media first
IMAGE=$(postiz upload screenshot.png)
IMAGE_URL=$(echo "$IMAGE" | jq -r '.path')
# Post with attachment
postiz posts:create \
-c "Here's a preview of what's coming next!" \
-m "$IMAGE_URL" \
--settings '{"channel":"123456789012345678"}' \
-i "discord-id"Scheduled Weekly Update
Terminal
# Schedule a weekly update for Monday morning
postiz posts:create \
-c "Weekly Update - March 3, 2025
Here's what we shipped this week:
- Feature A: New dashboard
- Feature B: API improvements
- Bug fix: Login issue resolved
Thanks for being part of our community!" \
-s "2025-03-03T09:00:00Z" \
--settings '{"channel":"123456789012345678"}' \
-i "discord-id"Multi-Channel Posting
Terminal
# Post to announcements channel
postiz posts:create \
-c "v2.0 is live! Check the changelog." \
--settings '{"channel":"111111111111111111"}' \
-i "discord-id"
# Post detailed changelog to dev channel
postiz posts:create \
-c "v2.0 Changelog:
- Redesigned API layer
- 50% faster response times
- New webhook support" \
--settings '{"channel":"222222222222222222"}' \
-i "discord-id"What is Hermes Agent?
Hermes Agent is an open-source AI agent framework by Nous Research β βthe agent that grows with you.β It's a flexible platform for building and running AI agents that can execute real-world tasks.
Grows With You
Hermes Agent learns and adapts to your workflows over time. The more you use it, the better it understands your social media strategy and content style.
Open-Source Framework
Built by Nous Research, Hermes Agent is fully open-source. Customize and extend it to fit your exact social media automation needs.
Tool Execution
Schedule recurring tasks with cron jobs. Hermes Agent can send your Discord messages on a schedule without you having to ask each time.
How Postiz Works with Hermes Agent
When you install Postiz Agent globally, Hermes Agent automatically discovers it by reading the bundled SKILL.md file. This file tells Hermes Agent what commands are available, what environment variables are needed, and how to compose Discord messages with the right settings.
- βInstall Postiz Agent globally with npx skills add
- βHermes Agent discovers Postiz through tool execution framework
- βPOSTIZ_API_KEY must be set in environment
- βAll Postiz commands become available as agent tools
- βWorks with any compatible LLM backend
Install Postiz
# Install the Postiz skill
npx skills add gitroomhq/postiz-agent
# Set your API key
export POSTIZ_API_KEY=your_api_key
# Hermes Agent discovers Postiz
# through its tool execution framework
hermes tools listDiscord Messaging with Hermes Agent
Message Hermes Agent from any platform β it reads the Postiz skill, discovers your Discord integration, and handles the entire messaging workflow autonomously.
From Any Chat App
Hermes Agent reads Postiz commands throu...
Send a message to Hermes Agent from your favorite chat app. It runs as a persistent daemon on your machine, so it picks up your message, discovers your Discord bot via Postiz, and sends the message to the right channel β all while you go about your day.
Hermes Agent
You: Post to Discord about our new
feature launch, schedule for tomorrow
at 9am
Hermes: I'll handle that! Let me:
1. Find your Discord integration
2. Compose your post content
3. Schedule for tomorrow 9:00 AM
Done! Post scheduled successfully.
Post ID: abc-123Scheduled & Proactive
Hermes Agent supports scheduled tas...
Hermes Agent supports cron-based heartbeat tasks. Set up a recurring job that sends weekly updates, daily tips, or event reminders to your Discord server automatically β no manual trigger needed.
hermes-config.yaml
scheduled_tasks:
- name: daily_social_posts
schedule: "0 9 * * 1-5"
prompt: |
Check ~/content/posts for new
.txt files. For each one, read
the content and schedule a post
to Discord for today at noon.
Move posted files to
~/content/published.Why Hermes Agent + Postiz for Discord
Hermes Agent makes Postiz a natural fit for your Discord workflow. The agent discovers all available commands and autonomously chains them together.
- βOpen-source and fully customizable for your Discord workflow
- βGrows and adapts to your content strategy over time
- βTool execution framework discovers Postiz commands automatically
- βScheduled tasks for hands-free daily posting
- βCross-post to Discord + other platforms in a single conversation
- βWorks with any LLM backend β not locked to a single provider
SKILL.md (auto-discovered)
---
name: postiz
description: Social media automation
CLI for scheduling posts across
30+ platforms including Discord
metadata:
hermes-agent:
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>
# Discord Settings
channel (required channel ID)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.
Claude Code
by Anthropic
Claude reads the SKILL.md file to learn all available Postiz commands, then autonomously discovers your Discord integration, identifies the right channel, and sends your message with any attachments.
Claude Code
> Send an announcement to our Discord
#releases channel that v2.0 is live,
attach the changelog screenshot
Claude will automatically run:
postiz integrations:list
postiz upload ./changelog.png
postiz posts:create \
-c "v2.0 is now live! Check out
the changelog below." \
-m "uploaded-image-url" \
--settings '{"channel":
"123456789012345678"}' \
-i "discord-id"Discord + Other Platforms
Schedule the same announcement to Discord and other platforms in a single command. Each platform gets its own settings.
Terminal
# Announce to Discord and Twitter simultaneously
postiz posts:create \
-c "We just launched v2.0! New features, faster performance, and more." \
-s "2025-03-01T09:00:00Z" \
--settings '{
"channel": "123456789012345678"
}' \
-i "discord-id,twitter-id"
# Batch schedule daily tips to Discord
for day in 1 2 3 4 5; do
postiz posts:create \
-c "Daily Tip #$day: Stay productive with automation!" \
-s "2025-03-0${day}T10:00:00Z" \
--settings '{"channel":"123456789012345678"}' \
-i "discord-id"
doneStart posting to Discord
Install Postiz Agent and automate your Discord community messaging 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