1"use strict";(globalThis.webpackChunkdocusaurus=globalThis.webpackChunkdocusaurus||[]).push([[8544],{13647(e,n,t){t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"ai-agents/advanced-mode/index","title":"Create an agent in Advanced mode","description":"Legacy: configure an agent with full control \u2014 edit prompts, build a state-based YAML workflow, define conversation results, and manage tools, models, channels, and advanced settings.","source":"@site/docs/ai-agents/advanced-mode/index.md","sourceDirName":"ai-agents/advanced-mode","slug":"/ai-agents/advanced-mode","permalink":"/ai-agents/advanced-mode","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Create an agent in Advanced mode","sidebar_label":"Overview","description":"Legacy: configure an agent with full control \u2014 edit prompts, build a state-based YAML workflow, define conversation results, and manage tools, models, channels, and advanced settings.","slug":"/ai-agents/advanced-mode"},"sidebar":"guideSidebar","previous":{"title":"Playground panel","permalink":"/ai-agents/simple-mode/playground-panel"},"next":{"title":"Prompts","permalink":"/ai-agents/advanced-mode/prompts"}}');var i=t(74848),a=t(28453);const o={title:"Create an agent in Advanced mode",sidebar_label:"Overview",description:"Legacy: configure an agent with full control \u2014 edit prompts, build a state-based YAML workflow, define conversation results, and manage tools, models, channels, and advanced settings.",slug:"/ai-agents/advanced-mode"},r=void 0,d={},l=[{value:"Before you start",id:"before-you-start",level:2},{value:"Switch between modes",id:"switch-between-modes",level:2},{value:"Find your way around",id:"find-your-way-around",level:2},{value:"Common issues",id:"common-issues",level:2},{value:"Related pages",id:"related-pages",level:2},{value:"In this section",id:"in-this-section",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,a.R)(),...e.components},{PortalLink:s,ProjectName:o}=n;return s||g("PortalLink",!0),o||g("ProjectName",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.admonition,{title:"Legacy editor",type:"note",children:(0,i.jsxs)(n.p,{children:["Advanced mode is part of the classic agent editor. Agents you create today open on ",(0,i.jsx)(n.a,{href:"/ai-agents/configure",children:"Configure an agent"})," instead, with a visual ",(0,i.jsx)(n.strong,{children:"Workflow"})," tab replacing this page's YAML editor and ",(0,i.jsx)(n.strong,{children:"Capabilities"})," replacing tool groups. This page still applies to every agent that hasn't moved to the new page \u2014 its header shows a ",(0,i.jsx)(n.strong,{children:"Legacy"})," badge. See ",(0,i.jsx)(n.a,{href:"/ai-agents/configure#move-a-legacy-agent-to-the-current-page",children:"Move a legacy agent to the current page"})," to bring one forward."]})}),"\n",(0,i.jsxs)(n.p,{children:["Advanced mode is the full-control view of the classic agent page in ",(0,i.jsx)(o,{}),". Instead of the four guided tabs of ",(0,i.jsx)(n.a,{href:"/ai-agents/simple-mode",children:"Simple mode"}),", you edit the agent's configuration directly: the raw prompt sections, a state-based workflow in YAML, the conversation result schema, attached tools, AI models, channels, and runtime settings."]}),"\n",(0,i.jsx)(n.p,{children:"Use Advanced mode when you need:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"A multi-step conversation flow with controlled states and transitions."}),"\n",(0,i.jsx)(n.li,{children:"Tools \u2014 actions the agent can perform beyond replying, such as calling your systems."}),"\n",(0,i.jsx)(n.li,{children:"A specific LLM, or speech models for a voice agent."}),"\n",(0,i.jsx)(n.li,{children:"Settings Simple mode does not expose: session limits, environment variables, webhooks, and more."}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Both modes configure the same agent. You can switch between them at any time with the ",(0,i.jsx)(n.strong,{children:"Advanced mode"})," toggle in the upper-right corner of the agent page."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"agent page in Advanced mode with the prompt sections on the left and the Settings panel on the right",src:t(52026).A+"",width:"3840",height:"2160"})}),"\n",(0,i.jsx)(n.h2,{id:"before-you-start",children:"Before you start"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["You are signed in to the ",(0,i.jsx)(s,{children:"portal"})," with a role that can edit agents."]}),"\n",(0,i.jsxs)(n.li,{children:["An agent exists \u2014 see ",(0,i.jsx)(n.a,{href:"/ai-agents/agents",children:"Agents"}),". This page describes an Inbound Agent; other agent types show a subset of the same sections (for example, a ",(0,i.jsx)(n.a,{href:"/ai-agents/call-analytics",children:"Call Analytics"})," agent has only the ",(0,i.jsx)(n.strong,{children:"Conversation result"})," section)."]}),"\n",(0,i.jsxs)(n.li,{children:["An LLM connection exists in ",(0,i.jsx)(n.a,{href:"/settings/connectivity",children:"Settings > Connectivity"})," \u2014 without a selected LLM the agent cannot run."]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["In Advanced mode, saving does not restart the agent. After you click ",(0,i.jsx)(n.strong,{children:"Save"}),", restart the agent yourself: click ",(0,i.jsx)(n.strong,{children:"Stop agent"}),", wait for ",(0,i.jsx)(n.strong,{children:"Stopped"}),", then click ",(0,i.jsx)(n.strong,{children:"Start agent"}),". There is no separate restart action. Until you restart, the live agent keeps running with its previous configuration."]})}),"\n",(0,i.jsx)(n.h2,{id:"switch-between-modes",children:"Switch between modes"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Open the agent from ",(0,i.jsx)(n.strong,{children:"AI Agents"})," > ",(0,i.jsx)(n.strong,{children:"Agents"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:["Click the ",(0,i.jsx)(n.strong,{children:"Advanced mode"})," toggle in the upper-right corner. The same toggle switches back to Simple mode."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["If you have unsaved changes, a ",(0,i.jsx)(n.strong,{children:"Switch to advanced mode"})," (or ",(0,i.jsx)(n.strong,{children:"Switch to simple mode"}),") dialog warns that changes cannot be carried over without saving. Choose ",(0,i.jsx)(n.strong,{children:"Save and switch"}),", ",(0,i.jsx)(n.strong,{children:"Switch without saving"})," (your edits are discarded), or ",(0,i.jsx)(n.strong,{children:"Cancel"}),"."]}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["Some configurations made in Advanced mode \u2014 most commonly a custom workflow \u2014 cannot be displayed back in Simple mode. The affected Simple mode sections become read-only or unavailable, while the agent itself keeps working. See ",(0,i.jsx)(n.a,{href:"/ai-agents/simple-mode",children:"Simple mode"})," for how each section behaves."]})}),"\n",(0,i.jsx)(n.h2,{id:"find-your-way-around",children:"Find your way around"}),"\n",(0,i.jsxs)(n.p,{children:["The page has two scrollable columns, each with a vertical icon bar for jumping between sections. The right column is the collapsible ",(0,i.jsx)(n.strong,{children:"Settings"})," panel \u2014 click its label to collapse or expand it."]}),"\n",(0,i.jsx)(n.p,{children:"The main column contains the prompt and logic sections:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Section"}),(0,i.jsx)(n.th,{children:"What you configure"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Identity"})}),(0,i.jsx)(n.td,{children:"Who the agent is: name, role, and organization."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Speech style and language"})}),(0,i.jsx)(n.td,{children:"Tone, formality, and the languages the agent uses."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Task"})}),(0,i.jsx)(n.td,{children:"The agent's objective and boundaries."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Workflow"})}),(0,i.jsx)(n.td,{children:"The conversation flow as YAML states and transitions."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Fast Access Knowledge Base"})}),(0,i.jsx)(n.td,{children:"Markdown reference content included in the agent's prompt."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Conversation result"})}),(0,i.jsx)(n.td,{children:"The data fields the agent collects, defined in YAML."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Analytics"})}),(0,i.jsx)(n.td,{children:"The deep analysis configuration for this agent's sessions."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Tool Groups"})}),(0,i.jsx)(n.td,{children:"The tool groups attached to this agent."})]})]})]}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.strong,{children:"Settings"})," panel on the right contains:"]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Card"}),(0,i.jsx)(n.th,{children:"What you configure"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"General"})}),(0,i.jsxs)(n.td,{children:["Read-only agent type, plus ",(0,i.jsx)(n.strong,{children:"Description"}),", ",(0,i.jsx)(n.strong,{children:"Tag"}),", ",(0,i.jsx)(n.strong,{children:"Language"}),", the legacy ",(0,i.jsx)(n.strong,{children:"Knowledge base"})," selector, ",(0,i.jsx)(n.strong,{children:"Product catalog"}),", and the ",(0,i.jsx)(n.strong,{children:"Immediate human handoff"})," switch."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Models"})}),(0,i.jsx)(n.td,{children:"The LLM and other model connections the agent uses."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Web widget"})}),(0,i.jsx)(n.td,{children:"The chat widget for your website."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Communication channels"})}),(0,i.jsx)(n.td,{children:"The channel connections attached to this agent."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Advanced"})}),(0,i.jsxs)(n.td,{children:["Agent ID and token, default operator, session limits, ",(0,i.jsx)(n.strong,{children:"Show RAG sources"}),", environment variables, push notifications, and Copilot working hours."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Database"})}),(0,i.jsx)(n.td,{children:"A database connection for agents that query SQL data."})]})]})]}),"\n",(0,i.jsxs)(n.p,{children:["The page header shows the agent name and status tag and holds the ",(0,i.jsx)(n.strong,{children:"Advanced mode"})," toggle, the ",(0,i.jsx)(n.strong,{children:"Start agent"})," / ",(0,i.jsx)(n.strong,{children:"Stop agent"})," button, the ",(0,i.jsx)(n.strong,{children:"Save"})," button, and a three-dot menu with ",(0,i.jsx)(n.strong,{children:"Rename"}),", ",(0,i.jsx)(n.strong,{children:"Playground"})," (while the agent is running), ",(0,i.jsx)(n.strong,{children:"Show Logs"}),", ",(0,i.jsx)(n.strong,{children:"Show reports"}),", ",(0,i.jsx)(n.strong,{children:"Delete"}),", ",(0,i.jsx)(n.strong,{children:"Export agent"}),", and ",(0,i.jsx)(n.strong,{children:"Copy agent"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Unlike Simple mode, Advanced mode has no built-in test chat on the page. Test the agent on the ",(0,i.jsx)(n.a,{href:"/ai-agents/playground",children:"Playground"})," page instead."]}),"\n",(0,i.jsx)(n.h2,{id:"common-issues",children:"Common issues"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"The agent still behaves the old way after saving."})," Advanced mode does not restart the agent on save. Click ",(0,i.jsx)(n.strong,{children:"Stop agent"}),", wait for ",(0,i.jsx)(n.strong,{children:"Stopped"}),", then ",(0,i.jsx)(n.strong,{children:"Start agent"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"The agent does not start or cannot begin conversations."})," Check that each process marks its starting state with ",(0,i.jsx)(n.code,{children:"init_state: true"})," (if none is marked, the first state in the YAML is used) and that an LLM is selected in ",(0,i.jsx)(n.strong,{children:"Models"}),". Then check the logs from the three-dot menu (",(0,i.jsx)(n.strong,{children:"Show Logs"}),")."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"The agent stops replying in one state (legacy workflows)."})," In workflows that use the older ",(0,i.jsx)(n.code,{children:"available_tools: SingleStatefulOutboundAgent:"})," format, a state without ",(0,i.jsx)(n.code,{children:"SendChatMessage"})," cannot send messages. Workflows in the newer ",(0,i.jsx)(n.code,{children:"agent_c
1onfigs:"})," format don't use ",(0,i.jsx)(n.code,{children:"SendChatMessage"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"The agent repeats the same message."})," Two transitions overlap, or the flow loops between similar states without an exit condition. Make transition descriptions distinct and add a fallback transition."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"An attached tool is never used."})," The tool group is attached, but the tool is not listed in ",(0,i.jsx)(n.code,{children:"available_tools"})," of the state where you expect it."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"An environment variable has no effect."})," Variable changes require a restart \u2014 and a secret value cannot be unmasked, only replaced."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"The Language select in the General card is disabled."}),' It shows "To choose an agent language, please select a translator integration first." \u2014 add a translator connection in ',(0,i.jsx)(n.a,{href:"/settings/connectivity",children:"Settings > Connectivity"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Simple mode sections are read-only after your edits."})," Expected: configurations such as a custom workflow cannot be displayed in Simple mode. Continue editing in Advanced mode."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"The Inbound switch on a channel is disabled."})," Check the connection's checkbox first \u2014 the switch applies only to attached connections."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"related-pages",children:"Related pages"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/configure",children:"Configure an agent"})," \u2014 the current agent page, for agents created today"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/simple-mode",children:"Simple mode"})," \u2014 the guided view of the same agent (also legacy)"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/agents",children:"Agents"})," \u2014 create, start, stop, and export agents"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/playground",children:"Playground"})," \u2014 test the agent without connecting a channel"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/capabilities",children:"Tools"})," \u2014 create and manage tool groups"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/knowledge-sources",children:"Knowledge Sources"})," \u2014 the shared knowledge library"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/settings/connectivity",children:"Settings > Connectivity"})," \u2014 LLM and model connections"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/settings/c
1hannels",children:"Settings > Channels"})," \u2014 channel connections the agent attaches"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/analytics/deep-analysis",children:"Deep Analysis"})," \u2014 metrics calculated from the Analytics section"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/sessions",children:"Sessions"})," \u2014 review conversations, results, and trace logs"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"in-this-section",children:"In this section"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/advanced-mode/prompts",children:"Prompts"})," \u2014 write the Identity, Speech style, and Task sections"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/advanced-mode/workflow",children:"Workflow"})," \u2014 define the conversation flow as YAML states and transitions"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/advanced-mode/conversation-results",children:"Conversation results"})," \u2014 define the data fields the agent collects"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/advanced-mode/knowledge-and-tools",children:"Knowledge and tools"})," \u2014 add knowledge, attach tools, and set up deep analysis"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/advanced-mode/models",children:"Models"})," \u2014 select AI models and attach a product catalog"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/advanced-mode/channels",children:"Channels"})," \u2014 attach messaging, voice, and web widget channels"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/ai-agents/advanced-mode/advanced-settings",children:"Advanced settings"})," \u2014 IDs, limits, environment variables, webhooks, and working hours"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}function g(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},52026(e,n,t){t.d(n,{A:()=>s});const s=t.p+"assets/images/agent-page-in-advanced-mode-with-the-prompt-f7ab164e7dbe0d9a6eaa82b742116359.png"},28453(e,n,t){t.d(n,{R:()=>o,x:()=>r});var s=t(96540);const i={},a=s.createContext(i);function o(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.