{"id":15175,"date":"2026-07-24T14:40:05","date_gmt":"2026-07-24T19:40:05","guid":{"rendered":"https:\/\/www.mrc-productivity.com\/docs\/?post_type=ht_kb&#038;p=15175"},"modified":"2026-07-24T14:40:11","modified_gmt":"2026-07-24T19:40:11","slug":"ai-agents","status":"publish","type":"ht_kb","link":"https:\/\/www.mrc-productivity.com\/docs\/knowledge-base\/ai-agents","title":{"rendered":"AI Agents"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">As your AI integrations grow in complexity, relying on a single AI Assistant to handle every possible user request becomes inefficient and difficult to manage. <strong>AI Agents<\/strong> solve this problem by acting as central orchestrators.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of forcing one assistant to do everything (like answering FAQs, writing SQL, and triggering workflows), an AI Agent allows you to link multiple specialized assistants together into a unified workflow. When a user sends a message, the Agent takes charge\u2014routing tasks, passing variables between steps, and executing logic based on the specific &#8220;Agent Type&#8221; you choose.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a63e6d41b3f8&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a63e6d41b3f8\" class=\"wp-block-image size-large is-style-default wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"\/docs\/images\/ai\/AI_Agent_Overview.png\" alt=\"\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Adding Assistants to an Agent<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Regardless of which Agent Type you choose, building an AI Agent involves adding and configuring one or more sub-assistants (or even sub-agents) to act as the nodes within your AI workflow. Clicking into any assigned assistant within the Agent diagram allows you to configure how it receives and passes data.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"\/docs\/images\/ai\/Agent_Assistant_Config.png\" alt=\"\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">General<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Select Assistant:<\/strong> Choose a previously built assistant or agent from your library and provide a brief description of its role in this workflow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Output Name:<\/strong> The variable name where this assistant&#8217;s output will be stored within the workflow&#8217;s scope. You can reference this output in subsequent assistants using this exact name.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Add Input<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Maps data into the assistant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Input Field:<\/strong> Select the specific input field name expected by the selected assistant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Description:<\/strong> A brief note on what this input is used for.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Scope Variable: <\/strong>(Optional) Map this input to a scope variable passed from a previous assistant or the global agent input.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Context Configuration<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Defines how much historical context this specific assistant receives from the steps that ran before it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>No Context:<\/strong> The assistant starts fresh and receives no information about what previous assistants have done.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>All previous agents:<\/strong> The assistant receives the full context, outputs, and history of all previously executed assistants in this workflow run.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Specific agents only:<\/strong> Allows you to explicitly select which previous agents&#8217; context should be passed into this one, keeping the prompt clean and focused.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Planner Agent:<\/strong> (Supervisor agent only) If checked, this specialized agent is called first to create a logical, step-by-step plan that the Supervisor will then follow when routing tasks to other assistants.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Agent Types<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When creating a new AI Agent, you must define its type. This dictates how the agent moves the user&#8217;s request through the connected sub-assistants.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Supervisor<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Supervisor type is the most dynamic. Instead of following a hardcoded path, the Supervisor uses an LLM to actively &#8220;decide&#8221; which connected assistants to call based on the user&#8217;s prompt. It acts like a manager delegating tasks to the right employees.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Supervisor-Specific Settings<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Supervisor Context:<\/strong> Specific instructions and background information that guides the Supervisor&#8217;s decision-making process when selecting which sub-assistants to invoke.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LLM:<\/strong> Select the specific Large Language Model that will act as the &#8220;brain&#8221; of the Supervisor.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Agent Configuration<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>General Settings<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Display Name:<\/strong> A friendly name shown to the user in the chat status (e.g., &#8220;Analyzing Request&#8230;&#8221;).<\/li>\n\n\n\n<li><strong>Description:<\/strong> The overall purpose of this agent.<\/li>\n\n\n\n<li><strong>Response Strategy:<\/strong> Determines what is sent back to the user\u2014either the <strong>Last response<\/strong> (the exact output of the final assistant called) or a <strong>Summary<\/strong> (the Supervisor writes a consolidated summary of all assistant outputs).<\/li>\n\n\n\n<li><strong>Enable Message Forwarding:<\/strong> Forwards the original user message directly to the sub-assistants instead of the Supervisor rewriting or paraphrasing it.<\/li>\n\n\n\n<li><strong>Parallel Execution:<\/strong> Allows the Supervisor to invoke multiple independent assistants simultaneously to speed up processing times.<\/li>\n\n\n\n<li><strong>Enable Chat Manager:<\/strong> Allows the agent to actively manage the chat state, routing, and conversation flow behind the scenes.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Context Management<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Share Memory:<\/strong> All connected agents share the same conversation history.<\/li>\n\n\n\n<li><strong>Summarize Content:<\/strong> Automatically summarizes the context before passing it to the next agent to save on token limits.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Global Inputs<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inputs passed into the agent via field mappings or URL parameters that any sub-agent can reference globally.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Router<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A Router agent acts as a traffic controller for your AI ecosystem. Instead of attempting to answer every query directly, a Router analyzes incoming user input and routes the context to the most qualified specialized assistant (such as an HR knowledge base, a database lookup agent, or a workflow execution tool).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Agent Configuration<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>General Settings<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Display Name:<\/strong> A friendly name shown for the chat status. (e.g., &#8220;Analyzing Request&#8230;&#8221;).<\/li>\n\n\n\n<li><strong>Description:<\/strong> The overall purpose of this sequential agent.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Context Management<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Share Memory:<\/strong> All agents in the sequence share the conversation history.<\/li>\n\n\n\n<li><strong>Summarize Content:<\/strong> Summarize the output of a step before passing it to the next agent in the sequence.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Global Inputs<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Define top-level inputs that any step in the sequence can reference.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Sequential<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Sequential pattern is entirely deterministic. It routes the workflow through a hardcoded, linear path (e.g., Step 1 -&gt; Step 2 -&gt; Step 3). This is ideal for strict, multi-step processes where the output of one assistant is directly required by the next.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Agent Configuration<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>General Settings<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Display Name:<\/strong> A friendly name shown for the chat status. (e.g., &#8220;Analyzing Request&#8230;&#8221;).<\/li>\n\n\n\n<li><strong>Description:<\/strong> The overall purpose of this sequential agent.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Context Management<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Share Memory:<\/strong> All agents in the sequence share the conversation history.<\/li>\n\n\n\n<li><strong>Summarize Content:<\/strong> Summarize the output of a step before passing it to the next agent in the sequence.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Global Inputs<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Define top-level inputs that any step in the sequence can reference.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Loop<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Loop pattern iterates over a specific task or assistant until a certain condition is met, or until a maximum number of iterations is reached. This is useful for tasks that require refinement, validation, or processing multiple items in a list.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Agent Configuration<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>General Settings<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Display Name:<\/strong> A friendly name shown for the chat status.<\/li>\n\n\n\n<li><strong>Description:<\/strong> The purpose of this looping agent.<\/li>\n\n\n\n<li><strong>Max Iterations:<\/strong> A failsafe limit defining the maximum number of times the loop is allowed to run to prevent infinite looping.<\/li>\n\n\n\n<li><strong>Final Output Variable:<\/strong> The specific scope variable that will hold the ultimate result once the loop finishes executing.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Context Management<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Share Memory:<\/strong> Retain conversation history across loop iterations.<\/li>\n\n\n\n<li><strong>Summarize Content:<\/strong> Summarize the context between iterations.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Global Inputs<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Define top-level inputs that the looping assistant can reference.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Conditional<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Conditional pattern utilizes standard IF\/THEN logic. It evaluates a specific condition or variable, and routes the workflow down different paths depending on the outcome (e.g., <em>If &#8216;User Type&#8217; is &#8216;Admin&#8217;, go to Assistant A; Else, go to Assistant B<\/em>).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Agent Configuration<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>General Settings<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Display Name:<\/strong> A friendly name shown for the chat status.<\/li>\n\n\n\n<li><strong>Description:<\/strong> The purpose of this conditional agent.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Context Management<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Share Memory:<\/strong> Ensure all potential paths share the conversation history.<\/li>\n\n\n\n<li><strong>Summarize Content:<\/strong> Summarize context before passing it down the decided path.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Global Inputs<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Define top-level inputs that the conditional logic and subsequent sub-assistants can reference.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Scale your capabilities with AI Agents. Instead of relying on a single AI Assistant to handle every request, learn how to orchestrate multiple specialized assistants together to build powerful, multi-step workflows and handle complex user requests with ease.<\/p>\n","protected":false},"author":1,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[332],"ht-kb-tag":[330],"class_list":["post-15175","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-end-user-ai","ht_kb_tag-runtime-ai"],"_links":{"self":[{"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb\/15175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/comments?post=15175"}],"version-history":[{"count":6,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb\/15175\/revisions"}],"predecessor-version":[{"id":15206,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb\/15175\/revisions\/15206"}],"wp:attachment":[{"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/media?parent=15175"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb-category?post=15175"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb-tag?post=15175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}