Use OpenPMM through the CLI with deterministic files, safe credentials, and bounded publication status checks.
Use this workflow when an agent owns the OpenPMM task through the CLI.
The CLI is the boundary for this workflow. Do not read
credentials.json, extract its API key, or call /v1 with that key. The
credential store is an internal CLI implementation detail.
The command waits for immediate Posts until they are terminal or need action.
It waits for up to 300 seconds by default. The result includes
meta.publication.wait_complete.
If wait_complete is true, stop. Read receipts from the returned Posts.
If it is false, the work is still accepted. Use the returned
next_command, such as openpmm posts wait send_... --json.
If meta.publication.action_required_post_ids is not empty, stop and inspect
each Post’s available_actions. The command exits with code 11.
Read top-level outcome: success, partial_failure, or failure.
Never send posts publish again for accepted work.
For a scheduled or queued publication, omit --wait. A successful response
means that OpenPMM stored the schedule or queue choice.
If the repository contains a custom OpenPMM HTTP client, do not give it the
CLI credential. Keep this agent workflow on CLI request files. If the project
needs a direct API workflow, create a separate scoped credential and follow
API authentication.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OpenPMM","description":"Official documentation for the OpenPMM social publishing API, hosted MCP server, and first-party @openpmm/cli package","colors":{"primary":"#C83F1D","light":"#FF9A3D","dark":"#D84420"},"logo":"https://mintcdn.com/open-pmm/Y4bqcTFv_MCkrIIC/logo/openpmm.png?fit=max\u0026auto=format\u0026n=Y4bqcTFv_MCkrIIC\u0026q=85\u0026s=cdc550716e5a29bb13424cc795a18490","favicon":"https://mintcdn.com/open-pmm/Y4bqcTFv_MCkrIIC/favicon.ico?fit=max\u0026auto=format\u0026n=Y4bqcTFv_MCkrIIC\u0026q=85\u0026s=da4a9698e6119ac0274a1d31b0dc1248","api":{"playground":{"display":"simple"}},"appearance":{"default":"system","strict":false},"navbar":{"primary":{"type":"button","label":"Login","href":"https://app.openpmm.com"}},"seo":{"organization":{"name":"OpenPMM","url":"https://www.openpmm.com","sameAs":["https://github.com/OpenPMM/cli","https://www.npmjs.com/package/@openpmm/cli"]},"indexing":"navigable","trailingSlash":false},"integrations":{"telemetry":{"enabled":false}},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"OpenPMM","icon":"house","href":"https://www.openpmm.com"},{"anchor":"Dashboard","icon":"grid-2","href":"https://app.openpmm.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"open-pmm","hasAudioNarration":false,"actualSubdomain":"open-pmm","customDomains":["www.openpmm.com"],"gitSource":{"type":"github","owner":"openpmm","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6adf6b44d7cf896c8ad89e52","collectionId":"07a2f178-b073-447c-8eae-951e7ea8443b","liveDeploymentHistoryId":"6adf6b44d7cf896c8ad89e52","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adf6b44d7cf896c8ad89e52","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"API reference","count":71},{"language":"default","tag":"Guides","count":29},{"language":"default","tag":"CLI","count":12},{"language":"default","tag":"Publishing guides","count":11},{"language":"default","tag":"Get started","count":10},{"language":"default","tag":"Media guidelines","count":10},{"language":"default","tag":"Posts","count":10},{"language":"default","tag":"Inbox","count":9},{"language":"default","tag":"Workflows","count":8},{"language":"default","tag":"Destinations","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"cli/agent-workflow","slug":"/cli/agent-workflow","pageMetadata":{"title":"Agent workflow","sidebarTitle":"Agent workflow","description":"Use OpenPMM through the CLI with deterministic files, safe credentials, and bounded publication status checks.","href":"/cli/agent-workflow"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Use OpenPMM through the CLI with deterministic files, safe credentials, and bounded publication status checks.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Use this workflow when an agent owns the OpenPMM task through the CLI.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`The CLI is the boundary for this workflow. Do not read\n`,_jsx(_components.code,{children:`credentials.json`}),`, extract its API key, or call `,_jsx(_components.code,{children:`/v1`}),` with that key. The\ncredential store is an internal CLI implementation detail.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`agent-rules`,children:`Agent rules`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Use only the `,_jsx(_components.code,{children:`openpmm`}),` command for OpenPMM operations in this workflow.`]}),`\n`,_jsx(_components.li,{children:`Never read or export the CLI credential store.`}),`\n`,_jsxs(_components.li,{children:[`Do not call `,_jsx(_components.code,{children:`/v1`}),` with the CLI credential.`]}),`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`--file`}),` and `,_jsx(_components.code,{children:`--json`}),` for deterministic automation.`]}),`\n`,_jsx(_components.li,{children:`After a successful publish command, stop or use the CLI next command. Do\nnot add HTTP polling or send the publish command again.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`These rules do not remove the public API. A direct API integration uses its\nown least-privilege credential from a secret manager.`}),`\n`,_jsx(Heading,{level:`2`,id:`1-authorize-the-cli`,children:`1. Authorize the CLI`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openpmm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` auth`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` login`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --no-wait`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --json`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Pause for browser approval. Then resume:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openpmm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` auth`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` login`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --resume`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --json`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openpmm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` doctor`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --json`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`doctor`}),` is read-only. Confirm that API compatibility is ready, authentication\nis valid, a Workspace is selected, and at least one Destination is ready.`]}),`\n`,_jsx(Heading,{level:`2`,id:`2-discover-ids`,children:`2. Discover IDs`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openpmm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` workspaces`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` list`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --json`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openpmm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` destinations`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` list`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --json`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Use the selected Workspace from `,_jsx(_components.code,{children:`doctor`}),`. Copy a Destination `,_jsx(_components.code,{children:`id`}),` from\n`,_jsx(_components.code,{children:`destinations list`}),` for the publication file.`]}),`\n`,_jsx(Heading,{level:`2`,id:`3-create-approved-drafts`,children:`3. Create approved drafts`}),`\n`,_jsxs(_components.p,{children:[`Save this complete request as `,_jsx(_components.code,{children:`approved-drafts.json`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`13`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`13`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"when\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"draft\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"group\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"launch-2026-08\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"posts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"channel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"headline\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"body\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"A release update from OpenPMM.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"media\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"destination_options\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Create the drafts:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openpmm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` posts`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` create`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --file`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` approved-drafts.json`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --json`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The result contains `,_jsx(_components.code,{children:`data.posts`}),`. Copy each Post `,_jsx(_components.code,{children:`id`}),` and `,_jsx(_components.code,{children:`version`}),`. Keep every\nPost in the group together for the publish request.`]}),`\n`,_jsx(Heading,{level:`2`,id:`4-publish-the-same-posts`,children:`4. Publish the same Posts`}),`\n`,_jsxs(_components.p,{children:[`Save this complete request as `,_jsx(_components.code,{children:`approved-publication.json`}),`. Replace the example\nvalues with the Post and Destination IDs that you discovered:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"confirmed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"when\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"now\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"time_zone\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"UTC\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"posts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"send_01JABCDEF\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"version\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"destination_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"dest_01JABCDEF\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Publish and let the CLI handle bounded status checks:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openpmm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` posts`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` publish`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --file`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` approved-publication.json`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --yes`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --wait`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --json`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The command waits for immediate Posts until they are terminal or need action.\nIt waits for up to 300 seconds by default. The result includes\n`,_jsx(_components.code,{children:`meta.publication.wait_complete`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`If `,_jsx(_components.code,{children:`wait_complete`}),` is `,_jsx(_components.code,{children:`true`}),`, stop. Read receipts from the returned Posts.`]}),`\n`,_jsxs(_components.li,{children:[`If it is `,_jsx(_components.code,{children:`false`}),`, the work is still accepted. Use the returned\n`,_jsx(_components.code,{children:`next_command`}),`, such as `,_jsx(_components.code,{children:`openpmm posts wait send_... --json`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`If `,_jsx(_components.code,{children:`meta.publication.action_required_post_ids`}),` is not empty, stop and inspect\neach Post’s `,_jsx(_components.code,{children:`available_actions`}),`. The command exits with code `,_jsx(_components.code,{children:`11`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Read top-level `,_jsx(_components.code,{children:`outcome`}),`: `,_jsx(_components.code,{children:`success`}),`, `,_jsx(_components.code,{children:`partial_failure`}),`, or `,_jsx(_components.code,{children:`failure`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Never send `,_jsx(_components.code,{children:`posts publish`}),` again for accepted work.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`For a scheduled or queued publication, omit `,_jsx(_components.code,{children:`--wait`}),`. A successful response\nmeans that OpenPMM stored the schedule or queue choice.`]}),`\n`,_jsx(Heading,{level:`2`,id:`existing-http-clients`,children:`Existing HTTP clients`}),`\n`,_jsxs(_components.p,{children:[`If the repository contains a custom OpenPMM HTTP client, do not give it the\nCLI credential. Keep this agent workflow on CLI request files. If the project\nneeds a direct API workflow, create a separate scoped credential and follow\n`,_jsx(_components.a,{href:`/reference/authentication`,children:`API authentication`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Agent workflow","sidebarTitle":"Agent workflow","description":"Use OpenPMM through the CLI with deterministic files, safe credentials, and bounded publication status checks.","href":"/cli/agent-workflow"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Agent rules","slug":"agent-rules","depth":2,"children":[]},{"title":"1. Authorize the CLI","slug":"1-authorize-the-cli","depth":2,"children":[]},{"title":"2. Discover IDs","slug":"2-discover-ids","depth":2,"children":[]},{"title":"3. Create approved drafts","slug":"3-create-approved-drafts","depth":2,"children":[]},{"title":"4. Publish the same Posts","slug":"4-publish-the-same-posts","depth":2,"children":[]},{"title":"Existing HTTP clients","slug":"existing-http-clients","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"open-pmm","siteName":"OpenPMM","title":"Agent workflow - OpenPMM","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-27T10:42:47.981Z","originalFileLocation":"cli/agent-workflow.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Use OpenPMM through the CLI with deterministic files, safe credentials, and bounded publication status checks.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OpenPMM\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/open-pmm/Q6BZMi2O6IrklsYx/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/open-pmm/Q6BZMi2O6IrklsYx/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/open-pmm/Q6BZMi2O6IrklsYx/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/open-pmm/Q6BZMi2O6IrklsYx/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/open-pmm/Q6BZMi2O6IrklsYx/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/open-pmm/Q6BZMi2O6IrklsYx/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/open-pmm/Q6BZMi2O6IrklsYx/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/open-pmm/Q6BZMi2O6IrklsYx/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/open-pmm/Q6BZMi2O6IrklsYx/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Agent workflow - OpenPMM\">\u003cmeta data-mint-head property=\"og:description\" content=\"Use OpenPMM through the CLI with deterministic files, safe credentials, and bounded publication status checks.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OpenPMM\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.openpmm.com/docs/cli/agent-workflow\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://open-pmm.mintlify.app/_mintlify/api/og/v2?division=Get+started\u0026amp;title=Agent+workflow\u0026amp;description=Use+OpenPMM+through+the+CLI+with+deterministic+files%2C+safe+credentials%2C+and+bounded+publication+status+checks.\u0026amp;theme=d3f8c8d79f1e36f864055b30\u0026amp;signature=f6021341ed48788f9ab3fdc0533351a92eb4eaf485aa72b41ea64195623fa26f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Agent workflow - OpenPMM\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Use OpenPMM through the CLI with deterministic files, safe credentials, and bounded publication status checks.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://open-pmm.mintlify.app/_mintlify/api/og/v2?division=Get+started\u0026amp;title=Agent+workflow\u0026amp;description=Use+OpenPMM+through+the+CLI+with+deterministic+files%2C+safe+credentials%2C+and+bounded+publication+status+checks.\u0026amp;theme=d3f8c8d79f1e36f864055b30\u0026amp;signature=f6021341ed48788f9ab3fdc0533351a92eb4eaf485aa72b41ea64195623fa26f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/open-pmm/Q6BZMi2O6IrklsYx/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OpenPMM\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#C83F1D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.openpmm.com/docs/cli/agent-workflow\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/cli/agent-workflow.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.openpmm.com/#organization\",\"name\":\"OpenPMM\",\"url\":\"https://www.openpmm.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/open-pmm/Y4bqcTFv_MCkrIIC/logo/openpmm.png?fit=max\u0026auto=format\u0026n=Y4bqcTFv_MCkrIIC\u0026q=85\u0026s=cdc550716e5a29bb13424cc795a18490\"},\"sameAs\":[\"https://github.com/OpenPMM/cli\",\"https://www.npmjs.com/package/@openpmm/cli\"]},{\"@type\":\"WebSite\",\"@id\":\"https://www.openpmm.com/docs#website\",\"name\":\"OpenPMM\",\"url\":\"https://www.openpmm.com/docs\",\"publisher\":{\"@id\":\"https://www.openpmm.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.openpmm.com/docs/cli/agent-workflow#webpage\",\"url\":\"https://www.openpmm.com/docs/cli/agent-workflow\",\"name\":\"Agent workflow\",\"description\":\"Use OpenPMM through the CLI with deterministic files, safe credentials, and bounded publication status checks.\",\"dateModified\":\"2026-08-27T10:42:47.981Z\",\"isPartOf\":{\"@id\":\"https://www.openpmm.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.openpmm.com/docs/cli/agent-workflow#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.openpmm.com/docs/cli/agent-workflow#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Get started\",\"item\":\"https://www.openpmm.com/docs/cli/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Agent workflow\",\"item\":\"https://www.openpmm.com/docs/cli/agent-workflow\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.openpmm.com/docs/cli/agent-workflow#article\",\"headline\":\"Agent workflow\",\"name\":\"Agent workflow\",\"description\":\"Use OpenPMM through the CLI with deterministic files, safe credentials, and bounded publication status checks.\",\"url\":\"https://www.openpmm.com/docs/cli/agent-workflow\",\"mainEntityOfPage\":{\"@id\":\"https://www.openpmm.com/docs/cli/agent-workflow#webpage\"},\"dateModified\":\"2026-08-27T10:42:47.981Z\",\"publisher\":{\"@id\":\"https://www.openpmm.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.openpmm.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OpenPMM\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OpenPMM","nav":{"global":{"anchors":[{"anchor":"OpenPMM","icon":"house","href":"https://www.openpmm.com"},{"anchor":"Dashboard","icon":"grid-2","href":"https://app.openpmm.com"}]},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/overview"}]},{"tab":"CLI","groups":[{"group":"Get started","pages":[{"title":"OpenPMM CLI","sidebarTitle":"Overview","href":"/cli/overview"},{"title":"Create an account","sidebarTitle":"Signup","href":"/cli/signup"},{"title":"Authenticate the CLI","sidebarTitle":"Authentication","description":"Authorize the OpenPMM CLI in a browser and select a Workspace.","href":"/cli/authentication"},{"title":"Agent workflow","sidebarTitle":"Agent workflow","href":"/cli/agent-workflow"}]},{"group":"Workflows","pages":[{"title":"Draft and publish","sidebarTitle":"Draft and publish","description":"Create drafts, publish Posts, and inspect publishing status with the OpenPMM CLI.","href":"/cli/drafts-and-publishing"},{"title":"Analytics","sidebarTitle":"Analytics","href":"/cli/analytics"},{"title":"Inbox","sidebarTitle":"Inbox","href":"/cli/inbox"},{"title":"Manage assets and destinations","sidebarTitle":"Assets and destinations","href":"/cli/assets-and-connections"},{"title":"Billing","href":"/cli/billing"},{"title":"Send feedback with the OpenPMM CLI","sidebarTitle":"Feedback","href":"/cli/feedback"},{"title":"Manage webhooks","sidebarTitle":"Webhooks","href":"/cli/webhooks"}]},{"group":"Automation","pages":[{"title":"Automate with the CLI","sidebarTitle":"Automation and safety","href":"/cli/automation-and-safety"}]}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/reference/overview"}]}]},"title":"Agent workflow - OpenPMM","buildId":"dpl_DGmhKsAzJdVqypJzon18vViniWRY","deploymentId":"dpl_DGmhKsAzJdVqypJzon18vViniWRY","dynamics":[],"chunks":[]}