Tutorial: Workflow Automation
Build a workflow that receives requests, classifies them, calls APIs, and returns results
This tutorial builds a “ticket routing” workflow: it receives user input, determines priority with a question classification node, calls a knowledge base and an external HTTP API, and finally outputs the ticket result.
Prerequisites
The current team has a chat model, at least one processed knowledge base, and a callable test HTTP endpoint. To publish the Webhook, create an API Key and have workflow publishing permissions.
Final Result
The published workflow has an input variable, classification branches, knowledge base retrieval, an HTTP request, an output node, and run tracing.

Step 1: Define the Start Inputs
Create a workflow and select the User input start node, then add: customer_id (text, required), message (paragraph, required), priority (dropdown option, optional, default normal).
Step 2: Classify & Branch
- Add a Question classification node and define three categories:
billing,technical,general. - Add a Conditional branch to route high-priority or technical issues to the knowledge base and API branch.
- Connect inputs and classification outputs with the variable selector.

Step 3: Retrieve & Call the HTTP API
- Add Knowledge base retrieval with the query
{message}and Top K of5. - Add an HTTP request, select
POST, and use the test endpoint as the URL. - In the request body, map
customer_id, the classification result, and the knowledge base summary. - Set a
30second timeout and test the failure branch.
Step 4: Define Outputs & Debug
- Add an Output node and map
category,ticket_id,answer, andsources. - Open the Checklist and fix all errors.
- Select Debug run and test a normal request, an unknown category, an API timeout, and a no-knowledge-base result separately.
- In the run drawer, review each node's inputs, outputs, and errors.
Step 5: Publish the Webhook
- Open Workflow settings, select the Webhook trigger, and save.
- Select Publish; in the run page presentation options, choose Form & results.
- In Access API, copy the URL.
- Send a JSON request with an API Key and use
stream_urlto view SSE execution events.
Acceptance criteria
Normal requests return a ticket ID; conditional branches run per category; HTTP failures can be located in the tracing; the Webhook only accepts valid Bearer API Keys; run logs show node status, duration, and outputs.
How is this guide?