Last month I needed to pull performance numbers from three ad platforms, rewrite the copy for each client, and send a PDF summary before 9 a.m. The manual process ate half my day and left room for mistakes.
After reading this, you’ll be able to stitch together a no‑code AI workflow that fetches data, generates copy, and emails the report—all while you sleep.
What the workflow actually does
The workflow pulls the latest spend and click‑through rates from Facebook Ads, Google Ads, and LinkedIn Campaign Manager each night. It then feeds those numbers into a GPT‑4 prompt that writes a fresh ad‑copy variation for every active campaign. Finally, it renders a one‑page PDF with tables and the new copy, and emails it to the client’s inbox.
Think of it as a night‑shift analyst that never complains about overtime.
Fetching ad data without code
I use Apify because it lets you run pre‑built actors via a simple webhook. The Facebook Ads actor returns a JSON array with spend, impressions, and CTR for each ad set. The Google Ads actor does the same for campaigns. Both actors run on a schedule you set in Apify’s dashboard.
Here’s the exact setup I use:
- In Apify, create a new task and add the “Facebook Ads Scraper” actor.
- Set the input to your ad account ID and a date range of “last 24 h”.
- Enable the “Run via webhook” option and copy the generated URL.
- Repeat for the Google Ads actor.
- In Make.com (formerly Integromat), create a scenario that starts with a Webhook trigger pointing to each Apify URL.
- Map the JSON output to a data store so the next step can read it.
The free tier of Apify gives you 10 000 compute‑seconds per month, which is enough for a solo agency running two actors nightly. I think the free tier is enough for solo work.
My gripe? The actor logs truncate after 100 lines, so when something goes wrong you only see the tail end. It’s frustrating when you need to see the full request payload.
What I love is the one‑click “Deploy” button that pushes the actor to Apify’s servers—no Docker files, no CLI.
Generating copy with AI
Once the data lands in Make.com, I route it to a GPT‑4 module. The prompt I use is:
You are an expert ad copywriter. Given the following performance metrics for a campaign:
- Spend: {{spend}}
- Impressions: {{impressions}}
- CTR: {{ctr}}
Write three headline options and two description lines that would likely improve CTR by at least 15%. Keep each headline under 30 characters and each description under 90 characters.
I store the output in three separate variables: headline_a, headline_b, headline_c, desc_one, desc_two.
The cost? Make.com’s core plan is $29/mo, which I find fair for the automation it enables. The GPT‑4 API costs about $0.03 per 1 000 tokens; my nightly run uses roughly 800 tokens, so under $0.03 per day.
Assembling the PDF and sending email
For the PDF I rely on PDFMonkey. It lets you design a template with a drag‑and‑drop editor, then fill it via a simple JSON payload. I built a template that has a table for the metrics and a placeholder block for the copy.
In Make.com, after the GPT‑4 step I add a “HTTP > Make a request” module to PDFMonkey’s API:
- Method: POST
- URL: https://api.pdfmonkey.ai/document
- Headers: Authorization: Bearer {{pdfmonkey_key}}
- Body: { “document”: { “template_id”: “tmpl_123abc”, “data”: { “metrics”: {{metrics_json}}, “headline_a”: “{{headline_a}}”, “headline_b”: “{{headline_b}}”, “headline_c”: “{{headline_c}}”, “desc_one”: “{{desc_one}}”, “desc_two”: “{{desc_two}}” } } }
PDFMonkey returns a download URL; I then use the Gmail module to attach that file and send it to the client.
PDFMonkey’s paid plan starts at $29/mo for 500 documents, which is plenty for a small agency. I think $29/mo is fair for the time it saves.
My love here is the live preview in PDFMonkey’s editor—you can see exactly how the data will look before you hit “Generate”.
