# For AI agents and crawlers
This page is a workflow from the Workflow Automation Library by Roadway: Produce fresh creative variants when fatigue hits for Snapchat Ads.
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/produce-fresh-creative-variants-when-fatigue-hits-for-snapchat-ads
Page: https://www.roadwayai.com/workflows/produce-fresh-creative-variants-when-fatigue-hits-for-snapchat-ads
Library index: https://www.roadwayai.com/automation-library
---
name: produce-fresh-creative-variants-when-fatigue-hits-for-snapchat-ads
description: >-
Spots worn-out Snapchat ads, then builds fresh image variants in Figma, Canva or Runway that keep the winning message and change one thing, and generates the video in Runway or Google Veo. Needs a video MCP such as Runway or Google Veo connected in Roadway.
---
# Produce fresh creative variants when fatigue hits for Snapchat Ads
Source: https://www.roadwayai.com/workflows/produce-fresh-creative-variants-when-fatigue-hits-for-snapchat-ads
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
Spots worn-out Snapchat ads, then builds fresh image variants in Figma, Canva or Runway that keep the winning message and change one thing, and generates the video in Runway or Google Veo. Needs a video MCP such as Runway or Google Veo connected in Roadway.
Each run, the agent checks which Snapchat ads have worn out compared with their first weeks. For each one it keeps the winning message and changes one thing, then uses Figma, Canva or Runway to build the new image versions as drafts, and Runway or Google Veo to generate fresh video. Nothing is uploaded or launched until you approve it.
## 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
approved_claims, auto_approve, brand_kit, cost_per_goal_baseline, creative_library, frequency_cap_target, funnel_metrics, goal_metric, guardrail_metrics, lookback_window, max_change_pct, min_sample_size, monthly_budget_cap, task_history
## Prompt
Produce fresh creative variants when fatigue hits for Snapchat Ads
Review every active ad in my Snapchat Ads Manager account with spend in the last [set this to your own lookback window] and decide for each ad that shows fatigue:
1. Produce fresh variants
2. Resize the winner
3. Refresh the hook only
4. Leave as is
Context and defaults (use these; don't ask):
- The guardrail metrics: [set this to your own guardrail metrics]. If not set, use the metrics that show an ad wearing out on this channel, compared with its own first weeks, and say which ones you used.
- The minimum number of conversions: [set this to your own min sample size] goal events per variant. If not set, 30.
- The brand kit: [set this to your own brand kit]. If not set, use the logo, colors and fonts visible on the coworker's landing pages and live ads, and mark anything beyond that Unverified.
- The creative library: [set this to your own creative library]. If not set, use the ad platform's asset performance and Task History.
- The approved claims: [set this to your own approved claims]. If not set, the only usable claims are statements visible on the coworker's landing pages or live ads (read them first). Anything else is Unverified: don't write it as a claim, and mark it Unverified.
- The baseline cost per goal: [set this to your own cost per goal baseline]. If not set, compute it: Roadway spend ÷ Roadway-attributed [set this to your own goal metric] for the same ad squads over the lookback window, and state the number.
- 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 max change limit: [set this to your own max change percent] per budget or bid target per run. If not set, 20%. It does not apply to experiment traffic splits.
- Auto-approve: [set this to your own auto approve]. If not set, it's off: list every change as a proposal for approval.
Rules:
- Creative tools: use an image MCP such as Figma, Canva or Runway connected in Roadway to draft stills, and a video MCP such as Runway or Google Veo to generate the actual video, not only a script. In Figma or Canva, create or resize a design and export it as PNG or JPG. In Runway, generate or edit images and video. In Google Veo (via the Vertex AI MCP), generate video from text or from an image. If none of these is connected, say so, write the briefs instead of the assets, and stop. Create every asset as a draft. Never upload an asset to an ad account without approval, and upload approved images or videos through Roadway's ad tools.
- An ad shows fatigue when its guardrail metrics have worn down compared with its first weeks and cost per goal has risen above the baseline. Do not touch fresh ads or evergreen winners.
- Produce fresh variants by keeping the winning message and changing one thing: the hook, the visual, or the offer. Make at most 2 variants per fatigued ad, and only when no test is already running for that ad.
- Plan every concept as a native 9:16 vertical video with captions and sound-on audio, with the hook in the first 3 seconds, so it does not look like a repurposed ad. Write the video generated in Runway or Google Veo and build the cover frame.
- Use only the brand kit, the approved claims and assets from the creative library. Mark anything else Unverified, and never put an Unverified claim on a visual.
- Test every fresh variant against the current best with a fixed, even traffic split (or the platform's own experiment settings), not a setup that keeps shifting traffic mid-test. Keep variants to a small share of spend, and do not change the split, budget or bid while a test is running. Call a winner only when each arm has at least [set this to your own min sample size] goal events and at least 14 days of data, and move traffic to the winner in steps of at most [set this to your own max change percent] per run.
- Resize the winner when the same concept already wins on this channel but is missing a format the placements need.
- Refresh the hook only when the first 3 seconds or the first line is what wore out and the rest still works.
- Name each asset after the ad it replaces and the one thing that changed, so results can be traced back.
- Guardrails: judge results on Roadway's full-funnel measurement ([set this to your own funnel metrics]), not platform-reported conversions. Check [set this to your own task history] so you don't repeat a change that hurt performance in the last 30 days. Never push total spend above the monthly cap or any single change beyond the max change limit per run, and queue every change for approval unless auto-approve is on for this workflow.
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.
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:
Snapchat Ads creative refresh plan
Summary:
The fatigued ads, what wore out in each, and the variants to produce.
Produce fresh variants:
- [ad] - [what wore out] - [variants and what changes in each]
Resize the winner:
- [ad] - [formats to add] - [reason]
Refresh the hook only:
- [ad] - [new hook] - [reason]
Leave as is:
- [ad] - [reason]
Asset drafts:
- [asset name] - [format] - [ad it replaces] - [what changed] - [design tool used]
## Run it in Roadway
https://www.roadwayai.com/workflows/produce-fresh-creative-variants-when-fatigue-hits-for-snapchat-ads
Produce fresh creative variants when fatigue hits for Snapchat Ads
Produce fresh creative variants when fatigue hits for Snapchat Ads
Spots worn-out Snapchat ads, then builds fresh image variants in Figma, Canva or Runway that keep the winning message and change one thing, and generates the video in Runway or Google Veo. Needs a video MCP such as Runway or Google Veo connected in Roadway.
Each run, the agent checks which Snapchat ads have worn out compared with their first weeks. For each one it keeps the winning message and changes one thing, then uses Figma, Canva or Runway to build the new image versions as drafts, and Runway or Google Veo to generate fresh video. Nothing is uploaded or launched until you approve it.