Triggers & Inputs

Webhook, Schedule, and Manual Trigger Reference

Technical reference for `manualTrigger`, `schedule`, and `webhookTrigger`, including payload shape, webhook secrets, and scheduling constraints.

Updated 2 min read

Overview

These nodes start workflows without uploading a file:

  • manualTrigger: start the workflow from the editor or a test run
  • schedule: run the workflow on an interval
  • webhookTrigger: run the workflow from an HTTP POST

In server execution they are pass-through triggers that add a triggeredAt timestamp to the incoming payload.

Configuration / Settings

NodeSettingTypeRequiredDetails
manualTriggernoneN/ANoDesigned for testing and ad hoc execution.
scheduleintervalminute, hourly, daily, weekly, monthly, cronYesThe schedule API validates the interval and enables/disables the saved workflow.
schedulecroncron stringRequired for cronExample UI hint: 0 0 * * *.
webhookTriggerwebhook URLgenerated stringYesAvailable only after the workflow is saved.
webhookTriggersecret tokenstringNoRequests must include x-workflow-secret when configured.

Inputs Expected

  • manualTrigger usually starts with {} unless the editor run injects test JSON.
  • schedule starts with an object like { trigger: 'schedule', scheduledAt: ISODate }.
  • webhookTrigger expects a JSON request body sent with POST.

Variables Exported / Outputs

Runtime output shape for pass-through triggers:

{
  "...incomingFields": "body fields copied to the root object",
  "triggeredAt": "2026-04-02T10:15:00.000Z",
  "inputData": { "...original payload" }
}

Notes:

  • webhookTrigger currently exposes the JSON body, not a full headers/query/body object.
  • schedule and manualTrigger also use this pass-through pattern.

Common Use Cases

  • Fire a workflow manually while tuning field mappings.
  • Run a cleanup or reporting workflow every hour.
  • Trigger downstream processing from another system by POSTing JSON into the webhook URL.

Edge Cases

  • The webhook URL does not exist until the workflow has been saved.
  • If a secret is configured, missing or incorrect x-workflow-secret values return 401.
  • The current cron worker supports interval-driven schedules. Custom cron expressions are stored, but the older cron worker route still marks cron parsing as TODO.