Agent guidance · public package
Operating brief
A human creates the workspace key and pastes the generated MCP configuration. The agent reads status, hands authorization back to the human, discovers accounts, and reads the brief before planning.
Required configuration
Use boundary
This page begins after a human creates a workspace key in Accounts and pastes the generated MCP configuration. Social authorization and accepted media delivery remain separate.
13 toolsget_workspace_status, list_accounts, connect_account, and the seven plan-to-measure tools are visible.
destination IDsThe agent reads valid account IDs from list_accounts after human authorization.
credential boundaryCredentials remain inside the configured connection or environment and never enter chat.
media deliveryThe environment supplies an accepted video URL through its separately provisioned media path.
Four current clients
Client placement
Select the agent client and place the same operating brief in its project-level instruction surface. ChatGPT project instructions do not create a live MCP connection.
- 01Create one workspace key
Postdom shows its exact MCP configuration once.
- 02Connect Codex
Node.js 22+ runs
npx -y @postdom/mcp@0.3.0. - 03Complete social OAuth
Your agent hands you the platform link. You enter the credentials.
- 04Let the brief lead
Your agent reads the Workspace Brief before it plans or writes.
Set up Codex
Connect it once.
AGENTS.md- Paste the MCP configuration generated in Postdom Accounts into Codex.
- Add the operating brief to the project AGENTS.md file.
- Ask Codex to check workspace status and read the Workspace Brief before planning.
Postdom generates the package, API URL, and workspace key together. Keep that configuration out of chat and source control.
Codex instruction-file documentationKeep Codex on the rails.
Paste these rules into AGENTS.md.
Brand guidance stays in the Workspace Brief. These rules govern tool use and human handoffs.
Preview operating brief
Use Postdom only after a human has created the workspace and configured the Postdom MCP connection with a workspace agent key. Read credentials only through that configured connection or environment. Never print them, paste them into chat, or commit them. 1. Confirm that get_workspace_status, list_accounts, connect_account, get_brief, get_digest, upload_media, get_media, submit_plan, get_plan, publish_video, get_publish, get_performance, get_best_posts are available. If they are missing, stop and ask the human to restore a supported MCP connection. For Codex, Claude Code, or Cursor, the exact local configuration shown in Postdom Accounts uses the public package @postdom/mcp@0.3.0 and requires Node.js 22 or newer. ChatGPT project instructions do not connect this local server; live ChatGPT tools require a supported remote MCP connection. Never invent a credential or server URL. 2. Inspect the tool schemas before calling them. The configured publish_video schema accepts an optional publish_at UTC datetime. Never invent platform settings or any other argument the connected schema does not expose. 3. Call get_workspace_status first. If connections are locked, stop and return its exact connection-gate detail to the human. If connections are unlocked but no destinations are connected, call connect_account for the requested platform and give its authorization URL to the human. Never enter or handle the human's social credentials. 4. After the human completes authorization, call list_accounts and use only its returned account IDs. Do not guess, reuse an ID from another workspace, or claim connection succeeded before it appears. 5. Call get_brief before planning or writing content. Follow its advisory brand guidance and retain the returned version. Pass brief_version to submit_plan whenever plan-level review is used. 6. Before submit_plan, call get_digest and read the prior plan's outcome through get_plan when one exists. Treat both as descriptive evidence of what happened, never as a recommendation. Read workspace and account policy before creating approval work. If plan-level review is required, use submit_plan for the bounded account set, time window, objective, maximum post count, and intent. Poll get_plan with exponential backoff, starting at 30 seconds and capping at 2 minutes. Stop after 10 minutes and give the human the plan ID if it is still pending. 7. When the finished video is not already at an accepted URL, call upload_media with its exact content type, byte length, and target platforms. PUT the bytes directly to the returned short-lived URL using the returned method and headers. Never send bytes through MCP, change the object key, reuse an expired URL, or expose the signed URL. Call get_media until it returns stored; stop and preserve pending or failed exactly. 8. Use publish_video only with fields accepted by its current schema. Provide exactly one of video_url or the stored media_handle. Include the approved plan ID when the work is plan-backed and, when exact-time scheduling is intended, an RFC 3339 UTC publish_at value ending in Z. Never guess a timezone. 9. For any submitted plan, keep polling requires_approval and proceed only after approved. For changes_requested, rejected, expired, or cancelled, stop and return the exact state and plan ID to the human. 10. Poll get_publish with exponential backoff, starting at 15 seconds and capping at 2 minutes. Continue polling scheduled or publishing. Stop after 15 minutes and give the human the post ID if any destination is still nonterminal. 11. If get_publish returns draft, requires_approval, changes_requested, rejected, missed_approval, missed_schedule, partial, or failed, return the exact state and post ID to the human. Never rename a wire state to action_required, approve yourself, or expand trust. 12. Read get_performance after published or partial. After failed, read measurement eligibility and any available evidence. Preserve null values and availability states. Never and unverified nulls retain an explicit reason; other nulls may not. 13. Use get_best_posts only with an exact account ID, supported metric, and 7d or 30d window. Preserve excluded observations and their availability reasons; never rank missing evidence as zero. 14. Use the returned execution and measurement evidence when planning the next schedule. If the workspace is missing, a human can create one at https://app.postdom.com/signup. The human creates and may revoke workspace agent keys in Accounts.
Schedule to measurement
Brief behavior
- START
get_workspace_statusRead the connection gate and current setup progress before doing anything else.
- HANDOFF
connect_accountGive the authorization URL to the human; never handle their social credentials.
- DISCOVER
list_accountsUse only destination IDs returned for this workspace.
- BOUND
get_briefRead advisory guidance before planning or writing content.
- LEARN
get_digestBefore a new plan, read the completed week and the prior plan outcome as descriptive evidence only.
- RETURN
statesPreserve exact wire states and return exceptions to the human supervisor.
- MEASURE
evidencePreserve zero, null, availability states, and guaranteed reasons exactly.
- COMPARE
get_best_postsRank only available account metrics and preserve every excluded post reason.
The operating brief is agent guidance, not a callable schema. The connected schemas remain authoritative.
Editorial recommendations
Polling guidance
These intervals are recommendations from the reviewed operating brief. They are not enforced by the configured tool contract.
plan stateStart at 30 seconds, cap at two minutes, and stop after ten minutes.
publish stateStart at 15 seconds, cap at two minutes, and stop after fifteen minutes.
handoffReturn the plan or post ID when the recommended polling window ends.
global pauseIf agent_paused is returned, stop write activity and hand control to a human. Only a human can resume it.
Human handoff
Missing access
Stop and return
Stop when a tool, account ID, accepted media URL, credential, or human decision is missing. Do not invent a setup path.