Getting started
Automation types
Every job in an automation platform either reacts to an event or runs at a scheduled interval. Webhooks handle the first, Celery Beat handles the second, and both end up in the same event ledger.
Once you write workflows down as code, there are only two types of automation. Either something happened in another system, or a scheduled interval came around. That is the whole model.
Triggered
When something happens
Scheduled
At a scheduled interval
Triggered work
Triggered work starts outside your system. Another system makes an HTTP request to a URL you gave it, and that request is the webhook. Stripe sends one when a payment clears, Calendly sends one when a call is booked, your site sends one when a form is submitted.
In Zapier this is a dropdown. You pick the app, click through OAuth, and choose a trigger from a list. Behind that list, the platform is registering a webhook for you and pointing it at their servers, which is why the URL belongs to them.
When you own the backend, you own that URL. Your API exposes an endpoint, verifies the caller, checks the payload against a schema, writes the event down, and puts the work on a queue. Then it returns. You answer fast, because the sending system is waiting and will retry or give up if you are slow.
Scheduled work
Scheduled work starts at a fixed interval, and nothing needs to have happened first. Sync yesterday's orders at 02:00. Send the pipeline report on Monday morning. Clear stale records every hour.
The classic answer is a cron job on a server. It works until the server stops being the only place your code runs, and then the schedule lives in two places and neither one keeps a record. In Datalumina OS that job belongs to Celery Beat, which sits next to the workers, holds the whole schedule in one file, and puts the same kind of job on the same queue.
Any scheduler will do here. What matters is that the schedule lives in one place and produces the same kind of event a webhook does, so the work downstream never has to know which one started it.