RPA vs API automation, what should I use?
The automation landscape contains a lot of confusing jargon. APIs? RPA? …Intelligent Automation?
Let’s cut through some noise and start with the basics - most automations these days are built with APIs by developers.
# What’s API Automation?
An ‘API’ is an ‘Application Programming Interface’. It allows a programming language to provide instructions to a web-application, or other piece of software.
Stripe is quite a well known API for payments. You can hire a developer to build a payment system in pretty much any programming language you’d like.
There’s plenty of no-code tools to take payments without hiring a developer too.
Some of the most well-known no-code tools for API automation are Zapier, Integromat and Tray.io.
Want to Connect Google Sheets to Typeform?
There are APIs into both, so there’s a Zap for that.
# No API? Use the User Interface. RPA is UI Automation
The only way to Automate software without an API is to use whatever interface a human does - usually the User Interface (UI).
This is often known as ‘Robotic Process Automation’ (RPA).
RPA has become really popular in the last 5 years or so, thanks to companies like UiPath that provide RPA Developer tools for Enterprises.
As RPA became more popular, marketing around AI and ‘Intelligent Automation’ may have blurred its original meaning. RPA really just means ‘User Interface Automation’. RPA vs Intelligent automation is a whole other topic we could talk about, but it's a subject for another article.
# What advantages does UI Automation have over API Automation?
Often, a system just doesn’t have an API, so UI automation is the only choice.
But this isn’t the only reason.
UI Automation is common for data scraping, but it’s also common to use it for data-entry into forms, where creating APIs are not part of the technology focus. We see this often with government forms, legacy systems, and niche e-commerce applications.
Even with APIs, UI Automation is often more intuitive for non-coders in particular.
If you’re copy-pasting data from an analytics system into a spreadsheet, building a UI bot to do this may be faster than accessing analytics and spreadsheet APIs.
We see this often with YouTube and other analytics reporting. Visually selecting data as it appears in-context during your normal working day is much more intuitive than going into API documentation and parsing a data-feed into the correct format.
There are also cases where automation needs human and machine input to work together. Perhaps an automation can’t run end-to-end, but needs to hand back to the human to decide.
Browser automation excels at these cases, sometimes called ‘Attended Automation’. Zapier can’t really handle these.
Finally, we see cases when UI automation - which closely mimics a person’s real work - is just faster than API automation. You already know the specification and implementation details because you’re doing the work already. This is particularly important for the long-tail of small automations that are too small to hire a developer.
# What are the disadvantages of UI Automation?
UI Automation can be hard to get right!
Your application may change, breaking the UI Automation. APIs don’t change often, and if they do, they’re often versioned for backward compatibility. Not so with UIs.
The automation may need to detect and fix the change. More often though, a human being may need to make an amendment.
Many applications block automations if data is key to their business model - LinkedIn is perhaps the most well-known example.
LinkedIn does not make it easy to select data - changing page structure regularly + rate-limiting profile views. It’s not possible to extract large data-sets from places like LinkedIn, or Crunchbase, without getting into an arms race for bot detection.
This means creating multiple accounts, rotating these, and perhaps rotating your IP address via a VPN alongside. This can create a lot of admin overhead.
It’s for this reason, we don’t recommend UI automation for extracting large data-sets, particularly from companies like LinkedIn or Crunchbase where data is a protected part of their business.
# Which automation tool is the right one for the job?
You should use APIs, if one exists, and it is intuitive enough to use for your use-case. There may be a template on Zapier or Integromat - check those places first.
If no API exists, or the UI is the most intuitive way to access your data - perhaps UI Automation tools like Axiom or UiPath are a good fit.
If you have a development team, and your automation is large, and for a large enterprise, enterprise RPA tools like UiPath are your best bet.
If you have a smaller automation, your API access is limited, or you just want to get an automation up quickly to mimic your existing workflow - Tools like axiom are a good fit.
# UI + API together. Plug gaps in your Zaps
We’ve observed that customers get the most value when they use API automation and UI Automation together.
In axiom’s case, we have a Zapier app & webhook integration, which has proven to be quite popular. We’ve seen customers automate tasks as varied as:
- Generating reports in YouTube Studio when new data is generated
- Fulfilling an order by inputting data into a form, when an email is received
- Scrape NFT data on a schedule or custom event
Using UI Automation + API Automation together means you can literally automate anything - that’s not an exaggeration. Our customers often surprise us by automating things we would never have guessed!