Ask HN: What tools do you use to automate your business?

249 points by yaseer ↗ HN
I imagine the HN readership loves to automate things.

I'm curious to know what tools you use to automate your business operations (if any).

For example, https://zapier.com is one such automation tool.

If you don't use any tools, do you use any frameworks or systems you've made yourself?

If you don't automate any parts of your business, why not? (I'm interested in the reasons why, not disputing the choice)

115 comments

[ 3.2 ms ] story [ 207 ms ] thread
Sikuli
I second Sikuli and recommend Sikuli-X. In the end though the company I work for wanted to use a corporate supported solution so I now use UiPath. It is allowing us to automate repetitive tasks in a Win32 application that uses shdocvw.dll as the shell for Silverlight components, and an embedded TTY emulator among other things. Pointing Spy++ at it revealed an almost infinite event model. Automating with Windows handles just wasn't possible, so the OCR of both Sikuli and UiPath came in handy.
Never heard of it. Love that is Python scriptable. Thanks for sharing.
Wow, I was thinking of RobotFramework and I found it mentioned in SikuliX. Thanks a million. :-D
Sikuli's big advantage is that it is cross-platform. If you are on Windows, KantuX does the same but optimised for Windows desktop automation.
I built Dependabot to automate keeping dependencies up-to-date / responding to security vulnerabilities at GoCardless. Spun it out into its own business. https://dependabot.com

My best automating stuff story, though, is automating complaint letters to UK banks. We were pushing the limits of what the UK's Direct Debit system can handle, and as a result were seeing all the edge cases where banks got it wrong. One common one was banks accidentally charging back a payment twice, and each bank had their own, totally bespoke complaints procedure for getting in touch when that happened.

A couple of engineers and me spent a couple of days integrating with Lob and a fax provider whose name I forget to automatically write complaint letters every time the banks screwed up. Some of these were being sent to named individuals for all Direct Debit complaints related to RBS, for example.

Needless to say, the banks fixed the problems that were causing us to need to complain soon enough. :-)

Just wanted to say thanks for Dependabot! I'm excited to be trying it out with `friends` (https://github.com/JacobEvelyn/friends) and I really appreciate the quick turnaround you gave me when I found a small bug the other week.

To others, check out Dependabot!

I use TextExpander for support / service emails and to pull up information quickly (VAT details, addresses, etc)

Invoices and late payment reminders I've automated with my invoicing system (Crunch)

I use PhraseExpress (free version available) for answer e-mails as well. Gmail has boilerplate responses, but you can script PhraseExpress to retrieve data locally. So, if a customer is asking for an order, I can pull up details in the e-mail by doing a query locally.
I'm using PhraseExpress (free) too. I have a few macros set up for commonly used phrases, but thanks to its prefix matching and popup of multiple results, I also use it as a quick lookup tool for various strings so that I don't have to remember them.
Automation was quite a difficult task for us at first since we had all these legacy projects that the effort to automate them wasn't worth it.

So what we did, was on the new projects we started using DeployBot, which was very nice especially for the development team. Then we started to see what can we do on the legacy projects and once we have more time from other projects we tackle one older project at a time where we automate at least parts of it.

It can be a very annoying process especially if you have people in your team who where used at a certain style of the process, but I think in the long run it was worth it.

(comment deleted)
Every month, my Gmail address receives PDF invoices for services I consume. I set up an IFTTT filter to automatically download the associated attachments into a folder in my Dropbox. I then only need to go through that folder to categorise these invoices for accounting, without having to piecemeal download and process them through Gmail.
I work at a fortune 100 in a department I will vaguely rename as "operating systems"; we have a large number of virtual and physical servers, desktops, and development environments. My department "sells" these systems to other coworkers in other departments. Various orchestration platforms make this incredibly easy.

Our automation workflow is build on as many standard tools as we can find, because inventing it here costs a lot of money and we're not experts at it. So it looks smart to use what exists as smart as we can. We take vendor ISOs from microsoft, linux, et cetera and use Packer/Vagrant to build them up inside a vSphere cluster. Packer is starting to get really good support for ESX 6.5, which means we can build right off a datastore and flip the template directly into our orchestration suite for "purchase". Our process is executed in Jenkins Multibranch Pipeline. Our sysadmin-turning-developers are learning a lot this year, and the Jenkins Pipeline is a great way to shield them from details they are free to know but don't have the time for.

The core of our build environment is some reflective shell script that becomes aware of its environment as it is loaded. We're able to abstract across environments, datacenters, et al just by some clever situational awareness. The basics always end up being the most valuable, and our little ecosystem orbiting around a pile of terse, self-documenting shell scripts that any sysadmin can understand has been a successful gambit.

Thanks for sharing, are you running SAP products or similar software on this infrastructure?
I was not familiar with Packer. This looks great, thanks for sharing!
I 've built a custom ERP system, with Laravel & SQlite, to keep track of all my clients' details, their hosting plans, domain providers and all other piece of information I need. It sends automated emails when a hosting/domain has to be renewed, as well as providing valuable info about my servers. There's definitely space for further improvements, but up to now it gets the work done, beautifully.
I've added a couple of small cloud functions for daily statistics that are pushed to our company slack in dedicated reporting channels. Pagespeed reports for our websites, keyword rankings, crawls from Google Bot etc. Definitely reduced the monkey work for our team.
This sounds really cool. Is this being done primarily for the benefit of your marketing team? I’m always curious about automating marketing reporting or operations.
Sorry for the late response, but yes definitely done for our marketing insights. Our whole team is very data driven and Slack gives us a perfect opportunity to be transparent.
- Zapier. I have about 30 zaps running that automate mailchimp list management, email processing and other tasks.

- Python/PHP/Geektool. Another 5 or so processes running that automate analysis and reporting of sales, competitor and economic data.

- Google App Scripting. Inbox cleaning & recirculation scripts running.

- Xero API & Python. Internal financial modeling and reporting.

If I had more time I'd automate it all and never step foot into the office again.

I’m curious about the financial modeling bit - would you mind expanding on that?
Can you share what type of Mailchimp tasks you are automating?
We get a lot of mileage out of Butler for Trello (in combination with Zapier, pipes.digital, Trello mail-in to process App Store notification mails, etc).

https://butlerfortrello.com/

No affiliation, just a happy user.

Mind expanding on your use case for Butler for Trello? Their landing page is a little unclear on specifics.
Not the op but I use Butler Bot (which is different from their powerup). It's been awesome--I use it automate moving tasks around on my lists based on conditions (like cards due today are pushed to the top), for creating recurring tasks or posting reminder comments. It can basically be programmed to do almost anything for you.
I'm curious how you use pipes.digital if you wouldn't mind sharing!
I second this request, especially since I only learned of pipes.digital through this thread and checked it out and find it extremely interesting. Hope to hear back from you!
Very interested to hear from OP or anyone else using Butlerbot on how they use it.

I use Trello a lot with my team, but am not quite sure how we should be using Butler.

I use ScanBot to scan in all of my receipts and other important papers: https://scanbot.io/en/features.html

I have it linked to Evernote, so that anything that I scan in (receipts from dining out, etc.) is waiting for me in Evernote by the time I make it home.

How is this different from Evernote's scan function?
I often think three times before I decide to automate anything. As a dev, and co-founding with another dev, the direct response is always that it should be automated. On second thought, our billable hours are almost always better spent doing client work. This is a very relevant XKCD: https://xkcd.com/1319/

My main work (non-dev) tools are Asana and Gmail. Asana is standalone for us (looking into adding it's Timeline which seem solid). Gmail have a couple of filters.

We use a finance setup where I just forward or email my receipts and have an accountant go through it and correct all the numbers, so this is automated for our part already (we pay about $200/mo for a personal accountant to go through it).

The one thing I think we spend too much time on is support issues. Customers will mail me personally, or my colleague, and it's hard to keep track of everything. We have a small team of students doing work on this and will soon have a custom web app solution built.

I use Zoho Desk for tracking support tickets. It’s free up to I think 25 users. I deal with the emailed to me case by opening a ticket and copy/pasting the email into it.
I second Zoho, Zoho everything. I run a 1 person company and love Zoho. I think their mail is far superior to gmail, their office apps are superior to gsuite, invoicing is great too. I don't use Desk or many of their other apps, but they have them, and are integrated with each other. In a way integration is better than automation. Because it is integrated in one platform it is available to all applications. I don't know if that counts as less automation or more automation but I know it means less time spent on it for me. I have no affiliation with Zoho beyond being a happy customer.
I have a consulting business.

I have a few basic zaps, like sending myself an email reminder every Monday to review goals.

FreshBooks for automating recurring invoices and payment reminders.

This one has saved me a lot of time: Calendly to let people schedule meetings on my calendar. I’ve set a very narrow availability window so that meetings are grouped into one afternoon.

aText app to create shortcuts for long strings that I use often, like my Zoom and Calendly URLs.

I also developed Standard Operating Procedures for my business to “automate” certain decisions or protocols.

I try to eliminate before I automate. Does the thing really need doing, or can I find a way or reason to never have to do it again? For example, instead of routing Slack messages (I am in ~5 Slack orgs at any time) to my phone or email, I just set the expectation early that I will not check Slack frequently so if they need to reach me they should use email.

Nice. What do you use for your SOP? Can you give more details?
It’s just a doc that I printed out. The hardest part was actually coming up with it, and then narrowing it down to just the most important things so that the whole thing fits on one page. It’s partially inspired by Ray Dalio’s “Principles” book.

Examples:

- If not "hell yes" then "no."

- Everything can survive one hour.

- If it's <$100 and benefits well being, productivity, or revenue: Buy it. If >$100 decide by Friday.

- No calls on Fridays.

Other than Zapier, Slack reminders are a huge help to us. We have reminders set up for all sorts of things, both recurring and adhoc. If you use Slack and don't use reminders, look into how it works, they are fantastic.

We also use https://sweep.cards/ which is from Amy Hoy, who many of you may know of. It's basically for things that don't go in a calendar but which are recurring in some fashion, such as doing payroll each month, weekly reviews, or even minor daily tasks you need to remember to do. It has group workflow for this stuff as well if there are multiple people who need to do a single piece of a recurring task.

Does Sweep have an app or good mobile view for management? Looks very interesting.
I have no idea, we solely use it on desktop. I know Amy on Twitter though so have asked her in case she wants to chime in.
Not yet, we're still very new! Being able to interact easily wherever you are is a high priority for us, however, so it's high on the list.

We do have a Slackbot already.

Unfortunately I think she might be shadowbanned as her comment was immediately "dead", so I'll repaste just in case:

Not yet, we're still very new! Being able to interact easily wherever you are is a high priority for us, however, so it's high on the list. We do have a Slackbot already.

You're right, she is. Thanks!
I've been looking at this space for a while. Will likely implement ERPNext soon.
Bank API integration, corporate credit card for partner and travel billing, custom accounting and supply-chain management systems with automatic machine translation, supplier shipment tracking, inventory and BOM tracking, github webhooks, github oauth.
I built a website test automation platform [0] that started out as an automation challenge for my other side projects. It has proven itself useful to others so I figured I'd turn it into my next adventure as its own business.

Automation is something that I believe to be a must-have for many areas of business. ETL work, data entry, data collection, testing, etc., can (mostly) be automated as they're all very replicable. This frees your hands to work on the more important aspects of your business/job.

[0] https://bastions.co

Two points of feedback:

1. From your description, I hadn't realized what this does. I run a website for my business, so I may be in the market for this. On my first read though, I skimmed and thought "very technical dev programming tool". On the second read I saw it was relevant. 2. Lack of pricing implies the price is extremely high. If the price is not extremely high, then you should add a pricing page somewhere. Doesn't have to be front page (some people will just sign up for the free trial), but adding it somewhere would probably increase free trial signups.

I appreciate the feedback! Messaging has been one of my biggest challenges by far. I've unfairly hurt the project because of my lack of expertise in communicating its value. Not adding pricing to the home page was a decision I made due to the home page being much more cluttered than I like (probably due to my aforementioned inability to communicate effectively). I figured, if people are interested they'll head on over to the registration page to see the pricing. I see your point as far as adding a pricing page, I will do that for sure.
I saw your email, will reply later. But, here, briefly:

* say who it's for. Maybe "a tool that lets business owners automatically test their websites" or "site admins" or whoever is the target. That's to grab attention and let the prospect see "ah yes, I am in this category". Then you can discuss specifics. * pricing off the homepage is fine. It just should be available somewhere. Free trial usually involves signing up for an account, so I didn't even click. I'd want to be able to estimate the annual cost for my team before signup

Your site is similar to Pingdom, but more specialized in checking site funtionality, right? You could check out their messaging for ideas.

Edit: your page is actually pretty good btw. It was your Hacker News comment that I skipped past. Only hesitation on the site was not knowing pricing. Beyond that, I guess also knowing whether I need it, but I probably do.

I am building a small tool to try to automate all the nudging around pull requests. The dream is contact only the relevant people (as opposed to spam), in an asynchronous fashion to avoid interruption. Example: Asking to fix tests, remind them to do a review, asking to fix conflict with master, asking to re-review, etc.

Alpha http://www.reviewstatus.io

I have a old-school fashion company where employees meet with clients and they need to fill out a form with ~60 fields. Afterwards those form results need to be transformed and inserted into multiple other templates.

I've automated this via Apps Script: An employee just fills out the form, and everything else is done automatically. (and even more: the script also sends an invoice to the client, creates a calendar event for the employee and adds the order to an internal spreadsheet)

Nice, I wasn't aware of Apps script, thanks! Seems like this should be more popular than it is
at some point you'll send employees out with ipads?
I work for a fortune 500 company.

We want to automate everything but we fight against the odds. In fact, I work with people that "don't believe in automation". I don't even understand the sentence.

BTW: Docker, Ansible, an in-house tool somewhat similar to OpenStack, Go and Python.

I work at a social media platform for everything related to tattoos, and here is a list of the most important automation tools that we use and for what:

* Terraform to automate infrastructure such as github accounts, email accounts and AWS infrastructure and google calendars etc.

* Ansible for all provision and configuration management.

* Codeship as CI/CD for automatic packaging and deployment of docker images. Mainly using official base images with little to no repacking, only reconfiguration.

* StylyCI to correct codestyling

* AWS Autoscale groups for autoscaling.

* Makefiles for automating local environment setup and "nice-to-have" operations

Can you explain how you use Terraform to automate google calendars?
1. Google Calendar. Not really "automating", but I got a big boost in productivity from assigning themes to different days, so I'm not thrashing back and forth, and I can batch up similar tasks. Of course, there are fires that screw things up, but it's generally much smoother.

2. Eliminating tasks that don't need to be done, or that I've over-engineered. I have an accountability partner, and while that has a lot to do with setting and meeting commitments, it probably has at least as much to do with eliminating pointless tasks. ("If you're trying to do X, what if you just did Y for now, and eliminated P, Q, R, S, etc?")

3. Self-serving/dog-fooding, but my own software tells me when prospects are interacting with lead magnets and proposals, and it automates most of the proposal process, so I can have more real conversations with people with fewer dials and less stress.

4. OmniFocus is great for getting tasks out of my head, showing me what I need to do, handling recurring tasks, etc. I'm not really using all the functionality to the max, and I should really do a more rigorous job with reviews, but it's super helpful. (I imagine other task managers have similar features, although this seems to work best for me.)

5. Automating customer support-- there are some customer support functions that require human intervention on the back end. If something comes up repeatedly, I write a script to automate it. Not a huge time savings, but instead of 5 minutes and a series of commands, it can be 30 seconds and something you can do from your phone. Not perfect, but helpful.

6. Delegation. Some things can't be eliminated or automated, but they can delegated. For a while, the biggest pain in my life was audio editing for my podcast. So I outsourced it. This is a form of "automation" that we often overlook, but it's been great. (I asked @gk1 more about Standard Operating Procedures on this thread, because this is where I see a lot of opportunities for more "automation".)

Love your #1. Care to share more perhaps an example what you mean by themes for different days?
I did something similar to this in my startup days, it was called "FORMS". This is where you take a particular focus for each day of the week.

- Monday: Finances - Tuesday: Operations - Wednesday: Research & Development - Thursday: Marketing - Friday: Sales

This allowed me to focus ON the business vs. IN the business.

Mine actually looks similar to @erjjones. ;-)

Monday is strategy, ops & finance. (A lot of Mondays don't require that much in this area, so there's extra time for other high priority tasks.)

Tuesday is sales.

Wednesday is R&D.

Thursday is marketing.

Friday is catch-up. This is actually the most important part, I've found. I used to over(schedule) everything, so my week would look really productive on Monday morning, but come next Monday morning, most things were in a state of "not quite done". In many cases, getting 80-90% of the way there has the same result as doing nothing. It was very frustrating. (Add in having kids, with days off school, random illnesses, etc, and the chance of having your week go exactly according to plan drop close to 0.)

This lets me catch up on the "big rock" items that I'm behind on. It's not perfect, but the idea is that every week I'm moving things forward. If I get done "early", there are plenty of other important things to start on (my "upcoming list"), or maybe I just go work out or research something a bit out of the ordinary that doesn't fit in my normal schedule.

It's not a perfect plan or a perfect implementation, but it feels much better than what I did before, which was too much context switching.

Google Apps Script.

If you’re all in on Gmail, Docs, Sheets, etc., there’s so much you can do with GAS. I’ve used it for creating automated emails with charts pulled from Sheets, scraping websites, analyzing my emails, rall sorts of stuff.