CTRLK

Shared components

Structured output

|

View as Markdown

Structured output enforces a defined schema for AI agent responses, such as JSON, instead of free-form text.

Why use structured output

  • Predictable responses that can be processed by other systems
  • Easier automation and system integration
  • Reduced ambiguity in free-form responses

Use cases

  • Hybrid chatbots: Detect when to transition from AI agent to chatbot control. Use parameters such as response (message to end user) and isLeaving: true/false.

  • Multimodal responses: Send more than plain text, such as lists, buttons, images, or locations.

    Structured output supports these message formats by separating the text message (response) from the format (next_answer_type) and the extra content (suggested_answers).

  • Escalation management: Use the escalate_to_human: true parameter to route to live agents.

Example schema

json
1{
2 "response": "string - Message to display",
3 "sentiment": "positive|neutral|negative",
4 "escalate_to_human": "boolean",
5 "next_answer_type": "text|list|buttons|image",
6 "suggested_answers": ["array", "of", "options"]
7}

Using structured output in Answers

When you use structured output, the AI agent returns a JSON object instead of plain text.

To use structured output in Answers, do the following:

  1. In the Agent connector element, extract the full response by using the JSON path $.content.
  2. Use a Code element to parse the JSON and extract individual fields into separate attributes.
  3. Use the extracted values to do the following:
    • Display the response text to the end user
    • Route based on escalate_to_human or isLeaving flags
    • Determine message format using next_answer_type
    • Populate buttons or lists with suggested_answers

For detailed configuration of the Agent connector element, refer to Use AI agents in Answers.

For agent configuration steps, refer to Configure your agent.