Demo visuals include blurred data or synthetic placeholders to protect customer privacy.
Andres Lam is back on AI Demo Hour with the third installment of his AI Marketing Campaign series, a scheduled pipeline that turns fresh cybersecurity news into a draft LinkedIn ad every morning. Episode 3 is the run where the automation finally executed end-to-end and produced a real ad, ready for review.
Ad Drafts on Demand
Slow Handoffs Delay Response
Andres has been chipping away at the same build for three weeks. The idea is straightforward: compress the manual loop that today produces news-timely digital ads, and give the digital marketing team a draft on their desk before they've finished their first coffee. Episode 3 shows the pipeline in motion, plus the first honest limitation to fix.

Digital ads at most companies pass through a lot of hands before they ship. The digital marketing team scopes an idea, the creative team turns it into a concept, and an outside agency helps package and deploy. That system protects quality, but it does not react quickly. When a cybersecurity incident breaks in the morning, an ad tied to that incident rarely goes live the same day.
Three frictions Andres set out to compress:
- Cybersecurity news moves in hours, not weeks, but every ad still routes through multiple teams and an outside agency before it ships.
- Each handoff adds a review cycle, so news-timely ads often miss the news window they were meant to ride.
- There is no starting draft to hand the team when a story breaks, so the loop restarts from scratch every time.
A DAG That Reads News
The build is a scheduled DAG that runs every morning. A marketing teammate pings the app in Slack around 6 AM PT, which kicks the job off. The DAG hits the Perplexity API, pulls recent cybersecurity news, and hands the results to the ad-generation step. The output is a fully assembled LinkedIn ad, review-ready, with copy and creative direction generated in the same run.
Connected systems: Slack (trigger and delivery), Apache Airflow (orchestration), Perplexity API (news retrieval), LinkedIn (target platform).
Update capabilities include:
- Scheduled DAG that runs on a morning cadence
- Slack DM as the human trigger from a marketing teammate
- Perplexity API pulls recent cybersecurity news into the pipeline
- Auto-generated LinkedIn ad copy tied to the day's headline
- Creative direction generated alongside the copy so the draft is review-ready
"You can see it generates copy based on the news, and a creative specific to that moment in culture." — Andres Lam

Put together, the pieces do the thing the manual loop struggles with. News enters the pipeline, a draft comes out, and a person is still in the loop before anything goes live.
Faster News, Sharper Ads
Episode 3 does not claim a shipped ad or a measured outcome yet. What it does show is a working draft engine with an honest recency limitation. The news the DAG grabbed was a few weeks old, because Andres had not yet enforced a recency window on the Perplexity query. Fair miss on an early build, and easy to patch.
Value across two audiences:
- Digital marketing team: a draft lands in Slack review-ready, so the team spends its time refining and shipping rather than starting from scratch.
- Broader company: news-timely marketing gets closer to something the team can actually respond to inside the day.
Impact so far:
- Drafts land in Slack ready for review, cutting steps out of the current loop
- Marketing keeps ownership, since the pipeline drafts and the team ships
- News-timely ads become achievable inside the day a story breaks
- Weekly demos push the automation closer to production-grade, one patch at a time
Concrete next step: add a recency filter to the Perplexity query so only fresh stories power the daily draft.
Shipping in Public Weekly
Episode 3 is where this series turns useful. Episode 1 was an idea, Episode 2 was a scaffold, and now the pipeline actually runs and produces something a marketing teammate can review. The digital marketing team is the early user cohort, and their feedback on the first live drafts is what shapes the next iteration.
The pattern is the point. Small, honest builds, week after week, with the misses called out on stage. That cadence is how internal automation gets from a good idea to a tool the team relies on, and it is the reason the demo hour exists in the first place. The next signal worth watching is the first run after the recency filter lands.
