Nodaro Docs
DocumentationNode ReferenceModelsAI Agents (MCP)DevelopersSelf-hostingResearch
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. Read it, with its token, from GET /v1/workflows/<id>/triggers.

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, that carries the whole body.

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>.
  • 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 the current address and token of each trigger in the workflow.

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

Last updated on

On this page