How to Build an AI PR Outreach System for Agencies Using GPT Agents in 2026

Table of Contents

Reading Time: 12 minutes

TL;DR

  • A GPT agent-powered PR outreach system can reduce manual prospecting and pitch writing time by 70-80% while maintaining the personalization quality that editorial journalists require (Instantly.ai, 2025).
  • The system runs on four connected layers: prospect discovery, contact enrichment, GPT-powered pitch generation, and automated multi-step outreach sequences.
  • GPT agents handle first-draft pitch writing, journalist research summaries, and follow-up personalization – humans review, approve, and manage relationships.
  • The core tool stack costs between $200-$400 per month for a full agency setup: GPT-4o API, Clay, Hunter.io, and Instantly or Lemlist.
  • Agencies running this system report sending 300-500 personalized pitches per week with a team of two, compared to 40-60 pitches per week using manual methods (Lemlist, 2025).

What You Need Before You Start

  • An OpenAI API account with GPT-4o access (not just ChatGPT Plus – you need API access for agent workflows)
  • A Clay account for prospect enrichment and workflow automation (starts at $149/month)
  • Hunter.io or Apollo.io for journalist contact finding and email verification
  • Instantly.ai or Lemlist for outreach sequence management and deliverability
  • A Google Sheet or Airtable base to serve as your central campaign tracker
  • A defined client niche – the GPT prompts in this system are built around specific topic areas, not generic PR outreach
  • At least one approved client story angle, data asset, or campaign hook to use as your first test campaign

Step 1: Map Your System Architecture Before Touching Any Tool

Every agency that builds this system wrong starts with the tools. The ones that build it right start with the workflow map.

Draw the full data flow before opening Clay or GPT. Your system has five nodes:

Node 1 – Trigger: A new client campaign brief arrives. Topic, hook, target publications, and deadline defined.

Node 2 – Prospect Discovery: GPT agent searches for journalists who cover the campaign topic. Output is a raw list of names and outlets.

Node 3 – Contact Enrichment: Clay pulls verified email addresses, recent article history, beat descriptions, and social profiles for each journalist on the list.

Node 4 – Pitch Generation: GPT agent reads the enriched journalist data and the campaign brief, then writes a personalized pitch for each contact. Human reviews and approves.

Node 5 – Outreach and Follow-up: Approved pitches enter an automated sequence in Instantly or Lemlist. Follow-up emails send automatically on a set schedule.

Every tool you choose maps to one of these five nodes. If a tool does not serve a node, it does not belong in the stack. This keeps the system clean and the monthly cost controlled.

Step 2: Set Up Your GPT Agent for Journalist Prospecting

The first GPT agent in your system handles prospect discovery – finding which journalists are most likely to cover your client’s story based on their recent published work.

Configure the Prospecting Agent in OpenAI Playground or a No-Code Agent Builder

You have two build options depending on your team’s technical level:

Option A – OpenAI Assistants API: Requires basic API knowledge. Gives you the most control over agent behavior and integrates directly with Clay via webhook.

Option B – No-code agent builders: Tools like Relevance AI, Lindy.ai, or Make.com let you configure GPT agent behavior through a visual interface without writing code. Slower to set up initially but manageable for non-technical teams.

For most agencies, Relevance AI or Make.com with GPT-4o is the fastest path to a working system.

Write the Prospecting Agent Prompt

The prospecting agent prompt is the most important piece of configuration in this system. A weak prompt produces generic journalist lists. A specific prompt produces lists that convert.

Use this prompt structure:

You are a media research specialist for a digital PR agency.

Client campaign topic: [TOPIC]
Target publication types: [national news / trade press / regional / lifestyle - pick one]
Geographic focus: [US / UK / global]
Campaign hook: [one sentence description of the story angle]

Your task:
1. Identify 20 journalists who have published articles on [TOPIC] in the last 90 days
2. For each journalist, note: full name, outlet, article title, publication date, and a one-sentence summary of their coverage angle
3. Prioritize journalists at outlets with Domain Rating above 50
4. Exclude journalists whose recent work shows they only cover [excluded angle]
5. Output results as a structured list in this format:
   - Name | Outlet | Recent Article Title | Date | Coverage Angle Summary

Do not include journalists you cannot verify with a specific recent article title and date.

The final instruction – requiring a verifiable article title and date – prevents the agent from hallucinating journalist names, which is the most common failure mode in AI prospecting workflows.

Connect the Agent to Live Search Data

A GPT agent running on training data alone cannot find journalists who published last week. You need to connect it to live search results.

Two options:

Perplexity API: Gives GPT agents access to real-time web search results. Connect via API call in Make.com or Relevance AI. Cost is approximately $0.005 per search query.

Exa.ai: A neural search API built specifically for finding web content by semantic meaning rather than keyword match. Exa returns cleaner results for journalism-specific queries than standard search APIs. Plans start at $25/month.

Connect either tool to your prospecting agent so it searches live content, not cached training data. This step is non-negotiable for campaign relevance.

Step 3: Enrich Journalist Contacts Using Clay

The prospecting agent outputs names and outlets. Clay turns those names into actionable contact records with verified emails, recent article history, LinkedIn profiles, and beat summaries – automatically.

Set Up Your Clay Table

Create a new Clay table with these input columns:

ColumnSource
Journalist NameGPT prospecting agent output
OutletGPT prospecting agent output
Recent Article TitleGPT prospecting agent output
Coverage AngleGPT prospecting agent output

Then add Clay’s enrichment columns using built-in integrations:

Email enrichment: Use Clay’s Hunter.io or Apollo integration to find and verify the journalist’s work email. Set Clay to run email verification automatically on every new row.

LinkedIn enrichment: Clay’s LinkedIn integration pulls the journalist’s current title, bio, and recent activity. This feeds the personalization layer in Step 4.

Recent articles enrichment: Connect Clay to the Exa.ai or Perplexity API to pull the journalist’s three most recent articles by outlet. This gives the GPT pitch agent fresh material for each personalized pitch.

Beat summary enrichment: Add a Clay column that runs a GPT-4o prompt on the journalist’s three recent articles and outputs a two-sentence beat summary. Prompt:

Based on these article titles and descriptions: [ARTICLES], write a two-sentence summary 
of what topics this journalist focuses on and the angle they typically take.
Output only the two-sentence summary. No preamble.

A fully enriched Clay row takes 45-90 seconds to populate and replaces 20-30 minutes of manual research per contact.

Step 4: Build the GPT Pitch Writing Agent

The pitch writing agent reads each enriched journalist record and the campaign brief, then writes a personalized first-draft pitch for human review.

The Pitch Agent Prompt Architecture

The pitch agent needs two inputs for every pitch it writes:

Input 1 – Journalist context: Name, outlet, beat summary, and most recent article title pulled from the Clay enriched record.

Input 2 – Campaign brief: The client’s story angle, key data point or hook, and the asset being offered (study, expert quote, exclusive data, or product launch).

Build the prompt as a template with variable placeholders that Clay fills automatically from each row:

You are a senior digital PR specialist writing journalist pitches for agency clients.

JOURNALIST CONTEXT:
- Name: [JOURNALIST_NAME]
- Outlet: [OUTLET]
- Beat: [BEAT_SUMMARY]
- Most recent article: [RECENT_ARTICLE_TITLE]

CAMPAIGN BRIEF:
- Client: [CLIENT_NAME]
- Story angle: [STORY_ANGLE]
- Key hook or data point: [KEY_HOOK]
- Asset offered: [ASSET TYPE - study / expert / exclusive data / product]
- Ideal placement: [TARGET_SECTION_OR_COLUMN]

Write a journalist pitch that:
1. Opens with a reference to [RECENT_ARTICLE_TITLE] in the first sentence - one specific observation, not a compliment
2. Connects the campaign story to the journalist's existing coverage in sentence two
3. States the specific story angle and key hook in sentences three and four
4. Ends with a clear, single ask in one sentence - no multiple options
5. Total length: 100-130 words maximum
6. Tone: Direct, collegial, no promotional language
7. Do NOT use the words: exclusive, innovative, groundbreaking, leverage, delve, or pivotal
8. Do NOT open with "I hope this email finds you well" or any variation

Output only the email body. No subject line. No preamble. No sign-off.

The instruction to reference the journalist’s most recent article by title – with a specific observation rather than a compliment – is what separates AI-generated pitches that read as personal from those that read as templated. Generic compliments (“Great piece on X!”) are immediately recognized as automated. A specific observation (“Your piece on X raised the supply chain angle that most coverage skips”) shows real reading.

Generate Subject Lines Separately

Subject lines follow different rules than pitch body copy. Run a second GPT call specifically for subject lines after the pitch body is approved.

Subject line prompt:

Write 3 subject line options for a journalist pitch with this angle: [STORY_ANGLE]

Rules:
- Under 8 words each
- No clickbait or question marks
- No words: exclusive, breaking, urgent, important
- Each option should use a different approach: 
  Option 1: Lead with the data point
  Option 2: Name the story angle directly  
  Option 3: Reference the journalist's beat topic

Output only the three subject lines, numbered. No explanation.

Give the human reviewer all three options. They select one before the pitch enters the outreach sequence. This keeps AI in the generation layer and human judgment in the selection layer.

Step 5: Build Human Review Into the Workflow

Fully automated pitch sending without human review is the fastest way to damage client relationships and sender reputation simultaneously.

Build a mandatory review gate between pitch generation and outreach sending.

The Review Gate Setup

When Clay finishes enriching a batch of journalist records and the GPT agent generates pitches, route the output to a review interface before any email sends.

Two practical options:

Option A – Airtable review board: Clay pushes completed pitch records to an Airtable base. Your PR team reviews each pitch in Airtable, edits where needed, and marks records as “Approved” or “Needs Revision.” A Zapier automation watches for “Approved” status and pushes the record to Instantly.

Option B – Clay + Slack notification: Clay sends a Slack message to your team channel for each completed pitch, with the pitch text and a one-click approve button. Approved pitches push directly to Instantly via webhook. Faster than Airtable for small teams.

Set a review standard: every pitch gets checked for three things before approval.

Check 1 – Accuracy: Does the article reference actually match the journalist’s real work? GPT occasionally pulls the wrong article or misattributes a publication. Verify the article title exists before approving.

Check 2 – Tone match: Does the pitch sound like a person wrote it, or does it read as a template? If it reads as a template, send it back to the GPT agent with a note: “Too generic – rewrite with a more specific observation about [ARTICLE].”

Check 3 – Story relevance: Does the pitch angle actually fit this journalist’s beat? Clay’s enrichment occasionally misreads a journalist’s focus. If the fit is weak, flag the contact for removal rather than sending a poorly matched pitch.

A two-person PR team can review 50-80 pitches per day in approximately 90 minutes using this workflow.

Step 6: Configure the Outreach Sequences in Instantly or Lemlist

Approved pitches push automatically from your review system into your outreach platform. Configure the sending sequences before your first campaign launches.

Sequence Structure for PR Pitches

PR outreach sequences are shorter than sales sequences. Journalists respond quickly or not at all – long follow-up chains damage your sender reputation with outlets you want to reach again.

Use a three-step sequence with these intervals:

Email 1 – Day 1: The approved pitch. Sent from a warmed-up domain registered to your agency or client.

Email 2 – Day 4: A single follow-up. Three sentences maximum. Reference the original pitch and add one new piece of context – a related data point, a news hook that emerged since Email 1, or a note that the story has been picked up elsewhere and you wanted to give them first look at the data.

Email 3 – Day 10: A closing email. One sentence: “Closing the loop on this – if the timing is ever right for [TOPIC], the data is available at [contact email].” No pressure, no guilt framing.

Stop after three emails. Any contact who does not respond after three emails moves to a “dormant” list for re-engagement in the next relevant campaign cycle – not this one.

Domain and Deliverability Setup

Sending PR pitches from your main agency domain risks that domain’s reputation if response rates are low. Use subdomain-based sending instead.

Standard setup:

  • Register a sending domain: outreach.youragency.com or press.clientname.com
  • Warm up the sending domain for 3-4 weeks before first campaign launch using Instantly’s built-in warm-up feature
  • Keep daily send volume under 50 emails per inbox during the first 30 days
  • Use one dedicated inbox per active campaign to maintain clean deliverability tracking

Instantly manages warm-up and deliverability monitoring automatically. Lemlist offers the same features with the addition of LinkedIn touchpoints in the sequence, which improves response rates for senior journalists and editors on B2B topics.

Step 7: Track, Report, and Feed Results Back Into the System

A PR outreach system that does not feed results back into its own prospecting logic gets less effective over time. One that does gets more effective with every campaign.

Campaign Tracking Setup

Track every campaign in a central Airtable base with these fields:

FieldWhat to Track
Campaign NameClient + story angle + launch date
Journalist NameFull name and outlet
DR of OutletDomain rating at time of pitch
Pitch Sent DateDate Email 1 sent
Response TypeNo response / Positive / Negative / Coverage
Coverage URLLink to published article if placed
Backlink DRDomain rating of the linking page
Days to ResponseDays between Email 1 and first reply

After 30 days of campaign data, analyze three metrics:

Response rate by outlet tier: Which DR ranges respond most often to your pitches? Most agencies find DR 40-70 outlets respond at 2-3x the rate of DR 80+ outlets. Adjust prospecting priorities accordingly.

Response rate by pitch type: Which story angles – data studies, expert commentary, product news, trend analysis – produce the highest response rates in your niche? Double down on what works.

Follow-up conversion rate: What percentage of your placements came from Email 2 or Email 3 rather than Email 1? If more than 40% of placements come from follow-ups, your initial pitch needs work. If under 10% come from follow-ups, your follow-up adds no value and the sequence can shorten to two emails.

Feed these findings back into the GPT agent prompts as additional instructions. A prompt that says “Story angles about original research data convert 40% better than expert commentary for this client’s niche – prioritize data-led angles” outperforms a generic pitch agent within two campaign cycles.

Common Problems and How to Fix Them

ProblemLikely CauseSolution
GPT agent hallucinating journalist namesAgent not connected to live search dataConnect Exa.ai or Perplexity API; add the instruction requiring verifiable article title and date
Low open rates despite warmed-up domainSubject lines too generic or pitches landing in promotions tabRun the subject line generator prompt with stricter rules; check email headers for spam triggers in Instantly’s deliverability report
Clay enrichment returning wrong emailsJournalist uses a personal domain not tied to their outletSwitch enrichment to Apollo.io, which has stronger journalist-specific email coverage than Hunter for editorial contacts
GPT pitches reading as obviously templatedPitch prompt not specific enough about the personalization requirementAdd the journalist’s beat summary and a specific article observation as required elements – not optional additions
Approved pitches not pushing to InstantlyZapier or Make.com automation broken at the approval triggerCheck the automation log in Make.com; rebuild the Airtable status-change trigger if the workflow has not fired in 24 hours
High bounce rate on journalist emailsEmail list not verified before sendingRun all Clay-sourced emails through NeverBounce or ZeroBounce before loading into Instantly

Frequently Asked Questions About AI PR Outreach Systems

What is a GPT agent in the context of PR outreach?

A GPT agent is a configured instance of a GPT model – typically GPT-4o via the OpenAI API – given a specific role, set of instructions, and access to external data sources. In a PR outreach system, agents handle defined tasks like journalist research, pitch drafting, and follow-up personalization without requiring manual input for each action. The agent follows a prompt, pulls data from connected tools, and outputs a result that a human then reviews.

How much does it cost to build this system for an agency?

A full agency setup running GPT-4o API, Clay, Hunter.io, and Instantly costs between $200-$400 per month depending on campaign volume and the number of active client accounts. Clay is the largest line item at $149/month for the Explorer plan. OpenAI API costs scale with usage – a campaign generating 300 pitches per month typically costs $15-$30 in API calls at GPT-4o rates. This compares to $3,000-$10,000 per month for a traditional PR agency running the same outreach manually.

Can the GPT agent send pitches without human review?

Technically yes, but this approach consistently damages results. Journalists who receive clearly automated, unreviewed pitches blocklist sending domains quickly – and a blocklisted domain affects every future campaign sent from that address. Human review takes 90 minutes per day for a batch of 50-80 pitches and catches the accuracy errors, tone mismatches, and relevance failures that GPT agents produce on approximately 10-15% of outputs.

Which is better for PR outreach automation – Instantly or Lemlist?

Instantly handles higher send volumes with better deliverability monitoring and a cleaner warm-up system – it is the stronger choice for agencies running 200+ pitches per week. Lemlist adds LinkedIn touchpoints to sequences, which meaningfully improves response rates for B2B topics and senior editorial contacts. For consumer PR campaigns targeting lifestyle and news journalists, Instantly is sufficient. For B2B tech or finance PR where the contact is an editor or industry analyst, Lemlist’s LinkedIn step adds measurable value.

How do I prevent GPT from writing pitches that sound AI-generated?

Three prompt instructions eliminate most AI-sounding language: require a specific observation about a named article in the opening sentence, set a hard word limit of 100-130 words, and explicitly ban common AI vocabulary – “exclusive,” “innovative,” “groundbreaking,” “leverage,” “delve,” and “pivotal” – in the prompt itself. After generation, run each batch through a human reviewer who checks for templated phrasing before approving. The combination of constrained prompting and human review produces pitches that read as written rather than generated in the vast majority of cases.

How long does it take to build this system from scratch?

A working version of this system – GPT agent connected to live search, Clay enrichment table, pitch generation prompt, and Instantly sequence – takes one experienced operator approximately 3-5 days to build and test. The first campaign should run on a small batch of 20-30 contacts to validate each node before scaling to full campaign volume. Most agencies reach full operational capacity within 2-3 weeks of starting the build.

Summary

  • Map the five system nodes before choosing tools: trigger, prospect discovery, contact enrichment, pitch generation, and outreach sequence
  • Connect your GPT prospecting agent to live search data via Exa.ai or Perplexity API – training data alone cannot find journalists who published last week
  • Use Clay to enrich every journalist contact with verified email, recent articles, and a GPT-generated beat summary before the pitch agent runs
  • Build the pitch agent prompt to require a specific article observation in the opening line – this single instruction separates pitches that read as personal from those that read as automated
  • Route every GPT-generated pitch through a human review gate before sending – the accuracy error rate on 10-15% of outputs makes unreviewed sending a reputational risk
  • Run a three-email sequence over 10 days maximum; stop after three and move non-responders to a future campaign list
  • Feed campaign response data back into GPT agent prompts after every 30-day cycle to improve prospecting and pitch quality over time