Skip to content

Before saving ​

A final review greatly reduces branch, variable, and JSON errors.

Structure ​

  • [ ] Start is connected to the first useful block.
  • [ ] Every block belongs to the path from Start or provides sources or tools to a block on that path.
  • [ ] Every route ends with a coherent answer or action.
  • [ ] After success, After failure, and Else branches are handled.
  • [ ] Outputs with business labels are connected to the expected next steps.
  • [ ] Agent loops have an exit route.

Naming ​

  • [ ] Names describe each block’s business role.
  • [ ] Output aliases are clear and unique.
  • [ ] Created variables contain no spaces or special characters.
  • [ ] Renaming did not leave old references behind.

Variables ​

  • [ ] References were selected through the {{ helper when possible.
  • [ ] The producer runs before its variable is used on the tested route.
  • [ ] REQUEST is the default and CONVERSATION is used only when required.
  • [ ] Temporary references such as {{http-1.body}} match actual identifiers.
  • [ ] Sensitive codeblock diagnostics were removed.

JSON and HTTP ​

  • [ ] Headers are valid JSON objects.
  • [ ] Accepted codes are arrays of numbers.
  • [ ] The body matches raw, formData, or x-www-form-urlencoded.
  • [ ] Content-Type and response format are consistent.
  • [ ] Timeouts cover normal service duration.

LLM, documents, and MCP ​

  • [ ] A model is selected for every LLM instruction and request.
  • [ ] The instruction variable points to the correct block.
  • [ ] If a Data Sources block is used, its embedding model is available and its sources are compatible.
  • [ ] Selected sources were checked after any model change.
  • [ ] Source and tool providers are assigned to the correct Contextual ports and remain outside the main path.
  • [ ] For the RAG example built with MCP blocks, retriever_retrieve_information comes from the catalog.
  • [ ] Retriever metadata matches the expected connector and sources.
  • [ ] MCP tools were fetched and limited to what is needed.
  • [ ] tools, genericToolCalls, and toolServerRouting come from the correct blocks.
  • [ ] The loop returns to the same LLM instruction after MCP - Call tools, then to the request that reads that instruction, and has an exit route.
  • [ ] Without MCP tools, the Tools field is disabled in both the LLM instruction and request.
  • [ ] Tokens are supplied at runtime and never stored as plain text.

Final experience ​

  • [ ] The normal path was tested in Semantics Chat.
  • [ ] Every important failure was triggered and checked.
  • [ ] Final answers contain no raw technical data.
  • [ ] The assistant clearly acknowledges missing information.
  • [ ] Sensitive actions require confirmation.
  • [ ] The workflow is saved and reported issues have been fixed.