Automating Myself Out of the Job - Quick Automation Wins
Jul 24, 2017 | 16 minute read
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.
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.
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:
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.
Only continue if internal note content is “SQL”
We check whether a contact exists in our database. If it doesn’t exist, we create it.
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.
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.
“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.
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!
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.
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
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.
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.
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
After a proofreading job is complete, the proofreader moves the previously created Trello card to the “DONE” list, which triggers two new actions.
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.
A message is sent to the requester that the job has been completed.
Here is what it looks like:
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!
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.
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:
There are six steps in Zapier between the two messages above:
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
mailto:
to sf
If this filter passes – received message is our command
From this: mailto:[email protected]|[email protected] to sf
To this: [email protected]
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.
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.