Add a webhook trigger

A webhook trigger starts a workflow when an external system sends an HTTP POST request to a generated endpoint URL. Use webhook triggers to integrate workflows with CI/CD pipelines, monitoring tools, or any external application that can send HTTP callbacks.

Before you begin

  • You have access to the workflow builder.
  • The workflow is in an editable state.
  • The external system that calls the webhook can reach the automation orchestrator API endpoint.

About this task

If you are creating a new workflow, select the Webhook option from the Add step panel and then begin this procedure at step 3.

Note:
Webhook endpoints are unauthenticated by default. If you do not configure an authorized service account, any system that can reach the endpoint URL can trigger the workflow. To secure the endpoint, select at least one authorized service account during trigger configuration. The external system must then authenticate with a Bearer token from that service account.

Procedure

  1. Navigate to the Workflows page and select the workflow you want to modify.
  2. Click Add step > Triggers > Webhook trigger.
  3. Review the Webhook path field, which is pre-populated with a unique, auto-generated path.

    You can modify this path if needed. This path becomes part of the final generated URL.

  4. Note that the HTTP method field displays POST.

    The webhook trigger accepts POST requests only. This value cannot be changed.

  5. From the field labeled URL, copy the unique endpoint URL that automation orchestrator generates for the workflow.

    You need this URL to configure your external system.

  6. In the Authorized service accounts field, select one or more service accounts that can call this webhook endpoint.

    You can create a new service account inline if one does not exist. The external system must authenticate with a Bearer token obtained from one of these service accounts.

    Note:

    If you do not select a service account, the webhook endpoint accepts unauthenticated requests from any source that can reach the automation orchestrator API. Configure at least one authorized service account to restrict access to the endpoint.

  7. Optional: In the Request body field, define a schema to validate incoming request payloads.

    Use Simple mode to define flat key-value fields, or Advanced mode to provide a full JSON schema. If the incoming payload does not match the schema, the webhook rejects the request.

  8. Click Create or Update to save the step and add it to the canvas.
  9. Click Save in the toolbar to save the workflow.

Results

To start the workflow from an external system, obtain a Bearer token from the authorized service account. Then send a POST request to the generated endpoint URL.

  1. Request a token using the service account client credentials.
    curl -X POST https://orchestrator-host/api/v1/auth/token \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -d "grant_type=client_credentials" \
      -d "client_id=service-account-client-id" \
      -d "client_secret=service-account-client-secret"
  2. Send the webhook request with the Bearer token and a request body that matches the schema.
    curl -X POST https://orchestrator-host/api/v1/webhooks/webhook-path \
      -H "Authorization: Bearer access-token" \
      -H "Content-Type: application/json" \
      -d '{"key": "value"}'

Automation orchestrator passes the request body to the workflow as trigger input data. Downstream steps can reference these values as input variables during execution.