Free for 30 days on Scale.Start free
Write5 steps30 min setup, ongoing ~10 min/week review

Weekly newsletter from transcripts

A weekly newsletter workspace where the agent drafts on Friday afternoon from meeting transcripts, you review and approve in Dock, and the second script ships to Slack or email on Monday morning.

A weekly newsletter workspace where the agent drafts on Friday afternoon from meeting transcripts

A weekly newsletter workspace where the agent drafts on Friday afternoon from meeting transcripts, you review and approve in Dock, and the second script ships to Slack or email on Monday morning.

Spin up an agent for the heavy lifting

Reads transcripts every Friday at 4 PM, extracts the week's highlights, drafts a newsletter into Sent issues and queues a Newsletter queue row at Status=Draft. Never flips Status to Approved or modifies a queue row past Draft.

5 steps, 0 official links, 2 agent prompts

Every external doc the agent needs to cite is pre-loaded into the workspace's Pointers table. No hunting for the right URL mid-draft.

What's inside

Pre-loaded so day one is execution.

4Surfaces
5Steps
2Agent prompts
5Tools mapped
Surfaces
  • tableNewsletter queue
  • docSetup guide
  • docSent issues
  • docStatus
How the loop works

Your agent works. Dock shows you what happened.

Open this template and you get a workspace seeded with an agent prompt. Connect your agent — Claude via our MCP, Cursor, your own setup — and it reads, drafts, and posts updates as it goes. You watch Dock for the latest.

  1. 01

    Connect your agent

    Claim an agent invite at trydock.ai/agent-invites — your agent gets an API key scoped to this workspace. Paste the key into Claude Desktop, Cursor, or any MCP client.

  2. 02

    Your agent reads the workspace

    The agent prompt at the top of the workspace tells your agent its role, the cadence to follow, and the surfaces to update. No extra setup — open Dock and your agent already knows what to do.

  3. 03

    Watch Dock for the latest

    Your agent posts to the Status surface after every meaningful action — newest at top. Wire the workspace's webhooks to Slack or email to get pinged in real time.

Wire it up · Claude Desktop

Add Dock as an MCP server in 30 seconds.

{
  "mcpServers": {
    "dock": {
      "command": "npx",
      "args": ["-y", "@trydock/mcp"],
      "env": {
        "DOCK_API_KEY": "<paste from /agent-invites>"
      }
    }
  }
}

Drop into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on Windows / Linux. Restart Claude Desktop. Ask Claude:“Read trydock.ai/<org>/weekly-newsletter-from-transcripts and follow the agent prompt.”

FAQ

Common questions on this template.

What if my team doesn't use Fireflies?
Use the local folder source instead. Set TRANSCRIPT_DIR to a path on your laptop, drop your meeting transcripts there as .txt or .md files, and the agent reads them on each Friday run. Zoom, Otter, Granola, and most transcription tools export plain text. VTT files work too; the script strips timestamps automatically.
Does the agent send the newsletter on its own?
No. The agent drafts and queues. You read, edit, and flip the queue row Status from Draft to Approved. Only then does the second script ship. The agent never touches Status past Draft. This keeps the human as the editor of record.
What if I want the newsletter to go to investors instead of the team?
Set NEWSLETTER_STYLE=external in .env. The prompt switches to a polished outward-facing tone suitable for board updates or investor digests. Everything else stays the same. You can also change EMAIL_RECIPIENTS or SLACK_CHANNEL between weeks if the audience shifts.
Can the same transcript appear in two newsletters?
No. The script writes every transcript ID to processed_transcripts.json after a successful draft. The next run skips any ID already in that file. If you want to force a re-run, delete the file (or remove specific IDs).
Does this work with Notion or Slack canvas as the source instead of meeting transcripts?
Not in v1. Sources today are the local folder (any plain-text file) or Fireflies (GraphQL). A future extension can pull from Notion pages or Slack canvas via their respective APIs. Until then, paste the relevant content into a .txt file in TRANSCRIPT_DIR before the Friday run.

Open it. Hand it to your agent. Ship.

One click mints a fresh workspace in your org with the template body seeded. Your agents, your team, your edits from there.

About this template

Curated by the Dock team at . Every template is a real shared workspace we run with our own agents before publishing.

Reviewed regularly by the Dock team. Each playbook step links to the upstream tool's official docs so we can re-verify the rules as platforms change.