What is a bot?
Who doesn’t love robots - that evergreen staple of science fiction?
The concept has long fascinated futurists, and the robot has enjoyed a central place in visions of high technology for decades:
In this article, we’re going to talk about the subtler, quieter and more digital cousin of the robot: the software bot.
Although we haven’t yet reached a future where everyone has a robot butler, software bots are playing a more and more important role as virtual assistants.
# Software bots vs robots
A robot is :
a machine —especially one programmable by a computer, capable of carrying out a complex series of actions automatically
The robots of science fiction resemble human beings, and interact with the physical world like a human.
A software bot is :
software that interacts with other software, like a human does
Sometimes bots even pretend to be human! 👻
Just like robots that work in a factory, software bots are useful because they can do a lot of work very quickly. This can save a lot of hard labour; in a factory it’s physical labour, but in software it’s usually highly tedious or repetitive tasks. Software bots never get bored and can go forever!
# Are bots bad?
Of course, bots are not inherently bad; most are very useful!
But some bots have do a bad rep. In particular, the bots that pretend to be human to deceive you...
# The dark side: Spambots and Twitterbots
You may have heard of spambots or twitter bots. These are bots sending messages or tweets en-masse.
Most social media systems restrict access to ‘APIs’ (software interfaces for writing code). In order to automate a Facebook or instagram post, you’d need to post using the User Interface (UI).
Any software that interacts with the User Interface, like a human does, is a bot
Doing this is not inherently bad, but if you’re pretending to be human, it’s possible you don’t have good intentions.
But many bots aren’t pretending - they’re interacting like humans because they have no choice.
And they’re trying to be useful, even if they don’t always succeed!
# The friendly side: Web-crawlers and Chatbots
You may have dealt with chatbots in customer support. Early chatbots were very annoying and would leave you frustrated and wishing you were talking to a human.
Modern chatbots are good enough that you may not realise you’re speaking to a bot. That’s because they aren’t designed to work independently, more like ‘assistants’ to a human. One customer support person can speak to more customers, using their bot assistants, and you’d never know!
Another variety of chatbot you might have seen are bots for Discord. Discord is a little unusual in that they actively encourage bots, and they are used to perform many administrative functions, taking user input and performing some kind of useful response. Hopefully this attitude towards bots becomes more common!
Without these bots that read and try to understand websites, modern search couldn’t function.
# Why do sites block bots?
There are two main reasons why websites might block bots: to prevent abuse, and to protect what the site considers its intellectual property.
For example, in the case of things like Instagram automation bots, fake interaction directly damages the value of their service as it can skew their recommendation algorithms and lead to users having a poor experience.
Instagram is primarily concerned with this spammy behaviour and therefore take steps to rate limit accounts. LinkedIn follows a similar approach. If a bot is behaving in a polite manner, and working at a rate consistent with normal use, it should be OK.
The other commonly seen reason is to protect what a site considers its property. This is the case with sites that are essentially databases of information - for example, Linkedin or Crunchbase. Here, the information is their product, and the site owners would prefer to sell this information via paid accounts or a strictly limited API. They don’t want bots taking and re-distributing this premium content en masse!
# The rise of workplace bots
Lately, bots have become more powerful, and are being used more widely - especially in large companies.
Don’t worry, these are admin bots - more likely to pay invoices and file taxes, rather than be put in charge of America’s nuclear arsenal.
This industry has become known by the term “Robotic Process Automation”, and has gained a lot of popularity in the last decade. The tools have grown out of automation consultancies and become quite powerful and sophisticated, generally used at scale in large enterprises.
This approach is much less common with smaller businesses or startups, largely due to the cost and implementation complexity, but we are starting to see some tools make inroads into this space.
# Can I build a bot?
Yes! The traditional way to do so is by writing code. Selenium is the old standard for bots that need to interact with a browser, with Google’s Puppeteer being a great alternative (though it can only control chromium-based browsers).
- https://www.selenium.dev/selenium-ide/ (opens new window)
- https://developers.google.com/web/tools/puppeteer (opens new window)
The programming language Python is also a popular option, particularly for headless bots that can interact directly with the underlying code of a website.
For very large RPA projects, traditional RPA software leads the way. These work on desktop software as well, which can be very useful. UiPath and Automation Anywhere are popular examples of these tools, but beware - they are highly complex and not for the faint of heart! Generally, these bots are built and maintained by specialist developers who have trained in the software.
There are a growing list of lighter no code options, which let you build a bot by directly interacting with the UI and assembling the steps with a simple builder interface. Axiom is one of these tools. These can be less suitable for very large projects, but are great for getting your bots up and running quickly.
# What can you automate with bots?
With desktop software like UiPath, people build bots to automate tasks like invoice processing by reading data from PDFs. They also automate some of the repetitive work we do in Excel, like copy-pasting. An Excel Macro is a type of bot!
With Browser Automation software like Axiom, people build bots to scrape websites, transform the data and perhaps perform data entry with it. One example of this is automating manual form entry to fulfil an order for an online shop.
While running Axiom, we’ve seen a huge variety of different use cases being implemented, from entering CRM records, to report generation, price monitoring and content production.
What’s exciting about bots is that, in theory, any interaction with software can be automated by creating a bot to replicate your steps!
# Use bots responsibly
In general, it’s always a good idea to respect the wishes of the site owner and follow their terms of service.
If you have to pay to access information, redistributing it for free would be bad form.
If your bots are going to be interacting with real people, make sure they’re not doing anything that could be seen as harassing, manipulative or annoying.
# What if my bot turns on me?!
Thankfully, this isn’t very likely outside of science fiction. Likely the worst that can happen is the bot accidentally duplicating something or sending one too many messages.
But bugs can happen, so make sure you’ve tested carefully before deploying!