The system is read-only by default. All reporting runs automatically. Any action that affects spend (pause/resume/budget changes/ad uploads) requires your explicit approval.
The Full Loop
Here’s how the five skills chain together:Morning Briefing (Automated)
This is the daily routine that replaces 20 minutes of Ads Manager clicking.How It Works
Scheduled: Every morning at 8am (configurable) What happens:- Cron triggers daily check at configured time
- Agent pulls insights via the
meta-adsskill - Analyzes performance:
- Spend pacing (on track? over/under?)
- Active campaigns (anything that shouldn’t be running?)
- 7-day trends (improving or declining?)
- Identifies issues:
- Bleeders 🩸 — CTR < 1% or frequency > 3.5 + high spend
- Winners 🏆 — Top CTR, low CPC, scaling headroom
- Fatigue signals 😴 — CTR dropping day-over-day
- Generates summary with recommendations
- Delivers to you via Telegram/Slack/configured channel
- Waits for approval on any actions
Example Briefing
You (2 minutes over coffee):
- Read the summary
- Reply: “Approve 1, 2, and 3. Hold on 4 for now.”
- Done.
Setting Up Automated Briefings
Via OpenClaw
Via Cron (Manual)
Add to your crontab:On-Demand Workflow (Interactive)
You can also run the workflow interactively throughout the day.1. Monitoring
You ask:- Runs appropriate report via
meta-adsskill - Pulls data via
social-cli - Interprets results in context of benchmarks from
ad-config.json - Presents findings with actionable recommendations
2. Budget Optimization
You ask:- Runs efficiency analysis via
budget-optimizerskill - Ranks campaigns/adsets by CPA, ROAS, or CPC
- Identifies top and bottom performers
- Calculates recommended budget shifts
- Presents recommendations with reasoning
- Waits for approval before adjusting any budgets
3. Creative Refresh (When Fatigue Hits)
You ask:- Analyzes current ad (via
meta-ads)- Pulls creative details from Graph API
- Confirms fatigue signal (CTR decline, frequency spike)
- Generates fresh copy (via
ad-copy-generator)- Analyzes the image creative
- Pulls account’s top-performing copy patterns from last 30 days
- Writes 3-5 new headline + body variants
- Outputs
asset_feed_specJSON ready for upload
- Shows you the copy
- Presents variants with psychology labels (Money, Status, Fear, Time)
- Explains how copy reinforces the image
- Waits for approval
- Uploads to Meta (via
ad-upload)- Creates new creative with fresh copy
- Attaches to existing ad ID (preserves metric history)
- Sets status to PAUSED for final review
- Confirms completion
- Returns ad ID and Ads Manager review URL
4. Launching New Ads
You ask:- Analyzes the image (via
ad-copy-generator)- Identifies format (notes app, receipt, tweet, chart, etc.)
- Extracts on-image text
- Determines psychology and funnel stage
- Pulls winning patterns from your account
- Writes matched copy (3-5 headlines, 3-5 bodies)
- Outputs asset_feed_spec JSON
- Uploads (via
ad-upload)- Validates copy + image
- Uploads image → gets hash
- Creates creative
- Creates ad in specified ad set (PAUSED)
- Returns ad ID
Approval Gates
The system has two operational modes:Read-Only (No Approval Needed)
These actions run automatically:- Running reports and insights
- Analyzing data
- Generating recommendations
- Logging learnings
- Pulling account performance data
Write Actions (Approval Required)
These actions always ask first:- Pausing any ad, adset, or campaign
- Resuming any ad, adset, or campaign
- Changing any budget
- Uploading new ads or creatives
- Updating existing ad copy
- Present the action with full context
- Show the data justification
- Explain the expected outcome
- Ask: “Proceed?”
- Wait for explicit “yes” / “approve” / confirmation
- Execute on approval
- Log the action with timestamp and reasoning
Memory & Learning
The system builds institutional knowledge over time.What Gets Logged
Every day, the agent logs tomemory/YYYY-MM-DD.md:
- Reports run and key findings
- Actions taken (paused/resumed/budget changes/uploads)
- Performance trends noted
- Recommendations made and outcomes
What Gets Learned
Findings append toworkspace/brand/learnings.md:
- Creative fatigue patterns (how long do your creatives last?)
- Winning copy traits (what hooks convert?)
- Audience performance (which demos respond best?)
- Budget efficiency (which campaigns deliver best ROI?)
Using Learnings
The agent referenceslearnings.md when:
- Generating new copy (“Your top performers use question headlines — I’ll match that”)
- Detecting fatigue (“Notes app creatives typically last 14 days. This one is on day 12.”)
- Recommending budget shifts (“Retargeting has delivered 40% lower CPA historically — good scaling candidate”)
Example: Full Day in the Loop
8:00am — Morning Briefing Arrives
Your phone buzzes. Telegram message from Meta Ads Copilot:8:02am — Agent Executes
- Pauses Ad #23847120
- Starts creative refresh workflow for Ad #23847111:
- Analyzes the image
- Pulls top-performing copy from your account
- Generates 3 new headline + body variants
- Sends you the copy for review
8:05am — Copy Review
You get another message:8:07am — Upload Complete
11:30am — On-Demand Check
Between meetings, you wonder how the morning changes are performing. You message: “How’s Ad #23847111 doing with the new copy?” Agent:5:00pm — End of Day
You message: “Daily summary?” Agent:Customizing the Workflow
Adjust Benchmarks
Editad-config.json to change what triggers alerts:
Change Briefing Time
Tell the agent:Adjust Approval Requirements
By default, all write actions require approval. If you want the agent to auto-execute certain actions:Use auto-execution carefully. Start with full approval mode until you trust the system’s judgment.
What You Never Touch
With this workflow fully operational:- Ads Manager — Only for final creative review before activating new ads
- Manual reporting — All insights delivered automatically
- Budget micromanagement — Agent recommends, you approve in seconds
- Creative performance tracking — Fatigue detected before you’d notice manually
- Copy generation — AI writes matched to your image creatives and account data
- Uploading ads — Push straight to Meta via API
Next Steps
Daily Questions
Deep dive on the 5 questions that power the briefing
Skills Overview
Learn what each skill does and when to use it
Setup Guide
Get your ad account connected and run your first briefing
Configuration
Customize benchmarks, thresholds, and automation rules