Link building is a time suck, you have to fund prospects, let them find their emails, verify them and send outreach emails plus some follow ups, but half of these steps can be semi automated using ZAPU. So if you want to learn how to automate these three steps of the link building process, then stay tuned. If you haven’t heard of ZAPORA, it’s a tool that lets you connect Web apps together, using if then statements when you create a combination of Web apps. They’re called Zepps. For example, this app says if you get a new customer through Stripe, then add them to an onboarding sequence in active campaign. Or if you have a particular zappia, you can create multistep automation’s. So let’s add on to our previous example, which now says if you get a new customer through Stripe, then add them to an onboarding sequence, an active campaign, and send them an SMS through Twilio. Saphir has over two thousand apps you can mix and match. So there’s virtually an infinite number of automation’s you can create. But hey, this tutorial is about automating link building. So to prepare our link building automation, we need to do some of the manual work first, like getting a list of prospect’s vetting them and finding the first and last names of authors or editors. To do this, I exported backlands reports from Chipset Explorer and had someone vet the list of prospects. Now the only thing manual left to do is to find the first and last names of the people we should be contacting. Now, two quick side notes. Number one, I’ve already had someone find these people and I’ve recorded their names in a note. And the reason why I’m not entering them in here yet is because the automation requires a trigger in order to start. So we’ll talk about this in a second. And the second side note is that you need at least one roll of sample data in order to actually build and test the automation. So for that reason, I’ve mentioned the first and last name of the person in the last row of the sheet. And in this case, I use my own information to protect the privacy of others.
Let’s start building our set. All right. So the first thing we need to do is set our trigger. Basically, Zappia needs to know when it should run the automation. So the first step in any automation will be to choose an app and then a trigger event. So I’ve chosen Google Sheets as my app and based on the selections from the dropdown, I want my automation to start when there’s a new or updated spreadsheet RO. Next, I gave Zapp your access to my Google Drive, and this is something you’ll need to do with any third party app you want to integrate in the next part. I chose my spreadsheet, selected the worksheet, and I also set a trigger called the trigger column is basically a more specific condition that needs to be met in order for the automation to run. So this is what I was referring to in my side note. And as you can see, I’ve set this up to run after the last name field is updated in the sheet. So I’ll go to find data and expand my data sample to make sure everything looks good and I’m going to select that row for the rest of our testing. All right. So the next step is to set our first action. And looking back to our initial five step list of building steps, the first action we need to do is find the emails. So as you can see here, I’ve searched the app to Hunter and the action event to find emails. Now for the custom settings, you’ll need to map the domain first name and last name fields with the columns in your sheet. Otherwise the app won’t work using the find emails action since these are all required fields. Now let’s pause for a second and go over a couple email fighting scenarios you may run into. Scenario one is if you can’t find the first and last name in this case, the ZAP won’t be triggered because we set our event to only happen if the last name column is updated. So in this case, you’ll have to find the email manually. Scenario two is if you have the first name but can’t find the last thing. This is the same deal, scenario one. But since a lot of people and companies use emails like first name at domain dot com, you can try entering the letter A. in the last name field to run the row through your automation. Worst case scenario, you get an invalid email that won’t even be sent and the best case scenario is you find their email. All right. The next step is to update your spreadsheet with the found email. But before we can do that, we need to set up a separate step to find the correct spreadsheet wrote to update. Otherwise, Zapater might update the wrong rows and we don’t want that. So here I’ve chosen Google Sheets as my app and look up spreadsheet row as the event action for the custom options. I’ve selected a spreadsheet and worksheet as usual, but you also have to set a lookup column and a look up value for the lookup column. Select the referring page since there shouldn’t be any duplicates there. And for the look of value, just click the dropdown and find the corresponding referring page value. Now we’ll click on The Sun to test and click test and review to make sure everything looks good. OK, so now we need to actually update the email into our spreadsheet. So I set up a new step and I’ve chosen Google Sheets as my app. And now that we’re creating an action instead of a trigger, we have the option to update a spreadsheet roll. So for our custom settings, I’ve selected my spreadsheet and worksheet as required, and for the row you actually have to choose a custom value. So just click on the dropdown, then choose the custom tab and then select the row from the third step. By doing this, Zapatero will dynamically choose the row it’s working on for future tasks. And all we need to do now is go to the email field, since that’s what we’re updating. Click the dropdown, click on the Hunter dropdown and choose the found email address.
Now, when we go to the last step and click testin review, you’ll see that the data is correct. And if we look at our spreadsheet, it should have been automatically updated with the email address that Hunter found. All right, the next step in our list is to validate the email, meaning is the email hunter found deliverable. Now, in order to verify an email, you need an email address to validate. The thing is, Hunter won’t always find an email, so we need to add a filter set before connecting our email validation that if you’re not familiar with zap your filters, they’re just conditional operators. So by setting one, we’re telling the automation only continue if a specific condition is met. So I’ve chosen Filter by Zapater as my app and then I set a condition that says only continue if the email from Hunter contains the simple reason being all email addresses have an X symbol. And if Hunter didn’t find an email, then the automation should stop and run again on the next roll of data. So I’ll click, continue and zap your confirms that the Zap would have continued because Hunter found an email now that our filter is good to go. I’ll choose my email validator app, which is never sounds, and I’ve selected the action to verify email address and customizing. This is really easy. Just click the dropdown, choose Hunter and then select the email field. So we’ll test and continue on with our animation to make sure that data is being pulled in correctly and in this case, the email is valid. Now, the next step in our automation is to update our spreadsheet with a never bound status. So in this step, I’ve chosen Google Sheather Thiab and set the action to update spreadsheet wrote. And since we had previously set up a Look-Up step to find the road, we need to update, click on the road textbooks, then the custom tab and choose the correct road number from step three again. Finally, I’ve matha never bounced text Resul code to the verify column in my Google sheet and you can quickly find that by just clicking on the text box and searching for text result code. Finally, I’ll hit the testing review button and then look back to my spreadsheet to make sure the correct row was updated and everything looks good here. Now, if you haven’t worked with never bounce, they generally send back one of four status codes valid, all invalid and unknown. From my experience, valid emails are deliverable around 98 percent of the time. Catch all emails are around 80 to eighty five percent. Correct. And then invalid in unknown emails are almost always undeliverable. So to make sure we’re not sending emails to invalid addresses, the next step is to set a filter. So I chose Philosophize as my app and for the conditions I’ve set out to say only continue if never bouncer’s text result code is valid or if the text result code is Hatchell. Otherwise stop the automation and if I click continue, you’ll see that this particular task would have continued because the email was valid. All right. The next step is to actually send these emails and follow ups in the tool that I used to do this is milkshake. Milkshake is an email outreach tool that lets you send personalized emails and automated follow ups. Now, I won’t bother going through setting up milkshake, since that’s outside of the scope of this tutorial. So within Saphir, I’ve added another do this action and chose Milkshake as my app and for the action event. I sent it to add a recipient by email address, which will add the prospect to one of my campaigns that I’ve already set up in Milkshake. Now we need to customize the settings for mailshot first. I chose my milkshake campaign, which is called Sample Campaign for email. I click the dropdown and chose the one found directly from hunters and then I chose the first and last name from my Google sheet. The last thing I added here is a text replacement more commonly referred to as a merge field. These are just snippets of code you can add to your email template, which will dynamically replace them for each contact in the primary purpose is for personalization. So as an example, I’m feeding the referring page from my Google sheet into al-Sheik. To complete this step, I’ll go to senator and click on Test and continue.
Now, if I head on over to my milkshake account, you’ll see that one contact was added and if I go to the email preview, you can see that the context referring page Eurail was inserted into the email since that’s how I set up my sample template. OK, the final step is to update your Google sheet with some data from al-Sheik, and this is more for tracking purposes. Again, I chose Google Sheets as my app and update spreadsheet roll as my action event. I chose my spreadsheet and worksheet. Then I chose the dynamically selected row that we found in step three. And finally I set the step to update the status ID column with milkshakes, check status ID response, which confirms that Milkshake has received the request. If I run the test and continue, then you’ll see that the final column in the sheet gets updated. So the entire automation is set up and all we need to do now is turn on this app and then start entering in first names and last names into our sheet. And as Zap runs, it should slowly but surely fill in the blank spaces for you when the last name column is updated, since that’s our trigger and now you have yourself a semi automated outreach and link building system. Now, keep in mind that this is a system. It’s meant to work for you over time. And with the time you save, you can spend it on personalizing your emails and improving conversions. Now, I’d love to know if this is something you’re going to try when doing outreach for links. Let me know in the comments.