Skip to content
Agents & Approvals

Agents do the homework. You make the call.

Five built-in agents plan the week, repurpose winners, check drafts, write the digest and refresh the voice. Every step is logged, and nothing they make goes out until a person approves it.

AgentsAgents that do the strategist’s homework
Connect Claude (MCP)Approvals · 6
Plan1 automation
Weekly planPlan next week from what worked last week.
  1. Read last week
  2. Find open slots
  3. Suggest ideas
  4. Draft every idea
  5. Voice check
  6. Queue for approval
DigestIdeasDraftsApprovalsRun by hand · On a schedule
DoneYou · just nowAutomateRun
Repurpose1 automation
Repurpose a winnerTurn a post that outperformed into posts for your other platforms.
  1. Read the winner
  2. Turn it into an idea
  3. Draft for other platforms
  4. Voice check
  5. Find open slots
  6. Queue for approval
IdeasDraftsApprovalsRun by hand · When a post outperforms
Automation · Thu 2:14 PMAutomateRun
Review
Voice checkCheck a draft against the brand voice and platform rules.
  1. Check the draft
ReportRun by hand
Studio · Wed 11:02 AMRun
Insights
Weekly digestWhat worked, what missed, and what to do next week.
  1. Write the digest
DigestRun by hand · On a schedule
You · Mon 7:58 AMAutomateRun
Review
Voice refreshLearn the voice from what actually worked.
  1. Refresh verdicts
  2. Compare winners and losers
  3. Check the current rules
  4. Draft the changes
  5. Send for approval
ReportApprovalsRun by hand · On a schedule
Not run yetAutomateRun
01Run logs

Every run, step by step.

Each run is a timeline: what every step did, how long it took and what it made, linked to the ideas, drafts and approvals it created. It also shows who started it (you, an automation, the canvas or an MCP client), the model and its tokens.

  • Model calls inside a run are listed as child runs
  • Simulated output is always labeled
  • A failed step says why, and the run keeps its record
Run log · Repurpose a winnerHarbor · started by an automation
Running
Trigger
When a post outperforms its median
Took
…
Model
Simulated
  1. Read the winner2msX post at 2.4× the brand median at 24h.post · 3 weeks, 2 rewrites
  2. Turn it into an idea1.1sIdea: “Ship small, then measure it.”idea · Ship smallrun · Ideas run
  3. Draft for other platforms2.8s2 drafts, one per platform, in the brand’s voice.draft · LinkedIndraft · Threads
  4. Voice check6ms2 of 2 pass: banned words, length, hashtags, media, hook.
  5. Find open slots9msLinkedIn Wed 8:00 AM · Threads Thu 1:00 PM.
  6. Queue for approval3ms2 posts waiting for you. Nothing published.approval · LinkedInapproval · Threads
02Automations

On a schedule, or when a post does something.

An automation runs an agent once a week at the hour you pick, or when a post outperforms its median for the first time. That event is what Repurpose a winner listens for.

  • A daily run cap, 3 by default
  • Pauses itself after 3 failures in a row
  • The same post never triggers the same automation twice
Agents · AutomationsThey draft and propose. Approving stays with you.
OnWeekly plan, Monday morningsWeekly plan · Harbor · Every Monday at 8am
Last run
Done · Mon 8:00 AM
Next
Mon, Oct 26, 8 AM
Today
0 / 3
OnRepurpose winnersRepurpose a winner · Harbor · When a post outperforms its median
Last run
Done · Thu 2:14 PM
Next
On the event
Today
1 / 3
Paused · failingDigest before the planWeekly digest · Tidewater Coffee · Every Sunday at 9pmFailed 3 times in a row, so it paused. Check the last run, then turn it back on.
Last run
Failed · Sun 9:00 PM
Next
–
Today
0 / 3
Each automation runs at most 3 times a day by default, and the same post never triggers it twice.
03Approvals

Agents propose. People publish.

No agent publishes or schedules on its own: not the built-in ones, not automations, not an MCP client. Whatever an agent wants posted becomes an approval with the draft, the channel, a proposed slot, the reason for it and the voice-check results.

Approving schedules it. Editing first saves a new draft version. Rejecting keeps the record, with an optional note.

  • Approve or reject a whole week in bulk
  • Instagram can’t be approved without an image or video
  • A slot that has passed asks you for a new time
Approvals · 2 waitingAgents propose. You publish.
Click a button
LinkedIn · HarborWed, Oct 21, 8:00 AM
Most founders with several products hit the same wall: switching voice between brands. Here’s the workaround I use, and the one number I check every Monday.
Why Wed 8am is this brand’s #2 LinkedIn slot. Replies keep asking about multi-brand workflows (theme: 4 questions).
  • Banned words
  • Length · 157 / 3,000
  • Hashtags
  • Hook
  • Media · Text only is fine on LinkedIn
Weekly plan · run log · idea: Multi-brand workflows
Instagram · Tidewater CoffeeSun, Oct 25, 7:00 PM
  • Media · Instagram needs an image or video. Attach one first.
Repurpose a winnerAttachApprove
04MCP

Let Claude work in Harbor.

Harbor ships an MCP server over Streamable HTTP, plus a stdio bridge for clients that only speak stdio. Create an API key with read or write scope, and Claude can read Brand Memory, check best times, draft and propose posts. There’s no publish tool: proposals land in Approvals like everything else.

  • Keys start with hbr_ and only their hash is stored
  • Every tool result states the mode, like sandbox or simulated
  • MCP runs show in the run log, with the key that made them
MCP tools and API →
MCP · Streamable HTTP“Plan a post about decaf for Tidewater”
key hbr_7Kq2… · read, write
  1. get_brand_memoryreadTidewater Coffee · voice, 2 audiences, 3 products
  2. best_timesreadThreads: Sun 7pm, Thu 1pm
  3. get_conversationread5 people asked about decaf
  4. create_ideawriteIdea: How we roast decaf
  5. draft_ideawrite1 draft · Threads
  6. propose_postwriteApproval created · next free best-time slot
There is no publish or schedule tool. Even the write scope stops at proposing.
ApprovalsThreads · Sun 7:00 PM
Five of you asked about decaf this month, so here’s how we roast it: slower, cooler, and tasted twice before it ships.
Proposed over MCP · Claude desktopEditApprove
Also in Agents & Approvals
Weekly planPick the platforms, 1 to 7 posts per platform and an optional campaign. It reuses a digest under 24 hours old.
Voice checkNo model call: banned words, length, hashtag count, checkable style rules, an empty hook and media.
Campaigns →Give the weekly plan a campaign, and its ideas and drafts land in that campaign’s canvas frames.
Voice refresh →Proposes Brand Memory changes from results. They wait in Approvals, on their own tab.
Simulated modelAgents can run on the built-in simulated model: real steps and real data, no API spend.
Get started

Plan next week in an afternoon.

Self-host Harbor free, or get early access to Harbor Cloud. Either way, nothing posts until you say so.