Guide to Custom Automation Solutions for Your Business
Thinking of automating a piece of your business? You’re probably onto something. Most companies, even tech-savvy companies like yours, can unlock huge gains by taking advantage of automation opportunities. Investing in custom automation solutions will pay dividends. In this introductory guide, we examine some great custom automation tools and explain (in detail) how you can implement your own automation solutions at your business.
K-Optional helps businesses identify and implement automation with return-on-investment in mind; we work directly with owners, executives, or clever employees who have drawn up solutions for company problems. Interested in learning more?
Tech at your disposal
To automate, we start by selecting and applying a few tools to a particular problem. Before delving into the typical challenge or implementation, it’s worth running through the tool chest. These are the proverbial hammers, drills, saws and tape measures; with them you can automate about anything.
Tool: booking libraries and SaaS products
Calendar-management tools save oodles of time and money:
- They cut at the heart of personnel management, and more broadly resource management, a far-reaching domain.
- From leap seconds (RIP) to daylight savings (also RIP) to time zones, disagreeing system clocks, and countless formatting conventions, time is complex. Consequently, calendar software is non-trivial and valuable.
SaaS products like Calendly and YouCanBookMe cater to appointment-booking needs. Web libraries like Fullcalendar and date-fns lend foundation to custom web booking components. And enterprise suites like Outlook and Google Calendar afford great integration opportunities.
Tool category: notifications & alerts
Your company communication systems might benefit from notification technology. Examples include:
- Push notifications on mobile devices when personnel clock-in
- SMS pings when a technician accepts a job
- Email alerts with order status updates
IT professionals can tie a notifications to digital and physical events, many of which we discuss next. Below you will find some of the most utilized notification tools, along with some service providers; your automation team will know how to manage each.
|AWS SES, SendGrid, Mailchimp||Automated Emailing|
|Firebase, OneSignal||Android & iOS push notifications|
Tool category: data-intake
Employees at your company probably have to submit data— like say, expense reports— in the form of Excel sheets, PDF documents, or web interfaces. We take a 2-pronged tact on data-intake automation:
- Cut out as much data-entry altogether (covered below in the ETL section).
- Make remaining intake systems productive and simple, or “ergonomic”.
Here are the attributes that make data-intake systems ergonomic:
Single point of entry
Which of these sounds more appealing?
- Submitting a form, firing off an email to a colleague that you have done so, and inserting a timestamp into a related excel sheet.
- Merely submitting a form.
It’s not a trick question— a single action saves time and better protects against human error.
Automated checks of data for consistency can save huge headaches later. One K-Optional client was sending a technician across state lines to backfill neglected form fields. Needless to say, enforcing validation up front was a layup.
Tip: Excel and PDF systems don’t validate particularly well on their own; consider adding a web-layer to achieve validation. Don’t worry— that doesn’t mean throwing out your valuable foundation! We pipe web submissions into PDFs and Excel data all the time.
Minimizing input fields
Entering the same thing twice, or typing “N/A” on fields that don’t apply waste time and we can eliminate these with thoughtful form design.
For an in-depth example, check-out our case study on thoughtful form design with the University of Texas.
The place for entering data should be the easiest for your company to access: let’s keep the web interfaces near your admin portals and think of creative ways for people to log data without thinking about it.
Real example: K-Optional Software uses Everhour for time-reporting. Opening up a separate app to clock time works but requires an extra step. To increase the fidelity of our reports, we use a custom browser extension so that tracking functionality appears within our project boards.
Integrations like these can go a long way in making your systems airtight and ergonomic.
With these principles in mind, let’s consider the premiere tooling for data-intake.
Tool: the modern web browser for building powerful interfaces
The web is the most fertile ecosystem for building applications; by connecting people everywhere and piggy-backing off of a robust browser specifications, it empowers us to build powerful systems quickly and economically.
In 2023, general network security concerns have abated; browsers have long set the expectation of default SSL encryption. You can of course do the web wrong— be sure to tap a competent team with security chops— but its flexibility and power make it the obvious choice for building great interfaces.
Mobile application interfaces
Tool: mobile devices and their hardware and capabilities
Likewise, the mobile application landscape serves plenty of business needs. What iOS & Android applications sacrifice in ecosystem they might make up with tighter hardware integrations, device storage, and ease of user access.
Mobile applications prove quite effective for field personnel; you can’t always guarantee that someone has access to a laptop, but you can bring infrastructure to the job in the form of the ubiquitous smartphone. Unlike a typical web application, a mobile app downloads only on install and update, so can be better suited for offline-first needs as well.
Tools: various ways for collecting data without user-facing interfaces
You don’t even need a screen to accept data! Here are a few tools for accepting data without one.
|Inbound SMS||“Text when ready”|
|Instant messaging applications||Slackbot|
|QR / barcodes||Scanning car in lieu of submitting a return form.|
|Network request||Send an HTTP notification to when a system goes down.|
Though these mediums might be less powerful than a graphical user interface (GUI), you will find that sometimes they are better suited to certain functions. A good automation firm will try to understand your business to suss out these opportunities.
As you might imagine, replying to a text message could be easier for personnel than opening up a webpage, and a QR scan will trump a manual form submission.
Extract, transform, load (ETL) processes
Tool: ETL pipeline
If data intake is putting information into a system, then we’d be remiss to not discuss the reverse: taking data out of a system. Admittedly more of a pattern than a tool, ETL is vital to robust automation.
I can’t think of a more self-explanatory process than “extract, transform, load”— thanks, engineers! But why these three steps? Why not “fetch, upload” or “download, manipulate”, or even “extract, transform, analyze, load”?
Like backing-in your car or tying your shoes, the preemptive work of ETL pays dividends.
Say that expense receipts land in a company inbox and your colleagues decide that they want some insights. You could develop code which reads the raw data directly from this email and spits out calculations (see “scripts” below). But your company will find itself far more equipped if your software reads data as it arrives, unpacks it into a useful format, and stores it in a database. For one thing, you’d be able to support many new types of calculations without having to write new code. For another, such a system isolates anything outside your control: if the receipt format changes, then only the “extract” portion would need updates, not the whole code-base.
These three operations also happen to fit well with typical business ops. Ever heard of Conway’s Law?
Any organization that designs a system will produce a design whose structure is a copy of the organization’s communication structure.
- Melvin Conway
Whether obvious or not, “extracting”, “transforming”, and “loading” often mirror how people organize their work and systems, so considering data challenges with this lens proves beneficial and intuitive. These steps have proven atomic and irreducible!
Tool: software scripts
Many business processes consist entirely of formulaic steps. Workloads like this are a joy for automation experts who make the straightforward translation into code. And since “scripts” come in every sort of programming language, developers can employ a diverse landscape of tools and libraries.
Real example: K-Optional maintains a knowledge-base of hundreds of videos that pertain to clean code and sound design. We transcribe these videos to make them searchable and most useful, prior to saving into a Notion database. We wrote a script for that combs through this database and transcribes recent videos automatically. That saves a significant amount of time each time we publish a video, but kept the process the same.
Scripts tend to lack a hierarchy— that is, you could find yourself with dozens of scripts that you invoke manually for various situations. Thus our advice is to use scripts for rigid processes that you want to speed up, not change. If more than 5-6 scripts serve a discreet business function, it may be a sign to reorganize into an integration system.
Cron jobs and scheduled tasks
Tool: scheduled tasks
Cron jobs are basically scripts that run at fixed intervals, i.e. once per day or hourly. Cron jobs apply well to one-directional systems not capable of telling other systems when they complete. If your invoicing software does not alert you when your customer pays a bill, a cron job might check periodically and send the notification or initiate other processes like a “thank you” email.
K-Optional Software uses cron jobs for our Data Warehouse. Many systems that we draw data from don’t push updates as things happen, so we use cron jobs to check them frequently and keep things in sync.
Though also deferred for the future, scheduled tasks behave better than cron jobs when you can pinpoint a trigger that should initiate the task. Say your invoicing software does support alerts when your customer pays a bill— you could schedule a thank you email to the customer for the next waking business hour.
Tool: integration frameworks and custom software
Integration systems connect other tools. Unlike the rest of the arsenal, integration systems are more implicit; the code you deploy that’s not serving a discrete function is the integration system.
Think of integration systems as the exoskeleton of your automation. Thus integration systems tend to fall into the “custom software” camp, which usually demands the expertise of an automation firm. However, a recent trend in “low-code / no-code” solutions like Zapier make it tenable to connect services without shipping code.
If you can construct a useful automation solely from 3rd-party SaaS products, then the low-code route might make sense. It’s also great for proving concepts or building minimum viable products (MVPs). However, you can’t buy integration; low-code fragility can hamstring a mildly complex automation. Talk through your vision with a trustworthy automation firm who will let you know which cases low-code can support.