FOR: Mike Fetrow   v2
FROM: Amy McNeill, Growth
DATE: July 14, 2026  ·  Updated w/ Canva MCP test

Close the Loop on Print-Piece Edits

Two tracks: start today with the Canva MCP under Amy’s login. Automate later once Canva Enterprise + Connect API are procured for the Content Engine.

The Problem, in One Example

Today (July 14) a practice needed 6 text edits to the CJS insurance card. What we had: a flat PDF export and a Word doc listing the changes. The source .ai file lived on a designer’s machine. To land the edit we routed to BVM, waited 2–4 days, and hoped for a clean re-export. Multiply this across 260+ practices producing insurance cards, postcards, referral pads, price sheets, and event flyers on a rolling basis.

Live test · CJS Insurance Card · July 14
Setup: Amy rebuilt the card in Canva → Claude opened it via MCP → parsed all text elements. Worked All 4 back-of-card text swaps (insurance list edits) — text-block replaces execute cleanly, no font drift. Blocked Front-of-card doctor reshuffle — edit adds a 7th doctor to a 6-slot layout. Fixable by pre-provisioning empty slots in the template (see below).

What’s Already Built

  • Asset Registry (S3 + Postgres) — source files, versioned exports, per-practice linkage, approval history.
  • Studio queue (CE-5) — intake → design provider → proof → approve → distribute.
  • DesignProvider abstraction — Canva stub swaps for real Canva Connect adapter in 2–3 dev days.

MCP vs Connect API — Two Tracks

The claude.ai Canva MCP (already authenticated to Amy’s account) wraps the same Canva Connect API underneath. The difference is where the code runs and who holds the credentials.

Track 1 · Available Today

MCP + Amy in the Loop

Claude session → Amy’s Canva account
  • No procurement. No API key. No Enterprise seat.
  • Any plan Amy is logged into (Pro/Teams OK).
  • Human-in-the-loop — Amy triggers each edit.
  • Proves the workflow on real cards this month.
Track 2 · Requires Mike

Connect API + Content Engine

Fastify service in AWS → SGA org OAuth
  • Canva Enterprise required for private integrations.
  • Studio queue runs fully autonomous — no Claude session needed.
  • OM files request → proof arrives in Editorial queue.
  • Track 1 validates before we spend on Enterprise.

What Makes a Print Template “Agent-Editable”

The CJS test surfaced a real limit: MCP can edit, move, resize, and delete existing elements — it cannot create new text elements. Templates need to be built with agent editing in mind:

Live in Canva — not .ai / .indd / .psd. Adobe files require a human designer.
Pre-provisioned empty slots — e.g., 4 doctor slots per column even if only 3 are filled today.
Autofill field labels — agents populate by field name (doctor_1_name), not element ID.
Brand Templates (not Designs) — enables versioning & multi-practice reuse from one source.
Per-practice Brand Kits — logo, color, fonts pulled per practice at generation time.
Text blocks vs. individual lines — multi-line lists in one text block are agent-editable in place.

The Ask

1Greenlight Track 1 pilot — now
Owner: Amy  |  Timing: this month  |  Cost: $0 (MCP already authenticated). Rebuild 3–5 highest-turnover print pieces in Canva with agent-editable structure; run real edit requests through MCP.
2Start Canva Enterprise procurement — parallel
Owner: Mike  |  Timing: ~4–6 wks  |  Scope: Canva Enterprise seat + private integration approval (required for Connect API). Timing overlaps with Track 1 pilot so Track 2 can flip on the moment pilot proves value.
3Fund template migration & ownership
Owner: Mike + designer  |  Scope: top ~20 recurring print pieces from .ai to Canva Brand Templates, built to the “agent-editable” spec above. One-time lift, ~2 wks with the right designer.