Automation

Lead Retargeting Autopilot

Try it on sample leads and read four retargeting adverts written for your business, before you connect anything. Then point it at your CRM and it drafts them daily, paused, so nothing spends without your yes. Runs on your Claude subscription, or on your own AI key. Autoploy never bills you for the AI.

What it does, step by step

  1. Pull your warm leads and their recent activity from the CRM, read-only.
  2. Drop everyone who bought, unsubscribed, bounced, was suppressed or deleted, asked not to be tracked, did not consent to ads, or works at your own company.
  3. Decide whether any lead is eligible to retarget at all.
    • yes goes to "Sort leads into intent segments"
    • no goes to "Nothing to do"
  4. No lead was eligible today, so nothing was synced, drafted, or spent.
  5. Sort the eligible leads into the four intent segments (hot non-converters, trial and demo drop-offs, nurture leads, winback) and log the daily counts.
  6. Decide whether any segment meets your size, consent, and policy rules.
    • yes goes to "May it touch the ad account?"
    • no goes to "Write recommendations only"
  7. No segment met the rules, so write an honest recommendation row for each (what it needs to grow) and finish without touching the ad account.
  8. Decide whether the safety mode allows writing to the ad account at all (recommend-only and draft-only modes never do).
    • yes goes to "Sync the custom audiences"
    • no goes to "Plan drafts inside Autoploy?"
  9. Decide whether full campaign drafts should still be planned inside Autoploy (draft-only mode) or only recommendations written (recommend-only mode).
    • yes goes to "Draft the ad copy"
    • no goes to "Write recommendations only"
  10. Recommend-only mode: write one honest recommendation row per ready segment and finish with the ad account untouched.
  11. For each ready segment, upload the audience as SHA-256 hashes only (never a raw email or phone number), each sync gated by the keyed action ledger so a replay can never sync twice.
  12. Decide, per segment, whether a campaign draft already exists for it.
    • yes goes to "Refresh the existing draft"
    • no goes to "Plan a new draft"
  13. Refresh the existing campaign row with today's audience and budget. Its refreshed audience sync is the ledgered external action; the ads seam has no campaign-update operation, so the campaign object itself is not touched.
  14. Start a new campaign draft row for the segment, keyed to the day so a replay never doubles it. The paused draft lands in the ad account only after validation.
  15. Write one ad copy variant per pending segment in your saved voice, grounded in your business context, in a single AI call. The safety blocklists sweep the output before anything is stored; copy that trips them is replaced with a plain fallback and noted.
  16. Judge every draft against your spend-safety policy: budgets, consent, goals, audience size, landing page, per-run caps, and the copy blocklists. A draft that fails is blocked; there is no way around this step.
  17. Decide whether the validated drafts should land in the ad account as paused drafts now (never in draft-only mode, and only when at least one draft passed).
    • yes goes to "Create the paused drafts"
    • no goes to "Anything waiting for your yes?"
  18. Create the campaign, ad set, and creative as PAUSED drafts in the ad account, each creation gated by the keyed action ledger. Nothing can spend yet.
  19. Decide whether policy allows publishing without a human: only in auto-publish mode, and only for a draft that passed validation with nothing needing review.
    • yes goes to "Publish under the auto-publish policy"
    • no goes to "Anything waiting for your yes?"
  20. Publish the validator-clean drafts, each publish gated by the keyed action ledger so a replay can never publish twice.
  21. Decide whether any paused draft still needs your approval before it can publish.
    • yes goes to "Ask for your approval"
    • no goes to "Anything live to watch?"
  22. Send you the drafts (segments, budgets, goals, copy, and safety notes) and park until you decide. No decision within the window is an automatic no.
  23. Branch on your decision: yes publishes the approved drafts, no (or an expired window) publishes nothing.
    • yes goes to "Publish what you approved"
    • no goes to "Record the no"
  24. Publish the approved drafts, each publish carrying your approval id and gated by the keyed action ledger, so even a doubled decision publishes at most once.
  25. Record the denial (or the expired window) on each row. The drafts stay paused and nothing publishes.
  26. Decide whether any published campaign exists to monitor.
    • yes goes to "Read the performance numbers"
    • no goes to "Done for today"
  27. Read spend, results, clicks, and frequency for every published campaign, and record the day in the performance list.
  28. Decide whether any published campaign is spending without results, showing too often, or costing too much per result.
    • yes goes to "Pause the underperformers"
    • no goes to "Approaching a safety limit?"
  29. Pause each underperforming campaign, ledger-gated, record the plain reason, and alert you with a link to the run.
  30. Decide whether a live campaign is at least four-fifths of a pause limit without crossing it.
    • yes goes to "Lower the daily budgets"
    • no goes to "Done for today"
  31. Lower each approaching campaign by one 20 percent step, ledger-gated. The optimizer can only move a budget down; raising it always needs a new human-approved draft.
  32. The run is complete; the run story says exactly what happened and what waits for you.

Build it just by talking to Claude

You do not wire this by hand. You describe it in a sentence, your Claude builds it, and Autoploy keeps it running.

Paste this to your Claude

Use the Autoploy MCP for every read and save in this task. If it is not connected, stop and tell me instead of improvising. What to build: Lead Retargeting Autopilot. Try it on sample leads and read four retargeting adverts written for your business, before you connect anything. Then point it at your CRM and it drafts them daily in your ad account, paused, so nothing spends without your yes. Runs on your Claude subscription, or on your own AI key. Autoploy never bills you for the AI. This is for founders and non-technical builders. How it behaves: 1. Runs every day at 07:00 UTC. 2. Pull your warm leads and their recent activity from the CRM, read-only. 3. Drop everyone who bought, unsubscribed, bounced, was suppressed or deleted, asked not to be tracked, did not consent to ads, or works at your own company. 4. If anyone to retarget, then go to "Sort leads into intent segments", otherwise go to "Nothing to do". 5. No lead was eligible today, so nothing was synced, drafted, or spent. 6. Sort the eligible leads into the four intent segments (hot non-converters, trial and demo drop-offs, nurture leads, winback) and log the daily counts. 7. If does any segment meet the rules, then go to "May it touch the ad account?", otherwise go to "Write recommendations only". 8. No segment met the rules, so write an honest recommendation row for each (what it needs to grow) and finish without touching the ad account. 9. If may it touch the ad account, then go to "Sync the custom audiences", otherwise go to "Plan drafts inside Autoploy?". 10. If plan drafts inside Autoploy, then go to "Draft the ad copy", otherwise go to "Write recommendations only". 11. Recommend-only mode: write one honest recommendation row per ready segment and finish with the ad account untouched. 12. For each ready segment, upload the audience as SHA-256 hashes only (never a raw email or phone number), each sync gated by the keyed action ledger so a replay can never sync twice. 13. If campaign already exists, then go to "Refresh the existing draft", otherwise go to "Plan a new draft". 14. Refresh the existing campaign row with today's audience and budget. Its refreshed audience sync is the ledgered external action; the ads seam has no campaign-update operation, so the campaign object itself is not touched. 15. Start a new campaign draft row for the segment, keyed to the day so a replay never doubles it. The paused draft lands in the ad account only after validation. 16. Write one ad copy variant per pending segment in your saved voice, grounded in your business context, in a single AI call. The safety blocklists sweep the output before anything is stored; copy that trips them is replaced with a plain fallback and noted. 17. Judge every draft against your spend-safety policy: budgets, consent, goals, audience size, landing page, per-run caps, and the copy blocklists. A draft that fails is blocked; there is no way around this step. 18. If land the paused drafts now, then go to "Create the paused drafts", otherwise go to "Anything waiting for your yes?". 19. Create the campaign, ad set, and creative as PAUSED drafts in the ad account, each creation gated by the keyed action ledger. Nothing can spend yet. 20. If may it publish automatically, then go to "Publish under the auto-publish policy", otherwise go to "Anything waiting for your yes?". 21. Publish the validator-clean drafts, each publish gated by the keyed action ledger so a replay can never publish twice. 22. If anything waiting for your yes, then go to "Ask for your approval", otherwise go to "Anything live to watch?". 23. Send you the drafts (segments, budgets, goals, copy, and safety notes) and park until you decide. No decision within the window is an automatic no. 24. If did you approve, then go to "Publish what you approved", otherwise go to "Record the no". 25. Publish the approved drafts, each publish carrying your approval id and gated by the keyed action ledger, so even a doubled decision publishes at most once. 26. Record the denial (or the expired window) on each row. The drafts stay paused and nothing publishes. 27. If anything live to watch, then go to "Read the performance numbers", otherwise go to "Done for today". 28. Read spend, results, clicks, and frequency for every published campaign, and record the day in the performance list. 29. If performing below your threshold, then go to "Pause the underperformers", otherwise go to "Approaching a safety limit?". 30. Pause each underperforming campaign, ledger-gated, record the plain reason, and alert you with a link to the run. 31. If approaching a safety limit, then go to "Lower the daily budgets", otherwise go to "Done for today". 32. Lower each approaching campaign by one 20 percent step, ledger-gated. The optimizer can only move a budget down; raising it always needs a new human-approved draft. 33. The run is complete; the run story says exactly what happened and what waits for you. The tools: - Anthropic (for "What should write the ad copy?"). I will need you to create the key ANTHROPIC_API_KEY (Anthropic API key). I add the values in Autoploy myself; you only need their names. - Sample (for "Where do your leads live?"). - Sample (for "Where should the retargeting run?"). Shared memory: This automation remembers its work in a list called "Campaign drafts" (Every retargeting campaign this automation has planned, one row per draft, with its status and approval trail.) that I can open in the Context section of my dashboard and see every row. Its columns are: day ("Day"), segment ("Segment"), campaign ("Campaign"), objective ("Goal"), daily_budget ("Daily budget"), status ("Status"), headline ("Headline"), primary_text ("Ad text"), risk_flags ("Safety notes"), approval ("Approval"), approval_id ("Approval id"), provider_ids ("Ad account ids"). Before anything runs, make sure the list exists: check with list_collections over my Autoploy MCP, and create it with create_collection (exactly that name, that purpose, and those columns) only if it is missing. Never create a second list under a similar name; reuse this one. The platform never creates a list silently at run time, so a missing list stops the work with a plain refusal. In the automation's code, write rows through ctx.collections.insert with an idempotency key built from the id of the thing the row is about (for example the booking id), so a replayed trigger can never write the same row twice. Read prior rows with ctx.collections.query when the automation must know what it already did. The platform: Connect to my Autoploy MCP server, call get_authoring_guide to read the authoring guide, and build the automation with the Autoploy SDK contract. Model every yes/no fork as a condition step with truthful labeled branches, keep every external side effect idempotent and keyed, and deploy it with deploy_automation. Before you build: Repeat the plan back to me in plain English and ask follow-up questions about anything unclear or ambiguous. Do not guess. Ask me for each key by name when it is time, and never ask me to paste a key anywhere except my own secure setup.

Start building

Free to start. No card needed.