Campaign management is the invisible tax on every DTC operator's week. Not the strategy, not the creative, not the actual execution: just the coordination layer. The status checks, the "where are we on the email brief" messages, the task updates nobody made, the overdue deliverables nobody caught until the campaign already went live with something missing.
Running multiple brands means running multiple Notion workspaces. Each with its own campaign calendar, live flows, creative briefs, and approval chains. The information exists. It just does not surface itself. Before this agent ran, I was spending the equivalent of a full working day per week across client workspaces, not doing work but tracking whether work had been done. Every week spent coordinating is a week not operating.
What the agent actually does
The agent runs on two cadences: a lightweight daily scan at 7am, and a full weekly review every Monday morning. Here is the complete workflow.
Read all active campaign databases
The agent connects to each client Notion workspace via the API and reads every active campaign database: the current sprint, the email calendar, the ad creative pipeline, and any product launch tracker. It pulls task status, due dates, assigned owners, and dependency tags. This takes under 30 seconds across all brands.
Identify overdue, at-risk, and blocked items
It compares every open task against its due date and places it into one of three categories: overdue (past due date and not complete), at-risk (due within 48 hours with no recent update), and blocked (waiting on a dependency that is itself incomplete). These three categories map to different actions in the digest it produces.
Check for dependency violations
If a task is marked complete but one of its upstream blockers is still open, that is a data integrity problem. The agent flags these and requests clarification rather than assuming the completion was correct. This catches the phantom completions that silently break campaign sequences.
Cross-reference against live campaign dates
For brands running Klaviyo flows and Meta campaigns, the agent cross-references task due dates against campaign send dates and go-live dates. If a creative brief is due on Wednesday but the campaign it feeds goes live on Thursday, a one-day slip becomes a live campaign missing a key asset. The agent catches that window before it closes.
Create the weekly campaign health summary
Every Monday morning, a Campaign Health page is created in Notion with three sections: what shipped last week, what is currently blocked, and what is due in the next five days. This replaces the weekly status meeting. The team reads the page, resolves blockers, and the week starts with full visibility in under five minutes.
Assign owners to unowned at-risk tasks
If a task is past its start date, has no assigned owner, and is on the critical path for a live campaign, the agent assigns a default owner based on task type and flags the assignment in the digest. Creative tasks go to the creative lead. Email briefs go to the copy lead. Nothing slips through because nobody was watching it.
Send the morning digest
The full briefing arrives via iMessage every Monday at 7am and a lighter version every Friday afternoon. The Monday message covers every brand with active campaigns. The Friday message covers anything at risk of missing next week's go-live window. Both link directly to the Notion Campaign Health page for full context.
The context layer: why it feels like an ops manager
The difference between a useful agent and a noisy one is context. The agent does not treat all tasks equally because not all tasks are equal. At the start of each run, it reads a client context brief containing the campaign calendar for each brand, the approval chain, which tasks are on the critical path, and the naming conventions used in that workspace. This brief is written once per client during onboarding and updated when the campaign structure changes.
That context layer prevents false positives. A task that looks overdue might be correctly postponed because a brief above it shifted. An unowned task might be intentionally open pending an external deliverable. Without context, the agent alerts on everything and becomes background noise within a week. With context, it alerts only on things that actually need attention. That is the distinction operators feel immediately: the first time the agent surfaces something real that would have slipped through, with nothing else alongside it.
What the Monday digest looks like
Below is a simplified version of the iMessage that arrives every Monday morning. Brand names are removed but the structure is live.
Monday Campaign Brief
Brand A
Replenishment flow brief overdue (was due Fri), no owner assigned. Task created and assigned to copy lead.
Email creative for Meta retargeting marked complete but template not yet live in Klaviyo. Flagged for review.
2 items need attention
Brand B
Platform relaunch campaign goes live Thursday. Design approval still pending from brand team since Tuesday. Critical path risk.
1 blocker — action today
Brand C
All active campaigns on track. Win-back flow launched Friday. No blockers.
All clear
The full Notion Campaign Health page is linked in each message. Each brand section links directly to the relevant task database. The whole review takes under five minutes. The alternative, which involved manually checking each workspace, chasing owners, and reconciling campaign dates against deliverable statuses, used to consume most of a Monday morning.
Inside the System
How we build this for brands
For the brands we work with, the Notion campaign agent sits inside a broader operations layer that connects every channel into one coherent view. When a Klaviyo flow is deployed, the corresponding Notion deliverable task updates to complete automatically. When a Meta creative is rejected during review, a blocker task is created and assigned before anyone has to manually log it. The campaign tracker is not reading a static database. It is reading a workspace that itself updates in response to what is actually happening across channels.
The result for operators is a single source of truth across every channel without the manual overhead of maintaining it. Campaign status reflects reality, not the last time someone remembered to update a task. Part of this runs live for portfolio brands today; the full system is what we deploy when we take a brand on.
Build Your Agent Team
Get your own AI agent team working on your brand
Caner can help you build your own AI agent teams and unlock growth for your brand. This is not a template or a SaaS tool. It is a custom system designed around your data, your workflows, and your growth targets.
Book A DemoFrequently asked questions
Can I build a Notion campaign tracking agent myself?
You can build a basic version using the Notion API combined with automation tools like Make or Zapier, but the agent described here is built with Claude via the Anthropic API and runs on a custom scheduling system. The core capability covers reading Notion task databases, identifying blockers and overdue items, and sending a structured digest. Most DTC operators find it faster to deploy a pre-built system than to build from scratch.
How long does it take to set up a Notion campaign tracking agent?
For a brand already using Notion consistently with a defined campaign structure, the agent can be configured and running in 2 to 3 hours. The setup time is mostly in defining the Notion database schema the agent reads from and writing the client context brief. For brands migrating to Notion from spreadsheets or other tools, budget an additional day to structure the workspace first.
What Notion plan is required for an AI campaign tracking agent?
The Notion API is available on all paid plans. The agent reads and writes to Notion via the API, so any paid plan works. The Business plan is recommended for teams, as it provides better API rate limits and access to Notion native AI features, which complement the custom agent layer.
Does the agent only read tasks, or can it create and update them too?
The agent reads, creates, and updates tasks. When it detects that an upstream deliverable has been completed, it updates the blocked task status accordingly. When it identifies a gap, such as a campaign launching in 48 hours with no creative brief assigned, it creates a flagged task with a due date. The goal is to reduce manual coordination overhead, not just surface problems you still have to action yourself.
Will this work if I only manage one brand rather than multiple clients?
Yes. The multi-client version runs the same logic across multiple Notion workspaces, but the single-brand version runs the same workflow over one workspace. For a brand running three to five active campaigns simultaneously across paid ads, email sequences, influencer activity, and product launches, the surface area is large enough to deliver real time savings even without the multi-workspace complexity.
About the author
Caner Veli built Liquiproof to global distribution across 3,000+ retailers, then exited. He now runs Purposeful Profits using a combination of operator strategy and AI-powered systems he has built and uses daily, having 10x'd monthly revenue in his own business in the last 90 days.