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 knowledge base 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 knowledge base 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, knowledge-base selection, and the query. If the answer ignores retrieved text, check the Agent's variable references. Publish only after both branches work as intended.