planpo.st
FeaturesFor AI agentsRevenue trackingPlatformsPricingBlogSupport
Sign inStart free trial →
planpo.st

Social scheduling with revenue built in. One platform for creators and businesses who treat social as a growth engine.

Product

SchedulerFor creatorsFor agenciesCompare toolsAlternativesPricing

Channels

InstagramLinkedInX (Twitter)ThreadsFacebookYouTubeTikTokAll channels →

AI agents

MCP serverFor AI agentsClaude CodeCursorChatGPTGemini CLIAll agents →

Revenue

Revenue trackingRevenue attributionStripeShopifyRevenueCatAll integrations →

Resources

DocsMCP toolsAPI referenceBlogAboutSupportContactPrivacyTerms

Compare planpo.st

  • planpo.st vs Postiz
  • planpo.st vs Buffer
  • planpo.st vs Hootsuite
  • planpo.st vs Later
  • planpo.st vs Sprout Social
  • planpo.st vs SocialBee
  • planpo.st vs Planable
  • planpo.st vs Metricool
  • planpo.st vs Loomly
  • planpo.st vs Publer
  • planpo.st vs Post Bridge
  • planpo.st vs Mixpost
  • planpo.st vs Blotato
  • planpo.st vs Typefully
  • planpo.st vs RecurPost
  • planpo.st vs Post Planner
  • All comparisons →
  • Alternatives →
© 2026 planpo.st · all rights reservedstatus: ● all systems normal
  1. Home
  2. /AI agents
  3. /Hermes Agent
  4. /Facebook
Hermes Agent · Facebook

How to post to Facebook from Hermes Agent

Message the agent and the Page gets the post. Keep it on drafts if you type fast.

Start 7-day free trial →Hermes Agent setup docs
On this pageStepsWhat worksSettingsPromptsLimitsRevenueFAQ

How do I post to Facebook from Hermes Agent?

Add the planpo.st MCP server to Hermes Agent, connect Facebook once in the dashboard, then ask. The first three steps are one-time.

  1. 1

    Create an API key and add planpo.st to Hermes

    Make a scoped key in planpo.st under Settings. Add an MCP server by local command in Hermes: npx with the arguments -y planpost-mcp and PLANPOST_API_KEY in its environment. New servers are disabled by default in Hermes, so enable planpost after adding it.

  2. 2

    Confirm the server is connected

    Ask Hermes to list your planpo.st connections. If it has no such tool, the server is still disabled.

  3. 3

    Connect Facebook

    Connect a Facebook Page in the dashboard under Connections. planpo.st publishes to Pages; each Page is one connection, and the agent can produce the connect URL with get_connection_link.

  4. 4

    Know what the post needs

    A Facebook post needs text and nothing else. The limit is 63,206 characters, media is optional and no platformSettings are required.

  5. 5

    Ask in a chat app or the desktop app

    Say what to post and when. Hermes finds the Facebook connection, creates the post, and tells you whether it was scheduled or kept as a draft, with the reason.

Local, via the MCP settings
Add an MCP server by local command:

Command:  npx
Args:     -y planpost-mcp
Env:      PLANPOST_API_KEY=pk_live_xxx

Replace pk_live_xxx with your own key.

Which transport does Hermes Agent use?

For Hermes use the local command. Hermes documents SSE for remote servers and the planpo.st endpoint speaks streamable HTTP, so a URL connection is something to test on your version, not to assume. Enable the server after adding it.

  • Hermes manages MCP servers from its settings and a CLI, and servers can be added by URL or by local command. The local command above is the tested path.
  • Hermes documents SSE for remote servers. Our hosted endpoint speaks streamable HTTP, which is the newer transport, so verify a URL connection against your Hermes version before relying on it and use the local command if it does not connect.
  • MCP servers you add are disabled by default in Hermes until you enable them, which is deliberate on their side.

The full walkthrough is on the Hermes Agent setup page.

What can Hermes Agent do on Facebook?

It can publish text posts with a link preview, single photos, multi-photo posts, videos and Reels to a Page, and it can leave a post unpublished as a draft on the Page. It cannot post to a personal profile or publish Facebook Stories.

Text and link

A text post. The first URL in it is attached as the link, which is what makes Facebook draw the preview card.

Photos

One image is a photo post, several are a multi-photo post.

Video or Reel

postType "reel" publishes a Reel. A portrait video of 180 seconds or less is routed to Reels as well.

Draft on the Page

optional

publishAsDraft creates the post unpublished, for someone to review and publish inside Facebook.

Attachments are optional on Facebook. When a post should carry one, that is the one awkward part of this pairing. When you message Hermes from a chat app, the file is not on a disk it can PUT to an upload URL. Two routes work: upload the file in the planpo.st dashboard and let Hermes pick it with list_media, or ask for a carousel rendered from text with render_carousel.

Which settings does a Facebook post take?

Facebook reads two settings, both optional. Which Page receives the post is decided by the connection, not by a setting.

FieldAllowed valuesIf you leave it outWorth knowing
platformSettings.facebook.publishAsDrafttrue or falsefalse, published livetrue creates the post unpublished on the Page. It stays there until someone publishes it in Facebook.
platformSettings.facebook.isReeltrue or falseSet from postTypepostType "reel" or "short" sets it. A portrait video up to 180 seconds becomes a Reel without it.
postType"post" or "reel""post""story" is accepted with a Facebook connection and has no Story publisher behind it, so do not use it for Facebook.
platformSettings.facebook.pageIdNot readThe connection's PagePick the Page with connectionIds. One connection is one Page.
platformContent.facebookText, 63,206 characters or fewerThe shared contentIn practice the limit is never the problem.
media, platformMedia.facebookImages, or one videoText postThe first attachment decides the kind of post. With a video first, only that video is used.

What do I type to post to Facebook from Hermes Agent?

Plain requests work. Each example lists the tool calls Hermes Agent makes in response.

1. Page post with a preview card

You say

Take the idea from my last message. Write a short Facebook Page post about it with the link to the full write-up, and schedule it for tomorrow 08:30.

Tool calls

create_post({ content: "<two or three sentences> https://...", connectionIds: ["<page id>"], schedule: "tomorrow 08:30" })

A scheduled text post. At publish the first URL is attached as the link, so the Page shows the preview card and the link is tracked.

2. Leave it as a draft on the Page

You say

Use the three bullet points I sent this morning. Prepare a Facebook post from it for the client's Page, but as an unpublished draft there. They want to press publish themselves.

Tool calls

create_post({ content: "<post text>", platformSettings: { facebook: { publishAsDraft: true } }, connectionIds: ["<client page id>"], schedule: "today 15:00" })

At 15:00 the post is created on the Page as a draft, not shown to followers. The client finds it in the Page's own tools.

3. A photo set

You say

Use the last image I uploaded to planpo.st. Add the three other photos from the same shoot in my library and publish them together on the Page on Saturday 10:00.

Tool calls

list_media({ type: "image" })
list_media({ type: "image" })
create_post({ content: "<caption>", media: [<4 images>], connectionIds: ["<page id>"], schedule: "saturday 10:00" })

One multi-photo post. list_media returns items already shaped for the media array, so they pass straight through.

What stops a Facebook post from Hermes Agent?

The tag on a card is the code that comes back in the tool result.

Pages only

The publisher posts to the Page behind the connection. Personal profiles and groups are not targets.

No Facebook Stories

Stories are published for Instagram. A Facebook connection has no Story path, so a "story" post would go out as an ordinary photo or video.

The first URL becomes the card

In a text post the first link is the one Facebook previews. Put the link you care about first, or keep it to one.

Vertical video goes to Reels

Portrait video of 180 seconds or less is sent as a Reel even with post type "post". Landscape video stays a regular video post.

One video per post

When the first attachment is a video, the rest are ignored. Photos and video do not mix in one post.

63,206 characters

char_limit

The check exists and you will not hit it by accident.

Added is not enabled

Hermes

Hermes keeps new MCP servers switched off until you enable them. If the agent answers as though planpo.st does not exist, that is why.

Use the local command

Hermes

Hermes documents SSE for remote servers and the planpo.st endpoint speaks streamable HTTP. The local npx command is the tested path.

Can Hermes Agent tell me what a Facebook post earned?

Yes. Links in Facebook posts are clickable and the first one becomes the preview card, so a tracked link gets clicks that payments can be matched to. get_revenue_overview returns the totals and recent transactions. Pages that sell physical products tend to have Shopify behind them, and that is the integration I would connect first.

Shopify integration How revenue attribution works

Hermes Agent and Facebook: questions people ask

Can Hermes upload an image from my machine for Facebook?
Not directly. When you message Hermes from a chat app, the file is not on a disk it can PUT to an upload URL. Upload the file in the dashboard and Hermes finds it with list_media, or have it render one: render_carousel makes branded images from text.
Can it post to my personal Facebook profile?
No. It publishes to Facebook Pages. Each connected Page has its own connection ID.
What does publishAsDraft do?
It creates the post on the Page unpublished. Nobody sees it until someone publishes it from Facebook's own tools, which suits a client who wants the last click.
What happens when Hermes sends a Facebook post that breaks a rule?
It is told at once. The usual case on Facebook is a Page whose connection has lapsed: the post is kept as a draft and the tool result carries connection_inactive plus the fix, which Hermes applies with update_post.
Can I post to Facebook from Telegram or Slack?
Yes, that is the point of Hermes. The same agent answers in the chat apps it is connected to and on the desktop, with the planpo.st tools behind it in each. Keep it on drafts or approval, so a mistyped message costs you a bad draft and nothing more.
Can Hermes use the hosted endpoint?
Test it against your Hermes version before relying on it. Hermes documents SSE for remote servers and our endpoint is streamable HTTP. The local command works regardless and reaches Facebook the same way.

Keep going

Facebook from other agents

Claude Code to FacebookCursor to FacebookClaude Desktop to FacebookChatGPT to FacebookGemini CLI to FacebookCodex CLI to FacebookGoogle Antigravity to Facebook

Other networks from Hermes

Hermes to ThreadsHermes to LinkedInHermes to InstagramHermes to XHermes to YouTubeHermes to TikTok

Background

Hermes Agent overviewHermes Agent setupFacebook scheduling guideMCP tool reference