PageSourceSearch

https://postiz.com/_next/static/chunks/pages/hermes-agent/medium-5660fe25b9a259cd.js

js postiz.com collected 2026-10-02 04:24:25 UTC 39,119 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8465],{95685:function(e,t,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/hermes-agent/medium",function(){return s(53179)}])},53179:function(e,t,s){"use strict";s.r(t),s.d(t,{__N_SSG:function(){return k}});var i=s(85893),a=s(67294),n=s(9008),o=s.n(n),r=s(25675),l=s.n(r),d=s(41664),c=s.n(d),m=s(56969),p=s(86245),x=s(57465),h=s(58866);let u=[{field:"__type",type:"string",required:!0,description:'Must be "medium"'},{field:"title",type:"string",required:!0,description:"Article title (min 2 characters)"},{field:"subtitle",type:"string",required:!0,description:"Article subtitle (min 2 characters)"},{field:"canonical",type:"string",required:!1,description:"Original URL for SEO canonical link"},{field:"publication",type:"string",required:!1,description:"Publication ID to publish under"},{field:"tags",type:"array",required:!1,description:"Up to 4 tags: [{value: string, label: string}]"}],g={title:"How to Publish to Medium from Hermes Agent | Postiz",description:"Publish Medium articles from Hermes Agent with Postiz. Set the title, subtitle, tags, publication, and canonical URL, then schedule by asking in plain language.",canonical:"https://postiz.com/hermes-agent/medium",h1:"Publish to Medium from Hermes Agent",intro:"Hermes Agent can publish and schedule Medium articles through Postiz. After you add the Postiz skill, you give Hermes the article text or a file from Telegram, Discord, Slack, or the CLI. It sets the title, subtitle, and tags, publishes under your publication when asked, and adds a canonical URL when you are cross-posting.",name:"Medium",channelPage:!0,otherAgents:[{label:"Claude Code",href:"/claude-code/medium"},{label:"OpenClaw",href:"/openclaw/medium"},{label:"Codex",href:"/codex/medium"}]},f=[{prompt:"Publish my draft in ~/posts/agents.md to Medium under our publication with the tags AI and Automation, tomorrow at 9am.",result:"Hermes reads the file, sets title, publication, and tags, and schedules the article."},{prompt:"Cross-post this blog article to Medium with the canonical URL pointing back to our site.",result:"Hermes sets canonical to your original URL so search engines credit the source."},{prompt:"Which Medium publications can I publish to from Postiz?",result:"Hermes fetches your publications through postiz integrations:trigger and lists them."}],y=["title is required and must be at least 2 characters. The post content is the article body.","Postiz accepts up to 4 tags per Medium article, passed as value/label pairs.","Set canonical when the article first appeared elsewhere so Medium points search engines to the original.","publication is a publication ID. Ask Hermes to list your publications if you are unsure which one to use."],b=[{question:"Can Hermes Agent publish articles to Medium?",answer:"Yes. With the Postiz skill installed, Hermes Agent creates and schedules Medium articles with a title, subtitle, tags, and optional publication and canonical URL. It can read the draft from a file or write it for you. You ask in plain language from any chat Hermes is connected to and it runs the Postiz commands."},{question:"How do I connect Medium to Hermes Agent?",answer:"Connect your Medium account in the Postiz dashboard, then install the Postiz skill in Hermes with npx skills add gitroomhq/postiz-agent and set POSTIZ_API_KEY. Hermes finds the Medium channel with postiz integrations:list. Your Medium token stays in Postiz; Hermes only holds the Postiz API key."},{question:"Can Hermes Agent publish to a Medium publication?",answer:"Yes. The publication setting takes a publication ID. Hermes fetches the publications you belong to through Postiz, matches the name you gave, and passes the ID. If you leave it out, the article publishes on your personal Medium profile instead."},{question:"How does Hermes Agent handle canonical URLs on Medium?",answer:"When you say the article was first published elsewhere, Hermes sets the canonical field to that original URL. Medium then adds a canonical link so search engines treat your site as the source, which protects your SEO when you syndicate blog posts to Medium."},{question:"Can Hermes Agent publish to Medium on a schedule?",answer:'Yes. Hermes Agent has a built-in cron scheduler. Run hermes cron create "every wednesday 9am" with a prompt such as "publish the newest file in ~/posts/ready to Medium via Postiz with canonical set to our blog". Hermes runs 
1it unattended and confirms in your chat.'}],j=[{name:"Dev.to",slug:"devto",description:"Developer articles and organizations"},{name:"Hashnode",slug:"hashnode",description:"Blog posts and publications"},{name:"WordPress",slug:"wordpress",description:"Posts, pages, and featured images"},{name:"LinkedIn",slug:"linkedin",description:"Professional posts and image carousels"},{name:"X (Twitter)",slug:"x",description:"Tweets, threads, and reply controls"}],w={"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://postiz.com/hermes-agent/medium",url:"https://postiz.com/hermes-agent/medium",name:"How to Publish to Medium from Hermes Agent | Postiz",description:"Publish Medium articles from Hermes Agent with Postiz. Set the title, subtitle, tags, publication, and canonical URL, then schedule by asking in plain language.",dateModified:"2026-09-23",isPartOf:{"@type":"WebSite",name:"Postiz",url:"https://postiz.com"},about:[{"@type":"SoftwareApplication",name:"Hermes Agent",applicationCategory:"DeveloperApplication",operatingSystem:"Linux, macOS, Windows",license:"https://opensource.org/licenses/MIT",author:{"@type":"Organization",name:"Nous Research"},url:"https://github.com/NousResearch/hermes-agent"},{"@type":"SoftwareApplication",name:"Postiz",applicationCategory:"BusinessApplication",url:"https://postiz.com"}]},{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://postiz.com/"},{"@type":"ListItem",position:2,name:"Hermes Agent",item:"https://postiz.com/hermes-agent"},{"@type":"ListItem",position:3,name:"Medium",item:"https://postiz.com/hermes-agent/medium"}]},{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"Can Hermes Agent publish articles to Medium?",acceptedAnswer:{"@type":"Answer",text:"Yes. With the Postiz skill installed, Hermes Agent creates and schedules Medium articles with a title, subtitle, tags, and optional publication and canonical URL. It can read the draft from a file or write it for you. You ask in plain language from any chat Hermes is connected to and it runs the Postiz commands."}},{"@type":"Question",name:"How do I connect Medium to Hermes Agent?",acceptedAnswer:{"@type":"Answer",text:"Connect your Medium account in the Postiz dashboard, then install the Postiz skill in Hermes with npx skills add gitroomhq/postiz-agent and set POSTIZ_API_KEY. Hermes finds the Medium channel with postiz integrations:list. Your Medium token stays in Postiz; Hermes only holds the Postiz API key."}},{"@type":"Question",name:"Can Hermes Agent publish to a Medium publication?",acceptedAnswer:{"@type":"Answer",text:"Yes. The publication setting takes a publication ID. Hermes fetches the publications you belong to through Postiz, matches the name you gave, and passes the ID. If you leave it out, the article publishes on your personal Medium profile instead."}},{"@type":"Question",name:"How does Hermes Agent handle canonical URLs on Medium?",acceptedAnswer:{"@type":"Answer",text:"When you say the article was first published elsewhere, Hermes sets the canonical field to that original URL. Medium then adds a canonical link so search engines treat your site as the source, which protects your SEO when you syndicate blog posts to Medium."}},{"@type":"Question",name:"Can Hermes Agent publish to Medium on a schedule?",acceptedAnswer:{"@type":"Answer",text:'Yes. Hermes Agent has a built-in cron scheduler. Run hermes cron create "every wednesday 9am" with a prompt such as "publish the newest file in ~/posts/ready to Medium via Postiz with canonical set to our blog". Hermes runs it unattended and confirms in your chat.'}}]}]},N=e=>{let{children:t,title:s}=e;return(0,i.jsxs)("div",{className:"rounded-[16px] overflow-hidden border border-white border-opacity-10",children:[s&&(0,i.jsx)("div",{className:"bg-[#1A1919] px-5 py-3 border-b border-white border-opacity-10",children:(0,i.jsx)("p",{className:"text-[14px] text-[#d1d1d1] font-mono",children:s})}),(0,i.jsx)("pre",{className:"bg-[#0e0e0e] p-5 overflow-x-auto",children:(0,i.jsx)("code",{className:"text-[14px] leading-[22px] text-[#d1d1d1] font-mono whitespace-pre",children:t})})]})},A=e=>{let{number:t,title:s,description:a,code:n,codeTitle:o}=e;return(0,i.jsxs)("div",{className:"flex flex-col lg:flex-row gap-6 lg:gap-10 items-start",children:[(0,i.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,i.jsxs)("div",{className:"flex items-center gap-3",children:[(0,i.jsx)("div",{className:"w-10 h-10 flex items-center justify-center bg-gradient-to-br from-[#682EE1] to-[#2A0772] rounded-full shrink-0",children:(0,i.jsx)("span",{className:"text-[16px] font-jakarta font-bold",children:t})}),(0,i.jsx)("h4",{className:"text-[20px] leading-[22px] sm:text-[24px] sm:leading-[26.4px] font-jakarta font-semibold",children:s})]}),(0,i.jsx)("p",{className:"text-[16px] leading-[24px] sm:text-[18px] sm:leading-[27px] text-[#d1d1d1] pl-[52px]",children:a})]}),(0,i.jsx)("div",{className:"flex-1 w-full",children:(0,i.jsx)(N,{title:o,children:n})})]})},v=e=>{let{icon:t,title:s,description:a}=e;return(0,i.jsxs)("div",{className:"flex flex-col gap-4 p-6 sm:p-8 bg-[#1A1919] rounded-[16px] sm:rou
1nded-[20px] border border-white border-opacity-10",children:[(0,i.jsx)("div",{className:"w-12 h-12 sm:w-14 sm:h-14 flex items-center justify-center bg-gradient-to-br from-[#682EE1] to-[#2A0772] rounded-xl",children:(0,i.jsx)("span",{className:"text-2xl sm:text-3xl",children:t})}),(0,i.jsx)("h4",{className:"text-[20px] leading-[22px] sm:text-[24px] sm:leading-[26.4px] font-jakarta font-semibold",children:s}),(0,i.jsx)("p",{className:"text-[16px] leading-[20.83px] sm:text-[18px] sm:leading-[23.44px] text-[#d1d1d1]",children:a})]})};var k=!0;t.default=(0,m.C)(()=>{let[e,t]=(0,a.useState)(!1),s=(0,a.useCallback)(()=>{navigator.clipboard.writeText("npx skills add gitroomhq/postiz-agent"),t(!0),setTimeout(()=>t(!1),2e3)},[]);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(o(),{children:[(0,i.jsx)("title",{children:g.title}),(0,i.jsx)("meta",{name:"description",content:g.description}),(0,i.jsx)("link",{rel:"canonical",href:g.canonical}),(0,i.jsx)("meta",{property:"og:type",content:"website"}),(0,i.jsx)("meta",{property:"og:url",content:g.canonical}),(0,i.jsx)("meta",{property:"og:title",content:g.title}),(0,i.jsx)("meta",{property:"og:description",content:g.description}),(0,i.jsx)("meta",{property:"og:image",content:"https://postiz.com/api/og?title=How%20to%20Publish%20to%20Medium%20from%20Hermes%20Agent%20%7C%20Postiz"}),(0,i.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,i.jsx)("meta",{name:"twitter:title",content:g.title}),(0,i.jsx)("meta",{name:"twitter:description",content:g.description}),(0,i.jsx)("meta",{name:"twitter:image",content:"https://postiz.com/api/og?title=How%20to%20Publish%20to%20Medium%20from%20Hermes%20Agent%20%7C%20Postiz"}),(0,i.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(w)}})]}),(0,i.jsxs)("div",{className:"flex flex-col items-center max-w-[1440px] mx-auto overflow-hidden",children:[(0,i.jsxs)("section",{className:"!mt-[73px] sm:!mt-[120px] !pt-0 !pb-0 space-y-[30px] px-5",children:[(0,i.jsxs)("div",{className:"flex justify-center",children:[(0,i.jsx)(l(),{src:x.WW,alt:"doodle top",className:"hidden lg:block"}),(0,i.jsx)(l(),{src:x.Of,alt:"doodle top mobile",className:"block lg:hidden"})]}),(0,i.jsxs)("div",{className:"flex flex-col items-center",children:[(0,i.jsx)("div",{className:"min-h-[12px] sm:min-h-[10px]"}),(0,i.jsxs)("div",{className:"max-w-[900px] relative",children:[(0,i.jsx)("h1",{className:"text-center",children:g.h1}),(0,i.jsx)(l(),{src:x.ai,alt:"doodle underline",className:"absolute left-[50%] -translate-x-[50%] hidden lg:block"})]}),(0,i.jsx)("div",{className:"min-h-[24px] sm:min-h-[32px]"}),(0,i.jsx)("p",{className:"max-w-[700px] text-[18px] leading-[23.44px] sm:text-[22px] sm:leading-[28.64px] font-[400] text-[#d1d1d1] text-center",children:g.intro}),(0,i.jsx)("div",{className:"min-h-[32px] sm:min-h-[40px]"}),(0,i.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 w-full sm:w-auto",children:[(0,i.jsx)(p.zx,{variant:"primary",size:"lg",className:"!w-full sm:!w-fit",asLink:"https://docs.postiz.com/providers/medium",alt:"View Medium setup guide",children:"Setup Guide"}),(0,i.jsx)(p.zx,{variant:"secondary",size:"lg",className:"!w-full sm:!w-fit",asLink:"https://github.com/nousresearch/hermes-agent",alt:"View on GitHub",children:"GitHub"}),(0,i.jsx)(p.zx,{variant:"secondary",size:"lg",className:"!w-full sm:!w-fit",alt:"Copy install command",onClick:s,children:e?"Copied!":"npx skills add gitroomhq/postiz-agent"})]}),(0,i.jsx)("div",{className:"min-h-[16px] sm:min-h-[24px]"}),(0,i.jsx)("p",{className:"text-[14px] leading-[18.23px] text-[#d1d1d1] text-center",children:"Please make sure there is always a human in the loop."}),(0,i.jsx)("div",{className:"min-h-[16px]"}),(0,i.jsxs)("nav",{"aria-label":"Breadcrumb",className:"text-[14px] leading-[18.23px] text-[#d1d1d1] text-center",children:[(0,i.jsx)(c(),{href:"/",className:"hover:text-white",children:"Home"}),(0,i.jsx)("span",{"aria-hidden":"true",className:"mx-2",children:"/"}),(0,i.jsx)(c(),{href:"/hermes-agent",className:"hover:text-white",children:"Hermes Agent"}),(0,i.jsx)("span",{"aria-hidden":"true",className:"mx-2",children:"/"}),(0,i.jsx)("span",{className:"text-white",children:g.name})]}),(0,i.jsx)(h.O9,{as:"p",className:"mt-2 text-[14px] leading-[18.23px] text-[#d1d1d1] text-center",date:"2026-09-23"})]}),(0,i.jsx)(l(),{src:x.eP,alt:"doodle left",className:"hidden lg:block absolute top-[320px] left-0"}),(0,i.jsx)(l(),{src:x.IB,alt:"doodle left mobile",className:"block sm:hidden absolute bottom-[73px] left-0"}),(0,i.jsx)(l(),{src:x.cW,alt:"doodle right",className:"hidden lg:block absolute top-[120px] right-0"}),(0,i.jsx)(l(),{src:x.lh,alt:"doodle right mobile",className:"block sm:hidden absolute bottom-[233px] right-0"})]}),(0,i.jsx)("section",{className:"py-[40px] sm:py-[60px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[900px] mx-auto 
1space-y-6",children:[(0,i.jsx)("h2",{className:"text-center",children:"Publish to Medium in Seconds"}),(0,i.jsx)("div",{className:"min-h-[10px] sm:min-h-[20px]"}),(0,i.jsx)(N,{title:"Setup, then just ask",children:"# One-time setup\nnpx skills add gitroomhq/postiz-agent\nexport POSTIZ_API_KEY=your_api_key\n\n# Then just ask Hermes Agent:\n> Publish my draft article on Medium\n  under our publication, tomorrow at 9am\n\nHermes Agent: Done! Your Medium post is scheduled."})]})}),(0,i.jsxs)("section",{className:"space-y-[40px] sm:space-y-[60px] py-[50px] sm:py-[90px] px-5 w-full",children:[(0,i.jsx)("h2",{className:"text-center",children:"Medium-Specific Features"}),(0,i.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 max-w-[1200px] mx-auto",children:[(0,i.jsx)(v,{icon:"\uD83D\uDCDD",title:"Article Publishing",description:"Publish long-form articles directly to Medium with full Markdown support. Write once, publish seamlessly."}),(0,i.jsx)(v,{icon:"\uD83D\uDCDA",title:"Publication Support",description:"Publish articles under any Medium publication you belong to. Reach established audiences with a single setting."}),(0,i.jsx)(v,{icon:"\uD83D\uDD17",title:"Canonical URLs",description:"Set canonical URLs for SEO to link back to your original content. Avoid duplicate content penalties across platforms."}),(0,i.jsx)(v,{icon:"\uD83C\uDFF7",title:"Smart Tagging",description:"Add up to 4 tags per article to improve discoverability. Tags help Medium surface your content to the right readers."}),(0,i.jsx)(v,{icon:"\uD83D\uDCC5",title:"Scheduled Publishing",description:"Schedule articles for future publication with precise timestamps. Plan your content calendar weeks in advance."}),(0,i.jsx)(v,{icon:"\uD83E\uDD16",title:"AI-Powered Workflows",description:"Let AI agents draft, format, and publish your articles. From idea to published post without leaving your chat app."})]})]}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[1200px] mx-auto space-y-[40px] sm:space-y-[60px]",children:[(0,i.jsx)("h2",{className:"text-center",children:"How to publish to Medium from Hermes Agent"}),(0,i.jsx)("p",{className:"max-w-[700px] mx-auto text-center text-[18px] leading-[23.44px] sm:text-[20px] sm:leading-[28.64px] text-[#d1d1d1]",children:"You describe what you want in plain language and Hermes Agent handles the Postiz calls for you. Here is how a typical conversation goes."}),(0,i.jsxs)("div",{className:"space-y-10 sm:space-y-16",children:[(0,i.jsx)(A,{number:1,title:"Find Your Medium Integration",description:"Ask Hermes Agent whether your Medium account is connected. It also checks which options the platform supports.",code:"> Is my Medium account connected to Postiz?\n\nHermes Agent: Yes — your Medium account is connected\n  and ready. Want me to post something?",codeTitle:"Example conversation"}),(0,i.jsx)(A,{number:2,title:"Write Your Article",description:"Compose your article content in Markdown. Medium supports rich formatting including headers, code blocks, images, and embedded links.",code:'> Draft a Medium post about our new\n  feature launch\n\nHermes Agent: Here\'s a draft for Medium:\n  "We just shipped something big..."\n  Want me to add media and schedule it?',codeTitle:"Example conversation"}),(0,i.jsx)(A,{number:3,title:"Publish Your Article",description:"Create a post with your article content, title, subtitle, tags, and optional publication and canonical URL settings.",code:"> Yes — add screenshot.png and schedule\n  it for tomorrow at 9am\n\nHermes Agent: Done! Scheduled on Medium for\n  tomorrow at 9:00 AM.",codeTitle:"Example conversation"})]})]})}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[1200px] mx-auto space-y-[40px]",children:[(0,i.jsx)("h2",{className:"text-center",children:"Medium Settings Reference"}),(0,i.jsx)("p",{className:"max-w-[600px] mx-auto text-center text-[18px] leading-[23.44px] sm:text-[20px] sm:leading-[28.64px] text-[#d1d1d1]",children:"Mention any of these in plain language and Hermes Agent sets them for you. These are the Medium options it can apply to any post."}),(0,i.jsx)("div",{className:"overflow-x-auto",children:(0,i.jsxs)("table",{className:"w-full border-collapse",children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{className:"text-left p-4 border-b border-white border-opacity-10 text-[16px] font-jakarta font-semibold",children:"Field"}),(0,i.jsx)("th",{className:"text-left p-4 border-b border-white border-opacity-10 text-[16px] font-jakarta font-semibold",children:"Type"}),(0,i.jsx)("th",{className:"text-left p-4 border-b border-white border-opacity-10 text-[16px] font-jakarta font-semibold hidden sm:table-cell",children:"Required"}),(0,i.jsx)("th",{className:"text-left p-4 border-b border-white border-opacity-10 text-[16px] font-jakarta font-semibold",children:"Description"})]})}),(0,i.jsx)("tbody",{children:u.map((e,t)=>{let{field:s,type:a,required:n,description:o}=e;return(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{className:"p-4 border-b border-white border-opacity-5",children:(0,i.jsx)("code",{className:"text-[14px] font-mono text-white bg-white bg-opacity-5 px-2 py-1 rounded",children:s})}),(0,i.jsx)("td",{className:"p-4 border-b border-white border-opacity-5 text-[#d1d1d1] text-[14px] font-mono",children:a}),(0,i.jsx)("td",{className:"p-4 border-b border-white border-opacity-5 text-[#d1d1d1] text-[14px] hidden sm:table-cell",children:n?"Yes":"No"}),(0,i.jsx)("td",{className:"p-4 border-b border-white border-opacity-5 text-[#d1d1d1] text-[16px]",children:o})]},t)})})]})})]})}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[900px] mx-auto 
1space-y-[40px]",children:[(0,i.jsx)("h2",{className:"text-center",children:"Common Configurations"}),(0,i.jsx)("p",{className:"max-w-[600px] mx-auto text-center text-[18px] leading-[23.44px] sm:text-[20px] sm:leading-[28.64px] text-[#d1d1d1]",children:"Ask Hermes Agent for any of these common Medium publishing scenarios and it applies the matching settings."}),(0,i.jsxs)("div",{className:"space-y-6",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{className:"text-[18px] sm:text-[20px] font-jakarta font-semibold mb-3",children:"Simple Article with Tags"}),(0,i.jsx)(N,{title:"Just ask",children:"> Post it with: Simple Article with Tags\n\nHermes Agent: Got it. Applying:\n  title: Getting Started with TypeScript\n  subtitle: A beginner-friendly introduction\n  tags: TypeScript, JavaScript, Programming"})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{className:"text-[18px] sm:text-[20px] font-jakarta font-semibold mb-3",children:"Cross-Posted Article with Canonical URL"}),(0,i.jsx)(N,{title:"Just ask",children:"> Post it with: Cross-Posted Article with Canonical URL\n\nHermes Agent: Got it. Applying:\n  title: How We Scaled to 1M Users\n  subtitle: Lessons from our growth journey\n  canonical: https://engineering.myblog.com/scaling-to-1m\n  tags: Startup, Scaling, Engineering"})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{className:"text-[18px] sm:text-[20px] font-jakarta font-semibold mb-3",children:"Publication Article"}),(0,i.jsx)(N,{title:"Just ask",children:"> Post it with: Publication Article\n\nHermes Agent: Got it. Applying:\n  title: The Future of AI Agents\n  subtitle: Why autonomous agents are the next paradigm\n  publication: towards-data-science-id\n  tags: Artificial Intelligence, AI Agents, Automation, Future"})]})]})]})}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[1200px] mx-auto space-y-[40px] sm:space-y-[60px]",children:[(0,i.jsxs)("div",{className:"flex flex-col items-center space-y-4",children:[(0,i.jsx)("h2",{className:"text-center",children:"What is Hermes Agent?"}),(0,i.jsx)("p",{className:"max-w-[700px] text-center text-[18px] leading-[23.44px] sm:text-[22px] sm:leading-[28.64px] text-[#d1d1d1]",children:"Hermes Agent is an open-source AI agent from Nous Research, released under the MIT license. It runs on your own machine or server, you talk to it from Telegram, Discord, Slack, WhatsApp, Signal, or the CLI, and it executes tools such as the Postiz skill to post to Medium and other channels. It works with Nous Portal, OpenRouter, OpenAI, or your own model endpoint."})]}),(0,i.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:[(0,i.jsx)(v,{icon:"\uD83D\uDCAC",title:"Message From Anywhere",description:"Talk to Hermes from Telegram, Discord, Slack, WhatsApp, Signal, email, or the terminal. Ask for a Medium post from whichever app you already have open."}),(0,i.jsx)(v,{icon:"⏰",title:"Built-in Cron Scheduler",description:"Create recurring jobs in plain language, such as weekdays at 9am. Hermes drafts and schedules Medium content through Postiz and reports back to your chat."}),(0,i.jsx)(v,{icon:"\uD83D\uDD27",title:"Open Source, Any Model",description:"Hermes Agent is MIT licensed and self-hosted. Run it on Nous Portal, OpenRouter, OpenAI, or your own endpoint, and extend it with MCP servers or skills like Postiz."})]}),(0,i.jsx)("div",{className:"bg-[#0e0e0e] rounded-[20px] p-6 sm:p-10 border border-white border-opacity-10",children:(0,i.jsxs)("div",{className:"flex flex-col md:flex-row gap-8",children:[(0,i.jsxs)("div",{className:"flex-1 space-y-4",children:[(0,i.jsx)("h4",{className:"text-[20px] leading-[22px] sm:text-[24px] sm:leading-[26.4px] font-jakarta font-semibold",children:"How Postiz Works with Hermes Agent"}),(0,i.jsx)("p",{className:"text-[16px] leading-[24px] text-[#d1d1d1]",children:"Postiz ships as an agent skill in the agentskills.io SKILL.md format that Hermes Agent reads. The skill documents every Postiz CLI command, the credentials it needs, and the Medium settings, so Hermes knows how to list your channels, upload media, and create posts without any custom code."}),(0,i.jsx)("ul",{className:"space-y-3",children:["Install the Postiz CLI (npm install -g postiz) and add the skill with npx skills add gitroomhq/postiz-agent","Hermes loads skills from ~/.hermes/skills and shows them with hermes skills list","Authenticate with POSTIZ_API_KEY, or run postiz auth:login for an OAuth device flow","Every Postiz command returns JSON, so Hermes can chain discovery, upload, and posting","Prefer MCP? Add https://mcp.postiz.com/mcp-oauth-dynamic under mcp_servers in ~/.hermes/config.yaml"].map((e,t)=>(0,i.jsxs)("li",{className:"flex items-start gap-3 text-[16px] leading-[24px] text-[#d1d1d1]",children:[(0,i.jsx)("span",{className:"text-[#682EE1] mt-1 shrink-0",children:"✓"}),e]},t))})]}),(0,i.jsx)("div",{className:"flex-1",children:(0,i.jsx)(N,{title:"Install Postiz",children:"# Install the Postiz CLI and skill\nnpm install -g postiz\nnpx skills add gitroomhq/postiz-agent\n\n# Authenticate: API key or OAuth device flow\nexport POSTIZ_API_KEY=your_api_key\n# or: postiz auth:login\n\n# Confirm Hermes can see the skill\nhermes skills list"})})]})})]})}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[1200px] mx-auto 
1space-y-[40px] sm:space-y-[60px]",children:[(0,i.jsxs)("div",{className:"flex flex-col items-center space-y-4",children:[(0,i.jsx)("h2",{className:"text-center",children:"Medium Publishing with Hermes Agent"}),(0,i.jsx)("p",{className:"max-w-[700px] text-center text-[18px] leading-[23.44px] sm:text-[22px] sm:leading-[28.64px] text-[#d1d1d1]",children:"Message Hermes Agent from any platform — it reads the Postiz skill, discovers your Medium integration, and handles the entire publishing workflow autonomously."})]}),(0,i.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,i.jsxs)("div",{className:"flex flex-col gap-6 p-6 sm:p-8 bg-[#1A1919] rounded-[20px] border border-white border-opacity-10",children:[(0,i.jsxs)("div",{className:"flex items-center gap-4",children:[(0,i.jsx)("div",{className:"w-12 h-12 sm:w-14 sm:h-14 flex items-center justify-center bg-[#6366F1] rounded-xl",children:(0,i.jsx)("span",{className:"text-2xl sm:text-3xl",children:"\uD83E\uDDE0"})}),(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{className:"text-[20px] leading-[22px] sm:text-[24px] sm:leading-[26.4px] font-jakarta font-semibold",children:"From Any Chat App"}),(0,i.jsx)("p",{className:"text-[14px] text-[#d1d1d1]",children:"Telegram, Discord, Slack, WhatsApp, Signal"})]})]}),(0,i.jsx)("p",{className:"text-[16px] leading-[24px] sm:text-[18px] sm:leading-[27px] text-[#d1d1d1]",children:"Send a message to Hermes Agent from your favorite chat app. Its gateway runs in the background, so it picks up your message, discovers your Medium account via Postiz, formats the article, and publishes it — all while you go about your day."}),(0,i.jsx)(N,{title:"Hermes Agent",children:"You: Post to Medium about our new\n  feature launch, schedule for tomorrow\n  at 9am\n\nHermes: I'll handle that! Let me:\n  1. Find your Medium integration\n  2. Compose your post content\n  3. Schedule for tomorrow 9:00 AM\n\n  Done! Post scheduled successfully.\n  Post ID: abc-123"})]}),(0,i.jsxs)("div",{className:"flex flex-col gap-6 p-6 sm:p-8 bg-[#1A1919] rounded-[20px] border border-white border-opacity-10",children:[(0,i.jsxs)("div",{className:"flex items-center gap-4",children:[(0,i.jsx)("div",{className:"w-12 h-12 sm:w-14 sm:h-14 flex items-center justify-center bg-[#6366F1] rounded-xl",children:(0,i.jsx)("span",{className:"text-2xl sm:text-3xl",children:"\uD83E\uDDE0"})}),(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{className:"text-[20px] leading-[22px] sm:text-[24px] sm:leading-[26.4px] font-jakarta font-semibold",children:"Scheduled & Proactive"}),(0,i.jsx)("p",{className:"text-[14px] text-[#d1d1d1]",children:"Built-in Hermes cron jobs"})]})]}),(0,i.jsx)("p",{className:"text-[16px] leading-[24px] sm:text-[18px] sm:leading-[27px] text-[#d1d1d1]",children:"Hermes Agent has a built-in cron scheduler. Create a recurring job in plain language and Hermes drafts and schedules your Medium content through Postiz on that schedule, then reports back to whichever chat you use."}),(0,i.jsx)(N,{title:"Hermes cron job",children:'# From the terminal\nhermes cron create "weekdays at 9am" \\\n  "Check ~/content/medium for new posts.\n   Upload any media with postiz upload,\n   then schedule each one to Medium\n   for noon today via Postiz. Move posted\n   files to ~/content/published."\n\n# Or from any chat with Hermes\n/cron add "weekdays at 9am" "Schedule\n  today\'s Medium post via Postiz"'})]})]}),(0,i.jsx)("div",{className:"bg-[#0e0e0e] rounded-[20px] p-6 sm:p-10 border border-white border-opacity-10",children:(0,i.jsxs)("div",{className:"flex flex-col md:flex-row gap-8",children:[(0,i.jsxs)("div",{className:"flex-1 space-y-4",children:[(0,i.jsx)("h4",{className:"text-[20px] leading-[22px] sm:text-[24px] sm:leading-[26.4px] font-jakarta font-semibold",children:"Why Hermes Agent + Postiz for Medium"}),(0,i.jsx)("p",{className:"text-[16px] leading-[24px] text-[#d1d1d1]",children:"Hermes Agent makes Postiz a natural fit for your Medium workflow. The agent discovers all available commands and autonomously chains them together."}),(0,i.jsx)("ul",{className:"space-y-3",children:["Hermes Agent is MIT licensed and Postiz has a public API, so nothing is locked in","Chat-first: ask for a Medium post from Telegram, Discord, Slack, WhatsApp, or Signal","Cron jobs in plain language for hands-free recurring Medium posts","Cross-post to Medium and other channels in one request, each with its own settings","Model-agnostic: run Hermes on Nous Portal, Open
1Router, OpenAI, or your own endpoint","Credentials stay in Postiz; Hermes only holds a Postiz API key or OAuth session"].map((e,t)=>(0,i.jsxs)("li",{className:"flex items-start gap-3 text-[16px] leading-[24px] text-[#d1d1d1]",children:[(0,i.jsx)("span",{className:"text-[#682EE1] mt-1 shrink-0",children:"✓"}),e]},t))})]}),(0,i.jsx)("div",{className:"flex-1",children:(0,i.jsx)(N,{title:"SKILL.md (what Hermes reads)",children:'---\nname: postiz\ndescription: Postiz is a tool to schedule\n  social media and chat posts to 28+\n  channels including Medium\nhomepage: https://docs.postiz.com/public-api/introduction\n---\n\n# Commands Hermes can run\npostiz auth:status\npostiz integrations:list\npostiz integrations:settings <id>\npostiz upload <file>\npostiz posts:create -i <id> -c "..." -s <iso>\npostiz posts:list\npostiz analytics:platform <id>\n\n# Medium settings\ntitle, subtitle, canonical, publication, tags'})})]})})]})}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[900px] mx-auto space-y-6",children:[(0,i.jsx)("h2",{className:"text-center",children:"Using a different agent for Medium?"}),(0,i.jsxs)("p",{className:"max-w-[720px] mx-auto text-center text-[18px] leading-[23.44px] sm:text-[20px] sm:leading-[28.64px] text-[#d1d1d1]",children:["Postiz works with any AI agent that can run CLI commands or call MCP tools, and the Medium settings on this page are the same for every agent.",g.otherAgents.length>0&&(0,i.jsxs)(i.Fragment,{children:[" ","Read the same guide for"," ",g.otherAgents.map((e,t)=>(0,i.jsxs)(a.Fragment,{children:[t>0?", ":"",(0,i.jsx)(c(),{href:e.href,className:"text-[#a87fef] hover:text-white",children:e.label})]},e.href)),"."]})," ","Or see the"," ",(0,i.jsx)(c(),{href:"/agent",className:"text-[#a87fef] hover:text-white",children:"guide for any AI agent"})," ","and the"," ",(0,i.jsx)(c(),{href:"/mcp",className:"text-[#a87fef] hover:text-white",children:"Postiz MCP server"}),"."]})]})}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[900px] mx-auto space-y-6",children:[(0,i.jsx)("h2",{className:"text-center",children:"Medium + Other Platforms"}),(0,i.jsx)("p",{className:"max-w-[600px] mx-auto text-center text-[18px] leading-[23.44px] sm:text-[20px] sm:leading-[28.64px] text-[#d1d1d1]",children:"Publish the same article to Medium and other platforms in a single request. Each platform gets its own settings."}),(0,i.jsx)("div",{className:"min-h-[10px] sm:min-h-[20px]"}),(0,i.jsx)(N,{title:"Example",children:'> Post "Excited to announce our new feature!" to\n  Medium and LinkedIn tomorrow at 9am, then schedule\n  a daily tip on Medium every weekday at 10am\n\nHermes Agent: Done! Scheduled:\n  - Medium + LinkedIn: tomorrow 9:00 AM\n  - Daily tips on Medium: Mon-Fri 10:00 AM'})]})}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[900px] mx-auto space-y-[40px]",children:[(0,i.jsx)("h2",{className:"text-center",children:"What can you ask Hermes Agent to do on Medium?"}),(0,i.jsx)("p",{className:"max-w-[700px] mx-auto text-center text-[18px] leading-[23.44px] sm:text-[20px] sm:leading-[28.64px] text-[#d1d1d1]",children:"You can ask Hermes Agent to create, schedule, cancel, and measure Medium posts in plain language. These are the kinds of requests it handles through Postiz."}),(0,i.jsx)("div",{className:"space-y-6",children:f.map((e,t)=>{let{prompt:s,result:a}=e;return(0,i.jsxs)("div",{children:[(0,i.jsx)(N,{title:"Ask Hermes Agent",children:"> ".concat(s)}),(0,i.jsx)("p",{className:"mt-3 text-[16px] leading-[24px] text-[#d1d1d1]",children:a})]},t)})})]})}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[900px] mx-auto space-y-[40px]",children:[(0,i.jsx)("h2",{className:"text-center",children:"Medium rules Hermes Agent has to follow"}),(0,i.jsx)("p",{className:"max-w-[700px] mx-auto text-center text-[18px] leading-[23.44px] sm:text-[20px] sm:leading-[28.64px] text-[#d1d1d1]",children:"Postiz validates every Medium post before it is scheduled, so these limits and required settings decide whether a request succeeds."}),(0,i.jsx)("div",{className:"bg-[#0e0e0e] rounded-[20px] p-6 sm:p-10 border border-white border-opacity-10",children:(0,i.jsx)("ul",{className:"space-y-3",children:y.map((e,t)=>(0,i.jsxs)("li",{className:"flex items-start gap-3 text-[16px] leading-[24px] text-[#d1d1d1]",children:[(0,i.jsx)("span",{className:"text-[#682EE1] mt-1 shrink-0",children:"▸"}),e]},t))})})]})}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[900px] mx-auto 
1space-y-[30px] sm:space-y-[40px]",children:[(0,i.jsx)("h2",{className:"text-center",children:"Hermes Agent and Medium: frequently asked questions"}),(0,i.jsx)("div",{className:"space-y-4",children:b.map((e,t)=>{let{question:s,answer:a}=e;return(0,i.jsxs)("div",{className:"p-6 sm:p-8 bg-[#1A1919] rounded-[16px] sm:rounded-[20px] border border-white border-opacity-10",children:[(0,i.jsx)("h3",{className:"text-[18px] leading-[24px] sm:text-[20px] sm:leading-[26px] font-jakarta font-semibold",children:s}),(0,i.jsx)("p",{className:"mt-3 text-[16px] leading-[24px] sm:text-[18px] sm:leading-[27px] text-[#d1d1d1]",children:a})]},t)})})]})}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] px-5 w-full",children:(0,i.jsxs)("div",{className:"max-w-[1200px] mx-auto space-y-[40px]",children:[(0,i.jsx)("h2",{className:"text-center",children:"Related Hermes Agent guides"}),(0,i.jsxs)("p",{className:"max-w-[700px] mx-auto text-center text-[18px] leading-[23.44px] sm:text-[20px] sm:leading-[28.64px] text-[#d1d1d1]",children:["Hermes Agent posts to 30+ channels through Postiz. Start at the"," ",(0,i.jsx)(c(),{href:"/hermes-agent",className:"text-[#a87fef] hover:text-white",children:"Hermes Agent social media hub"}),", or jump to another platform guide."]}),(0,i.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:j.map(e=>{let{name:t,slug:s,description:a}=e;return(0,i.jsxs)(c(),{href:"/hermes-agent/".concat(s),className:"flex flex-col gap-2 p-5 bg-[#1A1919] rounded-[16px] border border-white border-opacity-10 hover:border-[#682EE1] hover:border-opacity-50 transition-all group",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between",children:[(0,i.jsxs)("h4",{className:"text-[18px] font-jakarta font-semibold group-hover:text-[#a87fef] transition-colors",children:["Post to ",t," from Hermes Agent"]}),(0,i.jsx)("span",{className:"text-[#d1d1d1] group-hover:text-[#682EE1] transition-colors",children:"→"})]}),(0,i.jsx)("p",{className:"text-[14px] leading-[20px] text-[#d1d1d1]",children:a})]},s)})}),(0,i.jsxs)("div",{className:"flex flex-wrap justify-center gap-x-6 gap-y-3 text-[16px] text-[#d1d1d1]",children:[(0,i.jsx)(c(),{href:"/hermes-agent",className:"hover:text-white underline underline-offset-4",children:"Hermes Agent overview"}),(0,i.jsx)(c(),{href:"/hermes",className:"hover:text-white underline underline-offset-4",children:"Install the Postiz skill in Hermes"}),g.channelPage&&(0,i.jsx)(c(),{href:"/channels/medium",className:"hover:text-white underline underline-offset-4",children:"Medium scheduling in Postiz"}),(0,i.jsx)(c(),{href:"/agent",className:"hover:text-white underline underline-offset-4",children:"Postiz for any AI agent"}),(0,i.jsx)(c(),{href:"/mcp",className:"hover:text-white underline underline-offset-4",children:"Postiz MCP server"}),(0,i.jsx)(c(),{href:"/pricing",className:"hover:text-white underline underline-offset-4",children:"Postiz pricing"})]})]})}),(0,i.jsx)("section",{className:"py-[50px] sm:py-[90px] sm:px-5 w-full",children:(0,i.jsxs)("div",{className:"flex flex-col lg:flex-row justify-between items-left lg:items-center gap-10 px-5 py-10 sm:p-15 rounded-none sm:rounded-[20px] w-full max-w-[1200px] mx-auto",style:{backgroundColor:"#682EE1"},children:[(0,i.jsxs)("div",{className:"space-y-5 sm:space-y-4",children:[(0,i.jsx)("h3",{className:"text-left text-[30px] leading-[33px] sm:text-[48px] sm:leading-[52.8px] font-jakarta font-[700]",children:"Start publishing to Medium"}),(0,i.jsx)("p",{className:"max-w-[620px] text-white text-left text-[18px] leading-[23.44px] sm:text-[22px] sm:leading-[28.64px] font-[400]",children:"Install Postiz Agent and automate your Medium content strategy with AI-powered scheduling and publishing."})]}),(0,i.jsx)("div",{className:"flex flex-col sm:flex-row gap-4",children:(0,i.jsx)(p.zx,{variant:"primary",size:"lg",asLink:"https://docs.postiz.com/providers/medium",alt:"Get started with Medium",reverseColor:!0,children:"Get Started"})})]})})]})]})})}},function(e){e.O(0,[7947,1766,6969,2888,9774,179],function(){return e(e.s=95685)}),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.