Skip to main content
A Trigger starts a Flow. It decides how the Flow begins and what payload enters the first Agent. A Flow needs at least one Trigger to run. Add multiple Triggers to let the same Flow run from API calls, webhooks, and a nightly schedule.

Trigger kinds

1. API endpoint Trigger

Exposes the Flow as a POST endpoint. The most common way to call it from your service.
  • API slug The name that goes into the endpoint address.
  • Endpoint The POST address built from the slug. Copy it from the inspector.
  • Body The JSON fields the POST accepts. input, threadId, userId, image, audio, document, tts, and model are supported by default, and Add parameter lets you add your own.
  • Auth Pick one:
    • None Open, no auth. For development, or only behind another gateway.
    • Header token The server-generated token is sent in a header you name (default Authorization).
    Rename the header freely. See Secrets below for how secrets are managed.
Use this Trigger to build conversational services. Pass the same threadId each turn to continue the same conversation, and use userId to tell users apart.

2. Webhook Trigger

Turn on a webhook Trigger and the Flow gets a URL. Any external service that POSTs JSON to that address can run the Flow.
  • Webhook slug The name that goes into the endpoint address.
  • Endpoint The POST address built from the slug. Copy it from the inspector.
  • Auth Pick one:
    • None Open, no auth.
    • Header token (default) The server-generated token is sent in a header you name (default X-Webhook-Token).
    • HMAC SHA-256 The request body is signed with the secret and delivered in a header you name (default X-Signature-256). Used for signed webhooks like GitHub or Stripe.
    Rename the header freely to match whatever the sending service requires (for example, X-Hub-Signature-256 for GitHub).
  • Body mapping Every service shapes its webhook body differently, so you set paths that decide which received fields go where. Send one webhook first, then click the [Refresh] button: the last received body appears field by field under Last received body, and the → button on each field maps it straight to input, image, or audio. Once mapped, the received value shows as a preview next to the label.
    • Input field The path used as the Agent input. Leave it blank and the whole body passes through as the input.
    • Image path · Audio path The paths used as image and audio. Left blank, the top-level image and audio fields are used.
    • Thread ID path · User ID path The paths that decide the conversation and user. Left blank, the X-Nora-Thread-Id and X-Nora-User-Id headers or the top-level threadId and userId fields are used.

3. Schedule Trigger

Runs the Flow at set times.
  • Preset / Custom cron Pick a common interval or write a cron expression yourself.
  • Timezone The timezone the cron is interpreted in.
  • Input A fixed input sent to the first Agent on every run.
  • Thread ID · User ID The conversation and user the runs are grouped under. They become the memory scope for scheduled runs.
  • Voice output (TTS) Turn it on to also produce the answer as speech.

Secrets

Tokens and signing keys used for authentication are generated on the server. You never type them.
  • Issue the token with the [Generate token] button. It is shown on screen exactly once, right after issuing. Copy it then. After that only the last four characters are visible.
  • The [Rotate] button issues a new token behind a confirm dialog.
  • Switching auth to None deletes the secret, and turning it back on issues a fresh one.
  • Issuing, rotating, and switching auth to None don’t apply right away: the old token becomes invalid when you publish. From the moment you publish, every call still using the old token fails. Copy the new token ahead of time and publish the Flow once everything is ready.

Multiple Triggers

Each Trigger can be wired to a different Agent, or several Triggers can be wired into a single Agent. When they wire into one Agent, differently shaped inputs reach that Agent depending on how the run started: a schedule run delivers the fixed input written on the trigger, a webhook delivers the field values picked out by Body mapping, and an API call delivers whatever input the caller sent. Write the Agent’s prompt and input schema to handle every one of those shapes. The common fix is a discriminator field in the payload, such as "type": "webhook". The Agent reads it to tell which path the input came from.