Introduction
Building an effective Voice Agent requires more than just adding nodes and connecting them. It demands clarity, logical flow, and adherence to structured guidelines. Thoughtly’s no-code Agent Builder simplifies the process, but following best practices will help ensure reliability, scalability, and ease of maintenance.General Best Practices
Clear instructions are critical in each node. If a conversation flow is confusing to a human, it will be confusing to AI. Remember, AI does not think smarter than humans—it follows patterns. Avoid spelling errors to prevent misinterpretation, and ensure all text is structured logically. When crafting prompt instructions, do not use special characters such as*
, ^
, or $
. These can interfere with parsing and processing, leading to unintended errors. Implementing a system guardrail for this is highly recommended.
Rules for Building an Agent
When you build an agent, you must follow these rules:- No special characters allowed in each node’s message/instructions.
- No special characters allowed in outcomes, but
-
and/
are okay. - Outcomes need a minimum of 35 characters.
- End nodes and transfer nodes must have a minimum of 80 characters.
- No nodes can be connected to themselves or the one directly above them.
Structuring Nodes Effectively
A well-structured Voice Agent depends on clear node organization. Ensuring logical flow between nodes prevents confusion and helps AI handle conversations smoothly. Additionally, avoid unnecessary complexity in node construction:- The start node’s outcome should avoid simulating voicemail detection, as it is unreliable.
- If an outcome is labeled “caller has questions” and leads to another node, do not assume the question has already been answered. The next node’s purpose is to provide an explicit answer.
- Avoid phrases like “ask me anything.” Instead, be specific about the topics the agent can answer to prevent hallucination or unexpected behavior.
- Remove all spelling errors. Poorly structured outcomes can be misinterpreted, leading to incorrect logic paths.
{{system.contact.phone_number}}
, there may be no need to extract it again from conversation history. Eliminate redundant actions where possible to streamline performance.
Start Node
Your Start Node is the gateway to the conversation. It should be simple, clear, and direct. Avoid attempting to simulate voicemail detection, as it is unreliable. Instead, focus on setting the stage for a structured conversation.End Nodes
A well-structured conversation needs a clear exit. Multiple end nodes are allowed, but each must include a distinct closing message to ensure a smooth call conclusion. This prevents dead-end interactions and leaves a positive impression on callers. End nodes must use static, verbatim text and cannot reference dynamic variables. This rule ensures consistency and predictability, eliminating potential errors. Additionally, end nodes must have a minimum of 80 characters.Transfer Nodes
Multiple transfer nodes can be used to direct calls efficiently. For phone transfers, use clear messages to guide the caller. For agent transfers, specify the agent’s name and purpose clearly. When using multiple transfer nodes, ensure that each has distinct names or messages to avoid confusion. Like end nodes, transfer nodes must also be static and cannot reference dynamic variables. Implementing this as a system guardrail will prevent potential errors in call routing. Additionally, transfer nodes must have a minimum of 80 characters.Optimizing Speak Nodes
Speak nodes should strictly contain speech instructions—nothing else. Do not include navigation rules or conditional logic within these nodes. The AI should focus solely on delivering the intended speech. Avoid vague prompts such as “ask me anything.” Instead, anticipate the caller’s possible questions and define clear, specific outcomes to guide the conversation effectively.Managing Actions and Variables
Variables play a crucial role in customizing responses, but they must be used properly. Ensure that the variable picker includes the node ID for better organization and tracking. Bracketed variables (e.g.,[variable]
) should be used only within speech instructions. They represent dynamic information the agent may reference based on conversation history. Be cautious with replacements in additional rules to maintain consistency and avoid errors.