Automating Myself Out of the Job - Quick Automation Wins

Jul 24, 2017 | 16 minute read

This post originally appeared on Netguru blog.

In every business setting, there are several dreaded, time-consuming and repetitive activities which we must carry out to keep the wheels spinning. Somebody has to do them regardless of the very low fun factor. We are a software company, though – we simplify and automate complicated things for a living, so why not do it for the boring part of our jobs, too?

Every day I try to automate myself out of my job. While a full success is still very far away, my current accomplishments let me take on more interesting tasks and leave the repetitive chores for computers. Let me present a few of them to you and explain how to implement similar solutions in your business.

Case 1: Intercom integration with Hubspot and Salesforce

Problem

Talking with people is a key part of our business. On our website, we use Intercom to allow our potential clients and employees reach out to us faster. If a conversation is meaningful, we convert it to a lead and pass it on to our other teams.

SQL stands for a Sales Qualified Lead, which basically means it’s time for our Business Development team to take over and discuss the details. Customer data is then transferred to Hubspot and Salesforce, where different workflows and processes help us keep everything neat and tidy, automatically assigning contacts to pipelines and sales reps.

Filling forms with customer data manually took us at least ten minutes and was very prone to errors such as missing information about a contact’s lifecycle stages, which could lead, for example, to an unwanted drip campaign sent out, confusion and lost credibility.

We sometimes even lost leads, which was really bad. I felt the need to automate the process.

Solution

Zapier is my go-to solution for every integration. It’s fast and easy-to-use and allows advanced interactions thanks to a REST API and a Python interpreter. Essentially, you have your own server with hundreds of premade integrations that you can hook up to a custom code. A great thing about Zapier is that it does not sit buried somewhere deep down the developer’s servers, where nobody knows that it exists or how it work. You can find and examine every integration using a nice and clean web interface. No wonder they went from zero to 600,000 users in three years.

It took seven actions in Zapier to automate the process:

  • Listen to POST from Intercom with a new internal note: using Webhooks by Zapier

Each time an internal note is created, Intercom sends a POST webhook to Zapier with the internal note’s content and the SQL’s contact details such as the email address.

  • Filter out notes not containing SQL: using Filters by Zapier

Zapier filter

Only continue if internal note content is “SQL”

  • Create or update contact in Hubspot

We check whether a contact exists in our database. If it doesn’t exist, we create it.

  • Enroll contact in workflow in Hubspot

This step assigns an SQL status to a contact and sets it up for syncing with Salesforce with the analytics data that lets us attribute contacts to sources and marketing activities.

Outcome

Simple and clean. Now, if somebody is interested in our services, and we want to let the Business Development team know about it, we can do it right away by typing “SQL” in Intercom’s chat window.

Intercom automation

“Scheduled to add” is an automated response from Zapier

Works like a charm. No more lost leads, misplaced key data, or wasting time on manual chores.

Case 2: Proofreading automation

Problem

I was approached by our Content Manager with a task to improve the proofreading process, which was time-consuming and tedious.

The process was a complete mess. Random people pinged our Content Manager on Slack using private channels – they would send text snippets and ask for help with their writing. Our external proofreaders were constantly sent materials that they were unable to access. No deadlines were met because there was no transparency and no knowledge about the number, the length and the difficulty of the materials that were being proofread at any given moment.

And being a Polish company that works with clients across the globe, we proof a lot!

Solution

A quick look at what was going on made me realise that we didn’t actually need a human to oversee the proofreading jobs, as the process consists mainly of moving documents back and forth and asking for more details.

Proofreading diagram #1

Everything that the Content Manager had to do could be automatically carried out by a bot with a little help of the employee requesting the proofreading.

The proofreading bot consists of two Zaps, three steps each.

Zap #1: receive jobs and send them to proofreaders

  • Receive Typeform submissions

I created a Typeform that collected all the necessary details from the employee requesting the proofreading. This step cut all the back-and-forth between the Content Manager and the employee, because it won’t let you post a request unless you fill in ALL the necessary information.

  • Calculate deadline: using Formatter by Zapier

From the simple “How many days can you wait for the text to be proofread?” to a precise date and time. The Typeform input, for example “3 days”, is added to the current time and formatted into a Datetime variable to be further processed by Trello.

  • Create new card in Trello

A new card is created on a dedicated Trello board, where our proofreaders can pick up new jobs.

Zap #2: receive proofread text and send back to requester

  • Trello card moved to list

After a proofreading job is complete, the proofreader moves the previously created Trello card to the “DONE” list, which triggers two new actions.

  • Get requester’s Slack username

The requester’s Slack handle (requested and saved by Typeform at the very beginning) is extracted from the card and passed on to the next step.

  • Send Slack channel message

A message is sent to the requester that the job has been completed.

Outcome

Here is what it looks like:

Proofreading diagram #2

I even managed to include simple analytics. Every month, the script will generate a spreadsheet with all the jobs our proofreaders have completed. This gives us info about how many proofreading jobs each department requests, what the average deadline is and how much work each proofreader does.

The whole process is fully automated. Each employee in Netguru can now request proofreading and get results in a transparent, seamless, and convenient way. No more back-and-forth email drama!

Case 3: Slack integration with Salesforce (and Hubspot)

Problem: Instant reaction to incoming leads took a lot of effort

Some of our incoming leads are automated with workflows, but in our business, it is crucial to see the best leads in real-time and approach them swiftly – we usually have a low number of leads, but often super high-intent. A human decision on whether to pursue them (or not) is key.

Almost entire communication in Netguru takes place on Slack, and we don’t like to leave our Slack windows to do different things in other tools. We talk a lot about our leads within our teams, but we are too lazy to leave Slack to check a lead’s details in HubSpot. I wanted to develop a solution that would keep the process related to qualifying leads entirely on Slack.

Solution

Our Slack channels deliver multiple notifications about what is currently going on with the leads. We know that somebody’s just submitted a contact form or a request to learn more about a project, or downloaded an infopack or an ebook. There are situations where the Business Development team wants to reach out to that person, and they want to do it fast. The process of manual adding new contacts to Salesforce took a lot of effort, but this simple command needs only five seconds:

Slack command

There are six steps in Zapier between the two messages above:

  • New message posted to channel

I can’t filter messages directly from Slack, that’s why Zap reads all of them and looks for a predefined command with the two following steps.

  • Only continue if: Filter by Zapier

    • input starts with mailto:
    • AND input ends with to sf

If this filter passes – received message is our command

  • Extract e-mail address: Formatter by Zapier

From this: mailto:[email protected]|[email protected] to sf

To this: [email protected]

  • Enrol contact in Hubspot workflow

This step assigns an SQL status to a contact and sets it up for syncing with Salesforce with the analytics data that lets us attribute contacts to sources and marketing activities.

Now, the BD team can use their processes and tools to reach out to our contact.

Wrapping up

That’s all! I am not a professional coder, so the solutions above might not be perfect (and sometimes they even malfunction!), but for non-critical operations, it’s more than enough. I love it that I don’t have to bug developers to implement this kind of quick hacks – they save us a lot of time with a very small resource commitment.


Marketing Automation Hubspot Zapier Salesforce Netguru