Browse documentation
Guide Updated 11 August 2026

Choose a trigger

Decide what starts your workflow — a schedule, an incoming webhook, or nothing at all — and configure it.

View as Markdown

A trigger is the reason a run exists. Every workflow that is not a subflow needs at least one before it can be activated, and every run records which trigger started it.

Triggers are created through the wizard that opens with a new workflow, never from the step palette. To change one later, select the trigger node on the canvas and edit it in the inspector.

Outcome

Your workflow has the trigger that matches how its data actually arrives, and you know what that trigger needs before it will work.

Which one do I want?

Choose When What it needs first
Scheduled You go and fetch data on a rhythm — every 15 minutes, nightly, on the first of the month. Nothing.
Webhook Another system pushes data to you as it happens. A service account holding the webhooks scope.
No trigger (subflow) This workflow is a reusable piece other workflows call. Nothing. It is invoked, not triggered.

If you need to prepare a service account or connector first, see What you need before you build.

Scheduled triggers

Pick Scheduled in the wizard. Step 2 offers three tabs.

Interval is three boxes — Hours, Minutes, Seconds — under Run every. The minimum is one minute; anything shorter is refused with Interval must be at least 1 minute. For sub-minute frequency, use a webhook trigger and let the sender set the pace.

Cron expression takes the five-field form, minute hour day month dow. The next fire time is shown beneath the box as you type, in your profile timezone, so a typo is visible before you commit. An expression that does not parse shows invalid and is refused.

Builder composes the same expression from plain choices: Frequency (hourly, daily, weekly, monthly), the Hour and Minute to run at, and days of the week or day of the month where those apply.

Afterwards, the trigger inspector shows the schedule in plain language with an Edit schedule button.

Deactivating the workflow cancels its scheduled jobs. Reactivating recreates them.

There is no Run now. A run exists because a trigger fired, which is what lets the run history stand as a record of what actually happened.

Webhook triggers

Pick Webhook in the wizard. Step 2 asks for a Service account, and it is mandatory — Hodoflow does not accept unauthenticated ingestion. Only active service accounts holding the webhooks scope are listed.

If the list is empty, the wizard says so and links you to create one in a new tab; come back and reopen the wizard afterwards.

Getting the URL, calling it, redeliveries, rate limits, and sender verification are all covered in Receive webhooks.

Subflows

Pick No trigger (subflow) for a workflow that exists to be called by others. It has no trigger, so it is exempt from the trigger requirement at activation, and it is invoked by a Subflow step in another workflow rather than by anything external.

A subflow still has to be activated before another workflow can use it: only active subflows appear in a Subflow step's list, and activating a workflow re-checks every subflow it runs. Once an active workflow runs it, it stays put — deactivating it is refused until those workflows are deactivated, and no version of it can be deleted while any workflow still points at it. Publishing a new version and activating that swaps it into every workflow that runs it, with no step to repoint.

Common problems

The wizard will not let me finish a webhook trigger. There is no active service account with the webhooks scope. Create one at Settings → Service Accounts, then reopen the wizard — see Service accounts.

My interval was rejected. Intervals below one minute are refused. Set at least 0 hours, 1 minute, 0 seconds.

My cron expression shows invalid. Hodoflow expects five fields, not six — */5 * * * *, not */5 * * * * *.

Nothing fires after I saved. Saving is not activating. See Save, version, and activate.

Next step

Add and connect steps, or Receive webhooks if you picked a webhook.

Related documentation