The per-run versus per-step billing comparison is the most useful part of this guide, and two details in it would make it sharper. Zapier does not count the trigger as a task. A 5-step Zap, meaning one trigger and four actions, that runs 100 times therefore uses up to 400 tasks, not 500. As far as I know, built-in steps such as Filter and Paths do not count either, which narrows the gap further for Zaps with many branches. That is worth confirming on Zapier's own task usage page. Second, the article says n8n is the only one of the three where you can run custom JavaScript or Python inside a workflow. Code by Zapier supports both languages, with tight runtime and memory limits. So the real difference is how far you can go with code, not whether you can use it at all. One wording note: n8n's self-hosted edition is source-available under its Sustainable Use License rather than open source in the OSI sense. That matters to teams that plan to resell or embed it.