Build a Customer Support Agent
Build a workflow that answers product questions through retrieval and collects customer details for an installation visit.
Prepare
- Configure a chat model.
- Create a Dataset containing a short product guide, and finish parsing it. For a repeatable test, include: “Model A supports Wi-Fi. To reset it, hold the reset button for five seconds.”
Build the workflow
- Create a blank Workflow Agent named
Customer support demo. - After Begin, add Categorize. Use
sys.queryas the query variable and select the chat model. - Add two categories:
| Name | Description | Example |
|---|---|---|
| Product help | Product features, setup, and troubleshooting. | How do I reset Model A? |
| Appointment | Requests to arrange a service appointment. | I want to arrange an installation. |
Product help branch
- Connect Product help → Retrieval → Agent → Message.
- In Retrieval, select the product Dataset and use
sys.queryas the query. - In Agent, select the chat model and use this System prompt:
Answer product questions using the provided product guide.
If the guide does not contain the answer, say so and ask for clarification.
- In User prompt, enter
Question:and insertsys.query. On a new line, enterProduct guide:and insert Retrieval'sformalized_content. Open the variable selector with/and select the components on your canvas. Names in this example are illustrative; do not type them as variable references. - In Message, insert the Agent's
contentoutput.
Appointment branch
Connect Appointment → Await Response → Message. Follow the form example to collect the customer's name and preferred installation time, then display them in Message. This branch collects installation preferences; it does not book a service visit.
Test
Save, then click Run and test each path:
| Input | Expected result |
|---|---|
| How do I reset Model A? | Product help branch; the answer mentions holding reset for five seconds. |
| Does Model A support Bluetooth? | Product help branch; the answer says the guide does not establish this. |
| I want to arrange an installation. | Appointment branch; a form appears and the submitted name and time are displayed. |
If routing is wrong, refine the category descriptions and examples. If retrieval is empty, check parsing status, Dataset selection, and the query. If the answer ignores retrieved text, check the Agent's variable references. Publish only after both branches work as intended.