2025-03-30 00:14
Automating Personal Workflows with Autokitteh
I wanted to build some workflow automation for various tasks I do often (like coming across a link that I want to share with my work after writing a little introduction message). I knew it would need to be flexible and customizable, so I wanted something I could run myself and control every aspect of.
After doing lots of investigation (primarily via the awesome-workflow-engines list), I settled on Autokitteh. It has all the features I care about:
- Self-hosted (no SaaS)
- Workflows can be defined and managed in plain text (so they can be versioned)
- This eliminated most of the IFTTT and Zapier clones like Automatisch
- Workflows can be written in Python
- This eliminated Huginn
- Pre-created integrations for services I use (for this purpose, mainly Slack and Todoist)
- No "open-core" feature paywalls
- This eliminated n8n, Windmill.dev, and Activepieces
The thing I liked most about it is how the workflow definitions let you set up integrations and provide them to the workflow code, so you can use the integrations in any way you can imagine instead of just the ways that come predefined. It also allows you to trivially mix and match integrations, so I can (for instance) take a Slack message and create a Todoist task from it just by smushing the two APIs together.
Read on to learn how I set everything up.