How I Got on National TV With One AI Prompt
The Problem With Traditional PR in 2026
PR agencies charge retainers before they send a single email. The standard pitch is access to relationships, but what you actually get is a junior account manager filling out media request forms on your behalf. For a seed-stage founder with a real product and no press budget, that model is broken by design.
In 2026, according to McKinsey's State of AI report, 72% of organizations now use AI in at least one business function, up from 50% in previous years. Most of that adoption is internal: document processing, customer support, code review. Very few founders have pointed the same tooling outward, at the media ecosystem, and asked it to do the work a PR firm charges thousands per month to do manually.
I want to document exactly what happened when one entrepreneur did. One prompt. Forty-four journalists identified and contacted. One appearance on France's largest business television channel. Zero agency fees. The result is replicable, and the methodology is specific enough to copy.
How the System Actually Works
The architecture is simpler than most people expect. An AI agent, given a well-structured prompt, can search for journalists by beat, publication tier, and recent coverage patterns. It can qualify each contact against your criteria, draft personalized outreach, and log everything to a spreadsheet or CRM. What used to require a week of manual research collapses into a single automated run.
The prompt structure matters more than the model you choose. Here is the core pattern that produced the 44-journalist list:
- Beat definition: Specify the exact coverage area. Not "business journalists" but "journalists who have covered B2B SaaS funding rounds or founder profiles in the last 90 days."
- Publication tier: Name the outlets explicitly. Tier 1 (national TV, major dailies), Tier 2 (industry verticals, regional business press), Tier 3 (podcasts, newsletters). The agent filters by tier so you are not wasting outreach on mismatched contacts.
- Qualification signal: Ask the agent to confirm each journalist has published at least one piece matching your beat in the last 60 days. Stale contacts are the single biggest reason cold outreach fails.
- Output format: Require a structured table: name, outlet, beat, most recent relevant article, direct email or contact form URL, and a one-sentence personalization hook based on their recent work.
That last field, the personalization hook, is where the conversion happens. A journalist receiving "I saw your piece on [specific article title] last week and thought you might find our angle on [specific topic] relevant" responds at a meaningfully higher rate than a generic pitch. The agent generates this hook by reading the journalist's recent work, not by guessing. The outreach feels researched because it is.
The actual message template is short. Three sentences: what you do, why it is relevant to their recent coverage, and a single ask (a 15-minute call or a press kit). No attachments on the first contact. No pitch deck. Journalists delete long emails. The agent sends the short version and logs replies for follow-up sequencing.
Constraint Language Is the Difference Between a Working System and a Broken One
I learned this the hard way when we were building a classifier pipeline. We spent a week trying to get the output to return exactly 3 sentences per summary. The prompt said "EXACTLY 3 sentences. Not 2, not 4. Three." It still returned 4. The fix was not better instructions. It was constraint language that the model treated as a hard system requirement rather than a polite suggestion: "CRITICAL: This is a hard technical constraint enforced by automated validation. If you write 4 sentences, the output will be rejected. Count your sentences before outputting." Every system prompt we write now uses emphatic constraint blocks for hard output requirements. LLMs do not treat polite instructions the same as enforced constraints.
Apply the same principle to your journalist outreach prompt. If you want exactly one personalization hook per contact, say so with enforcement framing. If you want the output as a CSV-ready table with no extra commentary, specify that the output will be parsed programmatically and any deviation will break the pipeline. The model responds to consequence framing. This is not a trick; it reflects how instruction-following is trained. Vague requests produce vague outputs. Constrained requests produce constrained outputs.
For the n8n implementation specifically, the journalist discovery step runs as a single HTTP Request node calling a reasoning model's API, with the structured prompt passed as the system message and the beat/tier parameters passed as user message variables. The output feeds directly into a Google Sheets node that populates the contact list. A second sub-workflow handles the outreach sequencing: one email on day one, a follow-up on day five if no reply, a final note on day ten. The whole chain runs without manual intervention after the initial prompt is set. If you want to see how this kind of outreach pipeline connects to a broader automation stack, the 2026 GTM tools guide covers the surrounding infrastructure in detail.
Where This Approach Breaks Down
Honest assessment: this system works for earned media outreach to journalists who cover your beat. It does not work for crisis communications, for building long-term editorial relationships, or for placements that require negotiation and trust built over months. A TV appearance from cold outreach is a one-time conversion. A journalist who becomes a recurring source for your company is a relationship, and relationships require human follow-through after the initial contact.
The qualification step also degrades if your beat is too narrow. If you are building infrastructure tooling for a niche vertical, the agent may return a list of 8 journalists instead of 44, and some of those 8 may have moved beats or left their outlets since their last published piece. Always verify the list manually before sending. The agent is fast at discovery; a human is still faster at spotting a contact who left the publication six months ago.
There is also a volume ceiling. Sending 44 personalized pitches in a single day from a new domain will trigger spam filters. The outreach sequencing should be rate-limited: no more than 10 to 15 sends per day, spread across a week. The n8n workflow handles this with a Wait node between batches, but it requires configuration. Skipping that step and blasting the full list at once will get your domain flagged and your deliverability will suffer for months.
Finally, the personalization hook is only as good as the agent's access to recent content. If the journalist's recent work is behind a paywall the agent cannot read, the hook will be generic. Build a fallback into your prompt: "If you cannot access the full article, use the headline and publication name only, and flag this contact for manual review." That instruction prevents the agent from hallucinating article details it did not actually read.
What We'd Do Differently
Build the qualification step as a separate pipeline pass, not part of the discovery prompt. Running discovery and qualification in a single prompt produces longer, less reliable outputs. We would split them: one agent call to generate the raw list, a second call to score each contact against the qualification criteria. Two short prompts outperform one long one on output consistency, and the scoring pass is easier to audit when something goes wrong.
Add a reply classification node before the follow-up sequence triggers. The current setup sends a follow-up on day five regardless of whether the journalist replied with interest, a hard no, or an out-of-office. A classification model reading the reply and routing accordingly, "interested" to a calendar link, "not interested" to a suppression list, "no reply" to the follow-up queue, would cut wasted follow-up volume and prevent the kind of double-contact that damages sender reputation. This is the next build. The AI email generator setup guide covers the reply classification pattern in detail.
Log every outreach attempt with a timestamp and outcome to a persistent store from day one. The first time we ran this, we did not log systematically. When we wanted to analyze which journalist tiers converted and which did not, we had to reconstruct the data manually. A simple Airtable or Postgres logging node added to the workflow from the start would have made that analysis immediate. The data is the asset. The TV appearance is the proof of concept.