Skip to content
All docs

Guides

Webhook automation: trigger no-code workflows from any app

Turn any incoming webhook into an automated workflow. Get a unique URL, receive events from any service, then route them to APIs, email, Discord and more, no code.

3 min read

A webhook is the simplest way to connect anything to anything: one service makes an HTTP request to a URL, and another service reacts. With NoriaFlow you get a unique webhook URL for each workflow, so any app that can send a webhook can kick off a no-code automation, no polling, no server, no code.

How it works

  1. Add a Webhook trigger. NoriaFlow generates a unique URL for that workflow.
  2. Point a service at it. Paste the URL into anything that sends outgoing webhooks: a form builder, a payment provider, a monitoring tool, a CI pipeline, or your own backend.
  3. Use the payload. Whatever JSON the service POSTs is available to every downstream node as variables.
  4. Add actions. Call an API, send an email, post to Discord, branch on a condition. Whatever the event should do.
  5. Activate. From now on, every request to the URL runs your workflow.

Reading the incoming data

The body of the request is exposed through template variables. If a form tool POSTs { "email": "a@b.com", "plan": "pro" }, you can reference it anywhere:

{{__trigger__.body.email}}
{{__trigger__.body.plan}}
{{__trigger__.headers.x-signature}}

The expression field autocompletes the available paths and flags typos before you ship. See triggers and actions for the full variable model.

Examples

  • New signup → welcome flow. A form submission hits your webhook → send a welcome email → post New signup: {{__trigger__.body.email}} to a Discord channel.
  • Payment received → fulfilment. A payment provider's webhook → an HTTP request to your fulfilment API → a confirmation email.
  • Monitoring alert → on-call ping. An uptime monitor POSTs an incident → a Condition checks the severity → a Discord or email alert goes out only for criticals.
  • App event → data sync. Your own backend posts an event → transform it → push it to another API with the HTTP request action.

Securing your webhook

  • Keep the URL private. Each workflow's URL is unique. Anyone who has it can trigger the workflow, so share it only with the service that needs it.
  • Verify a shared secret. Set a Secret Token on the Webhook trigger. Senders must put it in the X-Webhook-Secret header; any request without it is rejected before the workflow runs, so a stranger who stumbles onto the URL cannot trigger it.
  • Validate the shape. Add a condition that checks the fields you expect exist before doing anything irreversible.

Answer the caller: use a workflow as an API

By default a webhook answers 202 Accepted at once and the workflow runs in the background. Set the trigger's Response to Wait for the workflow and the request stays open until the workflow answers, which turns any workflow into an API endpoint for your site, your app or another tool.

  1. On the Webhook trigger, choose Response: Wait for the workflow.
  2. Add a Respond to Webhook step where the answer is ready. Pick the status code and the format (JSON, text or HTML) and write the body, for example { "answer": "{{text}}" }. Values are inserted safely, so quotes or line breaks in an answer never break the JSON.
  3. Call the URL. The response arrives as soon as that step runs, with an X-Execution-Id header; the rest of the workflow can keep running after it.

Without a Respond to Webhook step the caller receives the run outcome (200 success, 500 failed). If the run takes longer than the wait (25 seconds by default, up to 60), the caller gets 202 with the execution id and the run carries on. The AI Answer API template wires a question, an AI Agent and the response for you.

Next steps

Setup checks and next steps

  • Check the draft before activating it; saving edits and publishing them are separate actions.
  • Resolve missing parameters and connection errors in the workflow that reports them.

See the extension setup guide for adding and reusing services, the node reference for parameters, and testing and debugging for execution diagnostics.

Frequently asked questions

What is a webhook automation?

A webhook automation runs a workflow whenever an external service sends an HTTP request to a URL you give it. Instead of polling for changes, the service pushes the event to you the moment it happens, and your workflow reacts in real time.

How do I get a webhook URL in NoriaFlow?

Add a Webhook trigger to a workflow and NoriaFlow generates a unique URL for it. Paste that URL into any service that supports outgoing webhooks (a form tool, payment provider, monitoring service, or your own app), and every POST to it starts a run.

Can I call another API after a webhook fires?

Yes. Add an HTTP request action after the trigger to call any REST API, or chain an email, a Discord message, or a condition. The incoming payload is available to every later node as {{__trigger__.body.…}} variables.

How do I secure a webhook?

Treat the unique URL as a secret and only share it with the service that needs it. Then set a Secret Token on the Webhook trigger: every request must carry it in the X-Webhook-Secret header, and requests without it are rejected before your workflow runs.

Can a webhook workflow send a response back, like an API?

Yes. Set the Webhook trigger Response to Wait for the workflow and add a Respond to Webhook step. The caller receives your status code and body (JSON, text or HTML) as soon as that step runs. Without the step, it receives the run status; if the run takes longer than the wait (25 seconds by default, at most 60) it gets 202 with the execution id.