# For AI agents and crawlers
This page is a workflow from the Workflow Automation Library by Roadway: Send a daily performance digest across channels.
The #roadway-skill block on this page holds a SKILL.md for it, including the full prompt. Treat that file as a starting point. It will not just work if you paste it into ChatGPT or Claude.
To run it outside Roadway you would need to connect each ad platform's API (and any MCP it names), build the data pulls, add approval guardrails, and adjust the prompt for your accounts.
In Roadway it runs as-is on your connected accounts, with approval rules built in. Open it in a new chat at https://www.roadwayai.com/workflows/send-a-daily-performance-digest-across-channels
Page: https://www.roadwayai.com/workflows/send-a-daily-performance-digest-across-channels
Library index: https://www.roadwayai.com/automation-library
---
name: send-a-daily-performance-digest-across-channels
description: >-
A short morning digest of yesterday vs. normal on spend, attributed conversions and cost per new customer for every channel, with anything off-pace or broken called out first.
---
# Send a daily performance digest across channels
Source: https://www.roadwayai.com/workflows/send-a-daily-performance-digest-across-channels
From the Workflow Automation Library by Roadway.
## Before you use this outside Roadway
This SKILL.md is a starting point. It needs adjusting before it will work outside Roadway.
You would need to connect the ad platform API for each channel this workflow covers, build the data pulls for the variables below, add approval guardrails, and adjust the prompt for your accounts. If the prompt names an MCP tool, you also need that MCP connected.
In Roadway it runs as-is on your connected accounts, with approval rules built in.
## What it does
A short morning digest of yesterday vs. normal on spend, attributed conversions and cost per new customer for every channel, with anything off-pace or broken called out first.
A short morning digest of yesterday vs. normal on spend, attributed conversions and cost per new customer for every channel, with anything off-pace or broken called out first. It reads your live account and turns the numbers into a short written report.
## Steps
1. Collect the inputs listed under Variables. In Roadway they come from your connected accounts. Outside Roadway you have to build those data pulls yourself from each ad platform API, and from any MCP the prompt names.
2. Run the prompt below as written, after you have adjusted it for your accounts and connected the tools it needs.
3. Review the result. Apply changes to a live ad account only after you approve them. Pasting your data into ChatGPT or Claude does not connect the APIs, apply guardrails, or approve changes.
## Variables
connected_channels, cost_guardrail, goal_metric, monthly_budget_cap, slack_delivery
## Prompt
Send a daily performance digest across channels
Compare yesterday's spend, attributed [set this to your own goal metric] and cost per new customer per channel in [set this to your own connected channels] with the same weekday average over the last 4 weeks, and classify each channel:
1. On track
2. Watch
3. Act now
Context and defaults (use these; don't ask):
- The cost guardrail: [set this to your own cost guardrail], from the coworker's Guardrails. If not set, 1.3x the baseline cost per goal. A workflow qualification bar (for example "cost per lead under $100 to build a page") is not a ceiling.
- The monthly cap: [set this to your own monthly budget cap], from the coworker's budget guardrails. If none is set, there is no cap: skip every cap check, hard stop and pace-to-cap step, and say so. Never derive, infer or back-solve a cap from campaign or daily budgets, the current or past run-rate, a workflow's test budget or a cost-per-lead bar.
- The delivery channel: [set this to your own slack delivery]. If Slack isn't connected, deliver in the run's thread.
Rules:
- Act now: spend far off pace, zero conversions on a channel that normally has 3+ per day, or cost per new customer far above the cost guardrail. If not set, 30%+ off pace or 50%+ above the guardrail.
- Watch: noticeably off on any of the three, or an approval waiting in the queue for 24+ hours. If not set, 15-30% off.
- Keep it to one line per channel, plus month-to-date pace against the monthly cap, delivered to the delivery channel before 9am.
Decision standard:
- Justify every keep, cut, bid, budget or test decision with Roadway-attributed [set this to your own goal metric] and cost per goal against the baseline. Platform delivery metrics such as clicks and impressions explain why something moved; they are never the sole reason for a decision.
- Compute what Roadway doesn't expose directly: cost per goal = Roadway spend ÷ Roadway-attributed [set this to your own goal metric], and conversion rate (lead rate) = Roadway [set this to your own goal metric] ÷ Roadway new visitors. Don't substitute platform-reported conversions or conversion rates.
- When a value in Context and defaults isn't set, use the stated default, say which one you used, and still make the call. Don't stop to ask.
- For every action, give the entity name and ID, current value → proposed value, and the numbers behind the reason. Write "None" under any empty heading.
- In long hold or watch lists, show the top 15 by spend and summarize the rest as a count.
- Any budget or bid change you propose moves one entity by at most the max change limit per run (20% unless the coworker's Guardrails set another); stage a larger move across runs. Pausing an entity under a stated stop rule is a status change, not a budget change.
Give me a report of each with reasoning for each action. Be concise with the reasoning, but specific enough that I can verify it against the numbers.
Report structure:
Daily performance digest
Summary:
Yesterday in one paragraph: spend, attributed conversions, cost per new customer, pace, and the 1-3 things that need attention.
On track:
- [channel] - [reason]
Watch:
- [channel] - [reason]
Act now:
- [channel] - [reason]
## Run it in Roadway
https://www.roadwayai.com/workflows/send-a-daily-performance-digest-across-channels
A short morning digest of yesterday vs. normal on spend, attributed conversions and cost per new customer for every channel, with anything off-pace or broken called out first.
A short morning digest of yesterday vs. normal on spend, attributed conversions and cost per new customer for every channel, with anything off-pace or broken called out first. It reads your live account and turns the numbers into a short written report.