NodaroAccount
Nodaro Docs
DocumentationNode ReferenceModelsTemplatesAI Agents (MCP)DevelopersSelf-hostingResearchCompare
Automate

Webhook Trigger

Start a workflow from another app, a form or your own code with an HTTP POST, and pass values such as a prompt or an image URL into the run.

The Webhook Trigger node starts a workflow when another system sends an HTTP POST request to the workflow's own webhook address. Use it to run a workflow from a content management system, a form, an automation tool or your own code. The request can pass values into the run, such as a prompt or an image URL. The trigger itself is free.

When to use it

  • Generate a video when your content management system publishes a new article.
  • Process an image that another app sends, such as a product photo.
  • Start a workflow from any automation tool or script that can send an HTTP POST request.
  • Build a content workflow that your own code controls.

Quick start

Add the node

Press Tab on the canvas and choose Automate › Triggers › Webhook Trigger.

Define the values you expect

In the settings panel, under Output Parameters, click Add for each value. Give each parameter a name that matches a key of the JSON body, and a type: Text, Image URL, Video URL or Audio URL. Each parameter becomes an output of the node.

Build the branch

Connect the outputs to the nodes that use the values, and build the rest of the workflow after them.

Save the workflow

Saving creates the webhook address. Select the node: its settings panel shows the full address under Webhook URL. Click the copy button next to it.

Send a request

POST a JSON body to the address. The workflow runs with the values from the body.

Webhook Triggerprompt, imageUrlGenerate VideoWebhook OutputSends the video back
A content system posts a prompt and an image URL, Generate Video turns them into a clip, and Webhook Output sends the finished video back.

Output parameters

FieldWhat it does
NameThe key to read from the JSON body. The name prompt reads the value of "prompt".
TypeWhat the value is: Text, Image URL, Video URL or Audio URL. The type tells Nodaro how to pass the value to the nodes after the trigger.

Each parameter becomes an output of the node, named after the parameter, and carries the value of its key as text. A key that is missing from the body leaves its output empty.

With no parameters, the node has one output, payload. When the body has any of the keys prompt, imageUrl, videoUrl or audioUrl, the output carries their values. Otherwise it carries the whole body as JSON text.

A few top-level keys of the body are reserved for Nodaro's own run records: appRun, appRenderFinal, continueFromFailed and runRoot. They are removed from the body before the run starts, so do not use them as parameter names. The same keys nested inside other fields are kept.

Send a request

POST a JSON body to the webhook address. The keys of the body are the names of your parameters.

curl -X POST "https://app.nodaro.ai/v1/webhooks/<token>" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "A lighthouse at dawn, slow push-in", "imageUrl": "https://example.com/lighthouse.jpg"}'

On a self-hosted install, use the address of your own install instead of https://app.nodaro.ai.

The answer tells you what happened:

StatusMeaning
202The run started. The body has the executionId of the run.
404No webhook answers at this address, for example because the node was deleted.
403The trigger was paused through the API.
409The workflow already has a run in progress. The body has the executionId of that run.
429More than 10 requests arrived in one minute for this token.

The address and its token

  • Saving creates the address. When you add the node and save the workflow, Nodaro creates a random 64-character token and the address POST /v1/webhooks/<token>. Before the first save, the settings panel says "Save the workflow to create this trigger's URL".
  • Copy it from the settings panel. After the save, the panel shows the full address under Webhook URL, with a copy button. Below it, the token is shown shortened, with its own Copy button.
  • The node shows a shortened address. On the canvas, the node shows the address with only the start of its token, such as …/v1/webhooks/a1b2c3d4••••. Screenshots of the canvas then do not reveal the token.
  • Only the owner sees it. The address belongs to the owner of the workflow. Other people who can edit the workflow see the save message instead of the address.
  • The address stays the same. The token is created once and kept across every later save, so the address you give to another system keeps working.
  • Deleting the node retires the address. Delete the Webhook Trigger and save, and the address stops working.
  • Read the address from the API. GET /v1/workflows/<id>/triggers returns each trigger's address as a path, /v1/webhooks/<token>, and its token. The trigger whose config.nodeId is the node's ID belongs to this node.

The address is public, and the token is its only protection. Anyone who has the address can start the workflow, and every run is charged to the owner of the workflow. Keep the address secret.

Limits

  • 10 requests per minute for each token. More requests get status 429.
  • One run at a time. While the workflow has a run in progress, a new request gets status 409.

What a webhook run executes

A trigger that is connected to nodes runs only its branch: the nodes after the trigger, and every node that they need as input. A trigger that is connected to nothing runs the whole workflow. One workflow can therefore hold several triggers, such as a Webhook Trigger and a Schedule Trigger, each starting its own branch.

A node counts as connected through a drawn connection, by being inside a Group that the trigger feeds, or through a field mapping. A manual run from the editor, a run from the API and a run of a published app are never limited to a trigger's branch.

Credits

The Webhook Trigger is free. Each run pays for the nodes it runs, charged to the owner of the workflow.

Tips

  • Match the names. Use the exact key names that the other system sends, including upper and lower case.
  • Test with one request. Send a single request with curl before you connect a production system.
  • Send the result back. End the workflow with Webhook Output to post the result to your own server.
  • Run on a schedule too. Add a Schedule Trigger to run the same workflow on a timer.

Read Webhooks for the full API.

Frequently asked questions

How do I start a Nodaro workflow from another app?

Add a Webhook Trigger to the workflow and save it. Saving creates a webhook address. When the other app sends an HTTP POST request with a JSON body to that address, the workflow runs.

Where do I find the webhook URL?

Save the workflow, then select the Webhook Trigger node. Its settings panel shows the full address under Webhook URL, with a copy button. The address ends in /v1/webhooks/ followed by the token, and it stays the same across later saves. Code can read it with GET /v1/workflows/<id>/triggers.

How do I pass a prompt or an image into the workflow?

Add an output parameter for each value in the settings panel, with a name that matches a key of the JSON body and a type, such as Text or Image URL. Each parameter becomes an output of the node that carries the value of that key.

Is the webhook address secure?

The token in the address is the only protection. Anyone who has the address can start the workflow, and every run is charged to the owner of the workflow. Keep the address secret, and delete the node and save to retire it.

How many requests can a webhook receive?

Up to 10 requests per minute for each token. A request that arrives while the workflow already has a run in progress is refused with status 409.

Last updated on

On this page