The Birth of a Robotic Process Automation Startup: Officebots.io's Genesis
Many people wonder how businesses grow from a lightbulb idea in the head of the founder to reality. I, for sure, have read countless founder’s stories and biographies.
Startups usually follow a common trajectory – they are created to improve (even “disrupt”) how things are done, or solve a business issue.
The story of OfficeBots.io and its RPA (Robotic Process Automation) essence is like many other startup stories (though its outcome is still to be written). As I am embarking on this new startup journey, I get asked a lot how or why I am doing it. So I’ve decided to share my story here, so that you better grasp why task automation inspired such a passion in me.
The Origin
When you have a passion for something, the creative process to finding a solution is a breeze.
I like:
- Computers and technology, and how it enables businesses to operate better
- Defining and setting up processes that scale
- Solving problems
As it turns out, I’m just a regular person (albeit perhaps weirder than most!) with a knack for technology and a curious, entrepreneurial mind that loves building businesses.
I like thinking about how to add or create value for customers and reverse-engineer in a way that can build such products or services. I also like pondering about how to build processes that can become repeatable and scalable.
My Journey from a Startup Executive to a Self-taught CTO
I have always being a geek, tinkering with computers and software. And while I taught myself HTML in the late 90s, the next two decades have been focused on the business side.
I only worked in technology companies and, specifically, in software companies, for the last decade, in sales and executive roles (VP, MD).
My technical understanding has helped me be successful in business within those companies and roles. And it is only when I started my own co-founded startup (Convolus), as COO, not being able to find a CTO to handle the technical side, that I decided to learn programming myself (the reality was more like “(expletive), I’ll do it myself!”).
I, therefore, went on to learn Python at almost 40 (it’s never too late)! I chose Python because it is a powerful and easy-to-learn programming language, with plenty of resources and a thriving community, but also because it is the language of choice for machine learning and AI, areas I am deeply interested in.
How Becoming a Python Developer Brought a Fundamental Shift in Perspective
Learning to program myself was an eye-opener.
It is one thing to know at high-level what computers and software can do and be technical overall. However, it is a different thing to actually know how to write and read code because it teaches you the logic of how machines work under the hood.
And once you grasp the logic of that particular language, combined with the business experience and the understanding of what pains exist in the daily lives of businesses, you can envision how solutions can be built to address these.
From an Idea to Improving My Own Business, to a RPA Solution for All
While building Convolus, we needed to implement a solution to process incoming invoices automatically, as we were doing this for our members, so we were receiving more invoices than your typical small business.
Having looked at various vendors and solutions on the market, I couldn’t find one that fit our needs, both from a feature capabilities and price point (we could not afford the expensive “enterprise” solutions available on the market). Therefore, in the “build or buy” conundrum that occurs regularly within companies, especially technology companies, I decided to build it myself.
The manual process would look like something along the lines of:
- Receive invoice
- Capture (read copy/paste) most of its data in the format required by our in-house database (around which our platform was built) and associate with the right supplier and client
- Check that it was correct, both from what was invoiced (was the aircraft at that airport on that date?) and how much was charged (is the price what we had negotiated for our Members?)
- Send an email to our Member to notify them that their invoice has been processed (or flag if there is an error, and send in parallel to our team for verification and engaging the supplier for correction)
This required extracting data from PDF files, transforming it to our needs, checking data against two different databases (an external one, not available via API, and an internal one), updating our database, and sending emails out.
Such task automation solution would enable us to scale with fewer resources and people, than we would have needed otherwise.
And so I got to work, learning (and swearing!) a lot as I went, but hooked on the challenge and the progress. And out of it was born our first major automated process, which we called “Invoicee” (“eInvoice” sounded too 90s, so we put the “e” at the end!).
In the process of learning how to program in Python, with that specific project in mind, I started to realise all of the potential for leveraging Python to automate our business even further.
From that point on, I looked at every single boring, repetitive task as a potential candidate for being automated (not all are!).
Experimenting with RPA (Robotic Process Automation)
Each task with the potential to be automated became a little challenge. A puzzle to solve. A game. My dopamine receptors became hooked on exploring robotic process automation (though I learned about that term only later) and creating software Bots that could take care of all the menial tasks I did not want to bother doing manually. Or to save money on hiring more people as we were scaling – because money is tight in bootstrapped startups!
“Scarcity is the mother of creativity” as the saying goes.
Some of the automated processes implemented, most running daily, included:
- generating custom reports in Excel to share with clients. fetching data from various sources
- double-checking our database’s data integrity (is all the data there and correct?)
- fetching data from an industry website to update our own database
- running calculations and checks to generate our own invoices
- emailing extremely customised pricing updates to our Members
- emailing extremely customised prospecting emails (straight from Outlook, to prevent spam filters triggered usually when using a marketing platform with tracking functionalities)
- getting a daily update of our KPIs in Slack
- monitoring progress of the manual tasks assigned to our team (not all tasks can or should be automated!)
- performing always the same lookups between Excel files (from 2 different databases)
- formatting database exports (including transforming “text” dates into proper date format) so they can be analysed in Excel and shared externally
- splitting PDFs into single pages (when receiving batch invoices)
- and more (not counting the ones done just for fun, like our own URL shortener Slackbot.. I know, we could have just used Bitly, but where would be the fun in that? 😉
I ended up enrolling the help of talented Python developers, including one who is still working with me now on OfficeBots, who could ensure my ideas, structure and architecture would translate in clean code (I’m not a professional developer after all!).
For the ones I built myself, I ensured that each Bot displayed each step it was taking on my screen (a “print” statement for those familiar with the language) and seeing my bots “at work” produced a gratifying, rewarding feeling.
You know these images of screens where it keeps scrolling with data? This is the type of screens I loved getting as a reward – seeing my Bots busy at work.
My Very First Digital Worker Family
I love the intellectual challenge of making code work. I love when the computer does exactly what you intend it to do and when you see work that would have taken hours to do manually, done in mere seconds or minutes.
And as I implemented one Bot after the other, I started seeing them as my own Digital Workers and naming them.
Copyright (now) AVIAA LLC
As I found out, this field of automating business processes is called RPA (Robotic Process Automation).
As per Wikipedia, RPA is “an emerging form of business process automation technology based on the notion of metaphorical software robots or artificial intelligence (AI) workers.”
Professor Leslie Willcocks, from the London School of Economics, speaks of increased job satisfaction and intellectual stimulation when using RPA, characterising the technology as having the ability to “take the robot out of the human”. I could not agree more.
The (relatively young) history of RPA shows that it is a market growing at +30% a year, expected to reach between $2.4 billion and $8.7 billion depending on the source (see below) in the early 2020s, as companies of all sizes look to become more efficient using task automation, just like I did at my small scale.
In fact, according to a recent report by Gartner, RPA is the fastest growing segment of the Enterprise Software industry with a 63% growth in 2018.
Why I Chose RPA to focus on.
RPA combines two of my passions – building processes for scale and programming.
Some people may find it weird to say that building processes can be a passion. But I guess it is probably a similar feeling for most creators, regardless of the product they are building.
When you build something from scratch, be it physical, conceptual, or digital, when what you build is working smoothly and flawlessly, it is a very satisfying feeling.
After selling Convolus in February 2019, having seen the benefits of robotic process automation in our own business, hearing about the challenges from other companies overwhelmed by manual work, and the challenges of buying and using software most people still have, I decided to focus on providing automation to any company or business person.
And this is how OfficeBots was born.
What We Do with RPA at OfficeBots.io
We are providing RPA-as-a-Service for anyone – or Automation-as-a-Service (I’d prefer not to use the acronym of that one though! :), specifically for tasks involving office files, for instance, Excel, CSV, and PDF.
Your interaction with a Bot should be as seamless as possible, and integrated into current workflows.
Extending the idea that Bots are like digital workers, interacting with them via email seemed like the obvious approach.
If you would hire someone to do these tasks, you would simply email your files to that person and expect to get them back processed after a while. Or, you would expect to see just an email confirming the task has been done, if it’s about posting data to your database for example.
Similarly, a lot of repetitive tasks involve receiving an email from a third party, for example, a client or a supplier.
OfficeBots follows that principle.
You just give us the input and the expected output of your process:
“Here is the file I receive, here is what I do with it”.
We take care of building your Bot.
We assign it a memorable email address of your choice. You can name your Custom OfficeBot as you want!
And you can start emailing your files to your Bot for it to take care of your task. Or even ask your client/supplier/colleague (or setup your system with daily automated email, if it supports it) to email it directly.
It becomes your email-based assistant.
And you can start your own Bot family, getting one OfficeBot for each task you want to automate.
If your Bot fails to perform its task, the human team at OfficeBots gets alerted and fixes the Bot for you.
There is no software to learn and no headache (that one is for us!).
I’m excited, along with my team, to go on this new journey, and bring to life a large family of OfficeBots, to help “take the robot out of the human”.
Resources:
- 24th Apr 2019: Demand Surges for Software ‘Robots’ That Automate Back-Office Tasks
- 24th Jun 2019: Gartner Says Worldwide Robotic Process Automation Software Market Grew 63% in 2018
- 14th Jan 2019: Global Robotic Process Automation Market, 2013-2018 & 2023 – Increase in Demand for Virtual Workforce to Push Market Growth