Skip to main content
A Trigger block is a Flow’s entry point. It defines how a run begins and what payload enters the first Agent. Every Flow needs at least one Trigger. You can have several — the same Flow can serve a chat UI, a webhook, and a nightly schedule at once.

Trigger types

Chat trigger

The default — surfaces your Flow as a chat interface in the Nora dashboard, in shared workspace chat links, or via embed. Each turn creates a new run inside the same session. Configure:
  • Public link — on/off. When on, generates a shareable URL (auth-gated to your workspace).
  • Anonymous access — on/off. Off by default. When off, requires sign-in.
  • Session memory — turns of context to keep. Defaults to 20.

Webhook trigger

Turns your Flow into an HTTP endpoint. Anything that can POST JSON can invoke it. You get:
  • A URL: https://api.platform.nora.my/flows/{slug}/trigger
  • A signing secret. Include it as X-Nora-Signature on every request.
The POST body becomes the Trigger’s output payload — the first Agent receives it as input.

Schedule trigger

Runs the Flow on a cron schedule.
  • Cron expression — standard 5-field, with a @daily / @hourly shorthand.
  • Timezone — defaults to your workspace timezone.
  • Payload template — a static JSON payload sent to the first Agent (useful for parameterizing scheduled runs).
Schedules are paused automatically when a Flow is unpublished.

Event trigger

Fires on a Nora internal event: new document ingested, feedback added, signal opened, approval decided. Useful for meta-Flows that react to system activity.

Signing (webhook)

Rotate the signing secret at any time from the Trigger’s Inspector. Old signatures are accepted for a 60-minute grace period so you can update callers without downtime. Verify in your caller:

Rate limits

Per-Trigger rate limits (RPS + concurrent runs). Requests over the limit get a 429. Adjustable in Inspector → Limits.

Multiple Triggers

Wire each Trigger into a different starting Agent, or converge them into a single one. The Agent’s input schema needs to handle every payload shape it can receive — a type discriminator on the payload is the common pattern.