Growth Hacks
Automate your PR outreach with ChatGPT and HARO
Marc Crouch
Calculating read time...

Help A Reporter Out (HARO) is a popular platform that connects journalists with potential sources for their stories. Anybody can sign up as a source and receive daily requests from journalists seeking people to speak to on various topics. As a business this is an excellent opportunity to gain valuable PR exposure and backlinks for SEO.

HARO sends out three emails per day with a number of enquiries on each email, and subscribers will need to respond in as timely a manner as possible to have a chance of being noticed. As such, it can be a very timely and time-sensitive process that is difficult to keep up on a sustained basis if you are a small business or startup. Furthermore, many of the queries will be irrelevant and there is no way to filter out irrelevant ones, further adding to the pressure.

However, using a combination of ChatGPT and automation tools, this process can be automated down to just a scan-and-approve process which will save hours of time. Here’s how to do it.


Here’s the overall idea of what we’re going to build:

  1. First we will need a HARO account, which takes a couple of minutes following this link: Help A Reporter | Subscriptions | Help A Reporter (you can use the free account for this tactic). You will also need to wait for the first email to arrive before you can set this automation up, but it shouldn’t take more than half a day.
  2. We need to scan all incoming HARO emails as they arrive and parse their contents to extract the queries into some form of table or data structure.
  3. We need to send each of these queries to GPT-3 using the OpenAI API and have it draft a response for us. This will require an API integration as well as a good prompt.
  4. We need to set up each of these responses as draft emails in our email tool so that we can scan, tweak and send the messages that are actually relevant.
  5. Finally, we need a process to alert us when there are new draft emails to look at, so we can jump on it quickly.

Step 1: scanning the HARO emails

For this we will be using Parsio, an email parsing tool that has lots of great features but, crucially for our purposes, has a ready-made HARO email parser that is basically plug and play. Here are the instructions:

  • Create a new account and sign in to your Parsio dashboard
  • Create a new mailbox and select Template-based parser as the parser type
  • From the templates page, choose HARO queries:
Creating a mailbox with the HARO queries template within Parsio
  • Click Next and then give your mailbox a name. Any name will do.
  • Once complete, you will be presented with a unique email address to forward your email to. Copy this address and then go to your email software and forward one of the HARO emails to this email address.
  • It will pick up the email and parse it, eventually showing you a screen like this:
An example of an email from HARO after being parsed by Parsio

This part is now complete, but leave this screen open as you will need it for the next step.

Step 2: creating the first part of the workflow in Make

In order to connect to ChatGPT and have it create emails, we will need to create an automation flow. For this tutorial we will use as it is an accessible yet very powerful automation tool.

  • Create a new account on (again the free tier will do), then click Scenarios and create a new scenario.
  • Click the big plus icon in the middle of the screen and search for Parsio:
Creating a new scenario in, starting with the Parsio module
  • Choose the Parsio module and then select Watch Doc Parsed (Nested Tables).
  • You will now be asked to set a Webhook, so click Add, and then on the next popup click Add again under Connections to create a connection to your Parsio account, then select your mailbox from the previous step:
Creating a webook in a scenario Parsio module
  • Next, click to add another module and search for Flow Control:
Searching for the Flow Control module in a workflow
  • Then choose Iterator.
  • Click on the Array field and select the HARO property:
Setting parameters for a Flow Control Iterator module in workflows

The iterator will take each HARO query and split it into individual ones that can be individually fed into the next step.

  • Test the workflow by clicking Run Once and then tabbing back into your Parsio page to re-process the email you previously forwarded.

If everything looks good, you are ready to finish the workflow with the last two steps.

Step 3: set up GPT-3 and finish the workflow

The next step is to set up GPT-3 (ChatGPT’s API) with a prompt and drop that into the workflow. To begin with, you will need an OpenAI API account, which you can get by signing up here: Once you have that, proceed to the next step.

  • In your workflow, add another module and search for OpenAI.
  • Follow the instructions in the module setup popups to add your API Key and Organization ID.
  • Under Select Method, choose Create a Prompt Completion
  • Under Model, choose text-davinci-003 (or whatever the latest one is)
  • Next you’ll need to enter your prompt. This is where you will need to exercise some trial and error, for which you should use the OpenAI Playground to test prompts. Prompt engineering is too broad a subject for this tutorial, so here’s an example of a prompt to start with:
Your name is [YOUR NAME] and you work for a [TYPE OF COMPANY] called [COMPANY NAME]. Write a short and concise response to the following HARO (Help A Reporter Out) query, answering on behalf of your own company. Be sure you to use the first person instead of "we". The tone of the email should be relaxed, somewhat informal yet professional.

Subject: {{2.Summary}}

Query: {{2.Query}}

Requirements: {{2.Requirements}}

Email body:

FAO {{2.Name}}

Replace the parts in between the brackets with your real info and then paste this entire prompt into the Prompt field of the OpenAI module, like so:

Adding a GPT3 prompt to an OpenAI module inside a workflow, using data from a Flow Control Iterator module

As you can see, the outputs from the Flow Control module are added in as dynamic fragments.

  • Open the advanced settings and set Max Tokens to 300 and Temperature to 0. Your GPT-3 integration should now be ready to go.
  • The final step is to set up your email module. For this, add a new module and choose your email provider. In this example I have used Microsoft 365. Choose Create a Draft Message from the actions presented. Of course you could, instead, choose Send a Draft Message but I would strongly recommend against this as you will end up spamming reporters with irrelevant emails.
  • Set up your email using the following settings:
FAO: {{2.Name}}


Original query:


This should look like this in the setup screen. Make sure to select Text as the Body Content Type as well, otherwise the formatting will be terrible:

Setting up a Microsoft 365 email module in

Once done, your completed workflow should look like this:

An example of a complete workflow in

As a final step, click Run once again, and again go back to your Parsio tab to re-process your test email. Watch the workflow run through and, if no errors, switch the workflow on.

Step 4: check your email drafts

Assuming the workflow ran successfully, you should now have a bunch of draft emails in your email software:

An email drafts folder showing draft email replies to HARO reporter enquiries

You can now go through each one, modify as needed and send the ones that look good and relevant. The rest you can simply discard.

Finally - and very importantly - set up a forwarding rule in your email that forwards all HARO emails to your Parsio email inbox.

Final improvements

You may want to be notified whenever the workflow has run. There are a number of ways you could do that, such as:

  • Setting a notification email from to notify you each time the workflow has been run.
  • Adding another step to the workflow that emails you or sends a notification to Slack or other tool
  • Setting daily reminders to check your drafts three times a day

You may also want to improve the prompt to get better results, in which case experiment in the OpenAI Playground until you get results that you’re happy with.

However you use this, use it with caution. Give it a little time and watch the PR opportunities start to roll in!