Have you ever wanted to get your company featured in TIME Magazine, Reuters or Mashable? It could happen through Help a Reporter Out (HARO) and get this media coverage for free by answering HARO requests.
But why spend time going through every HARO query when it can be done automatically with machine learning? This is why we decided to use MonkeyLearn, Slack and Zapier to automate the manual screening of HARO requests.
On this post, we’ll be creating a zap that is able to get HARO queries, send them to MonkeyLearn to be analyzed and notify us via Slack with those relevant queries to our interest and expertise.
Let’s get started!
Help A Reporter Out is a free PR tool that connects journalists with expert sources. It enables startups and entrepreneurs to connect with press they may not normally have access to by providing tips, stories and expertise.
Journalists, writers and bloggers use HARO for quickly finding expert sources and get the information they need for writing their stories and articles. HARO distributes around 150 requests per day from journalists from top media outlets like Reuters, New York Times, Wall Street Journal, CNN, TIME Magazine, Mashable and many more.
So in short, by using HARO companies get exposure and journalists get content, a win-win for everyone.
Using HARO as a source is pretty straightforward, just sign up for free and indicate your areas of expertise. You’ll receive emails from the service three times a day with journalists requests in your chosen categories.
Each query or request contains the topic, journalist name, category, media outlet and deadline:
If a query is relevant to you and your expertise, just answer the request by sending an email to the published email address (something like email@example.com).
When answering to a query, try to be helpful with the reporter and only answer with relevant insights.
When you sign up to HARO, you can select within your preferences the different industries you are interested in receiving queries:
The thing is that it's just too broad. I subscribed to receive High Tech queries only but found out that 99% of the requests from HARO were irrelevant to my expertise. I was interested in queries related to machine learning and natural language processing, not queries about bitcoin, drones, robotics, smartphones, dev-ops, cyber-security, surveillance systems or autonomous vehicles.
After a few days of checking my email and not finding relevant requests, I simply stopped checking the HARO emails. I didn’t had the time to go through these emails 3 times a day and it felt I was looking for a needle in a haystack.
Help a reporter out sends their emails 3 times per day: 5:35 am, 12:35 pm,and 5:35 pm (EST) to more than 800,000 expert sources. Once a query is distributed, the HARO reporters are flooded with emails from experts interested in contributing to the story. Answering quickly to a request is key for getting the attention from the journalists and getting published.
I did some research and found many success stories of companies being featured in quality publications from all over the world by using HARO. So I knew there was value in using the service. But I didn’t have the time nor the desire to manually go over the HARO requests every day and quickly answer them on time.
So, I come up with the idea of using machine learning to do the hard work for me. By using machine learning, I can automatically analyze queries from journalists and take action only on those that are relevant to my expertise.
As I first step for creating this notification system, I trained a text classifier with MonkeyLearn. This classifier will be used to analyze and classify HARO queries into 2 tags:
You can’t train a machine learning model without training data, so I looked within my inbox for HARO emails and searched for 10 examples for each tag. I saved these examples on a CSV file, uploaded it to MonkeyLearn and trained the model:
This machine learning model is far from perfect but it's a good first step and will enable us to move forward. Later on this post we will cover how we can improve it and make it smarter with more data.
Now that we have the ability to analyze HARO requests automatically with our machine learning model, we are ready to move forward and automate the manual screening of HARO requests by using Zapier.
In short, Zapier enables anyone - marketing, support, legal, HR, operations, product - to connect the web apps they use to run their business, without writing code.
Each automation (called a Zap) has one app as the Trigger, where your information comes from and which causes one or more Actions in other apps, where your data gets sent automatically.
So, we’ll create a zap that connects every piece of the puzzle to automate the screening of HARO requests:
1. Trigger: get HARO requests from an RSS feed.
2. Action: uses MonkeyLearn to classify HARO queries into AI & Machine Learning and Not Relevant.
3. Filter: only continue if a HARO query is classified as AI & Machine Learning.
4. Action: send a private message via Slack notifying about the AI & Machine Learning HARO query.
For creating the zap, you can use this Zapier template:
If you are interested in creating the zap by yourself, you can follow these steps.
So, we need to select RSS as the Trigger app for our zap and add https://substantial-vinyl.glitch.me/atom/all/ as the Feed URL in the RSS setup:
As a second step, we need to set up MonkeyLearn to analyze items of the RSS feed using the classifier we previously trained. The first 3 sub-steps are quite straightforward:
1. Choose MonkeyLearn as an action app,
2. Choose Classify Text as the action to perform,
3. Connect/select your MonkeyLearn account.
Now it's time to setup the MonkeyLearn template and test this step:
4. Setup the template by providing the following information:
4.1. Classifier: we need to tell Zapier the name or ID of the classifier that you want to use. Here we will select our HARO classifier.
4.2. Text: we need to indicate Zapier what is the text we want to analyze with MonkeyLearn. We’ll select the Description field from the News Item in Feed. The description field has the query from the HARO request and it's what we’ll analyze to determine if it's a relevant query or not.
4.3. Use Sandbox: we’ll select yes.
5. Finally we need to test this step. Zapier will take a HARO Query from the RSS feed and analyze its description using MonkeyLearn.
Zapier enables you to create filters that let you choose if and when your zaps continue running to next steps. Think of them as extra steps that act as traffic cops for your data.
So, as a third step we’ll tell our zap to only continue if the result of the MonkeyLearn analysis is AI & Machine Learning:
Basically, what we are doing here is telling our zap to only continue if the analysis made by MonkeyLearn (Level1 Label) returns the tag we are interested in (AI & Machine Learning). The zap will stop immediately if this requirement isn’t met.
The final step of our zap consists in creating the notifications system that will alert us about relevant HARO queries. We’ll use Slack to send us a message whenever the AI & Machine Learning filter condition is met:
Let’s add a new step.
Select Slack as the app.
Choose Send Direct Message as the Slack action to perform on this step.
Set up the Slack Message:
4.1. Username: specify your Slack username so you can receive these messages from the Slack bot.
4.2. Message Text: specify the text of the Slack message. Here we’ll add the following data from the New item in Field step:
4.3. Leave the rest of the fields with the default value.
Finally we need to test this step. If the test is successful, Zapier will send us a private message with a HARO Query.
That’s it! Our zap is ready, we just need to turn it on so we can start receiving notifications via Slack of relevant HARO requests:
Although our HARO classifier is a good first version for getting us started, there is still plenty room for improvement. Machine learning is all about the quantity (and quality) of training samples, so the more data we give to our algorithm, the smarter it will be. We only used 20 samples for training our classifier; we can get more accurate predictions if we add more training data and retrain our model.
Now that we have our Zap up and running, MonkeyLearn will automatically analyze HARO requests as soon as they are published. For improving our classifier we can use Inbox Samples, a feature within MonkeyLearn that saves the data analyzed by your models, so you can easily add them as new training samples and improve them over time.
We suggest going through these Inbox Samples from time to time and add them as new training samples to your HARO classifier, so you can get more accurate predictions using new data.
We wanted to test the effectiveness of using this notification system, so we reached out to 2 HARO requests that our zap alerted us via Slack. To our surprise, not only both writers responded but also published our thoughts and comments on their articles.
The first writer published a post on Capterra blog about how SMEs can benefit from machine learning and artificial intelligence. The second is a publication on Flarrio where experts discuss the current and near future state of Deep Learning.
Two out of two, not bad!
This is a clear example of how non-technical users can use machine learning to automate a manual workflow. Why spend time screening HARO requests if machine learning can do the heavy lifting for you?
You can do so much more with MonkeyLearn by connecting it to other apps you use like Asana, Delighted or Intercom to automate the tedious tasks in your workflow and save time.
Have any questions or feedback about our integration with Zapier? Please let us know in the comments!
September 6th, 2017