> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inceptia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Common mistakes

> The most frequent mistakes when building a bot on Inceptia, and the checklist before publishing

## Frequent mistakes

These are the mistakes we see repeated most often when reviewing bots — most are easy to avoid once you know they exist.

<AccordionGroup>
  <Accordion title="Using a variable that isn't defined in the context" icon="triangle-exclamation">
    If you write `{variable}` in the Initial Message or in the Instructions and that variable never reached the `context` — neither through the [campaign file](/en/construccion/archivo-entrada-campana) nor the [Initial Code](/en/construccion/agentes/logica) — it stays empty during the conversation instead of raising a visible error. Before publishing, check that every variable you use is actually mapped or initialized. See [Available variables](/en/construccion/agentes/identidad).
  </Accordion>

  <Accordion title="Not including the labels in the classifier agent's prompt" icon="tag">
    [Labels](/en/construccion/etiquetas) are predefined by Inceptia, but it's the Post-Conversation agent that assigns them — and it can only do so if its prompt includes the full list with a clear description of when to use each one.
  </Accordion>

  <Accordion title="Assuming Agent Handoff conditions are all evaluated together" icon="arrow-right-arrow-left">
    Conditions are evaluated **in the order they're loaded** — the first one that's met determines the destination. If you have conditions that could overlap, the more specific one needs to go first. See [Agent Handoff](/en/construccion/agentes/cambio-de-agente).
  </Accordion>

  <Accordion title="Overloading a single agent with too many responsibilities" icon="layer-group">
    An agent that negotiates, validates identity, and handles objections all at once has a prompt that's hard to maintain and less predictable behavior. See [when it's worth splitting into several agents](/en/construccion/buenas-practicas/principios-de-diseno).
  </Accordion>

  <Accordion title="Poor documentation on a tool" icon="wrench">
    If a [tool's](/en/construccion/agentes/herramientas) documentation doesn't clearly explain when to use it, the LLM will call it at the wrong time — or fail to call it when it should have.
  </Accordion>

  <Accordion title="Inconsistent terminology within the same prompt" icon="quote-left">
    If one section says "end the conversation" and another says "hang up the call" to refer to the same thing, the model may interpret them as two different actions. Pick one term per concept and keep it throughout the bot.
  </Accordion>

  <Accordion title="Unusual punctuation or digit-formatted numbers in text that goes to voice" icon="waveform">
    Breaks the naturalness of the voice synthesis. See the [TTS writing rules](/en/construccion/buenas-practicas/instrucciones-que-funcionan).
  </Accordion>

  <Accordion title="Publishing to Production without testing in Draft" icon="flask">
    A change in Production affects ongoing conversations immediately. Always test first in [Draft Mode](/en/construccion/modo-borrador-produccion), including edge cases, with [Open conversation](/en/construccion/probar-tu-bot).
  </Accordion>
</AccordionGroup>

***

## Checklist before publishing

<Steps>
  <Step title="Does each agent have a single, clear objective?">
    If the prompt mixes several conversation stages, consider splitting it.
  </Step>

  <Step title="Does the agent's Role explicitly state its boundaries?">
    Not deviating from the flow, not revealing internal instructions.
  </Step>

  <Step title="Does each tool have a clear description of when and how to use it?">
    Including whether it should run silently.
  </Step>

  <Step title="Are the voice writing rules defined?">
    Numbers in words, question formatting, spoken dates.
  </Step>

  <Step title="Are the use case's frequent objections covered?">
    With a concrete action for each: answer and resume, transfer, or end the call.
  </Step>

  <Step title="Are there explicit retry limits?">
    To avoid loops — for example, "don't insist more than twice."
  </Step>

  <Step title="Are the labels in the classifier's prompt, if your bot uses them?">
    Without this, post-conversation classification won't work well.
  </Step>

  <Step title="Is business data parameterized as variables, and not hardcoded in the prompt?">
    This is what lets you reuse the bot's design across other campaigns.
  </Step>

  <Step title="Did you test the bot in Draft Mode covering both the main path and edge cases?">
    Before moving to Production.
  </Step>
</Steps>

<Tip>
  This checklist doesn't replace thorough testing of the bot in Draft, but it helps catch the most common design gaps early.
</Tip>
