{"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-08-05T16:02:20","modified_gmt":"2026-08-05T21:02:20","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 class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"m-Power Tutorial: AI Assistants and Agents\" width=\"643\" height=\"362\" src=\"https:\/\/www.youtube.com\/embed\/hP4lY08WSag?start=210&amp;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a8bba5b6a6c4&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a8bba5b6a6c4\" 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 designed to handle complex, multi-part requests. It breaks the user&#8217;s prompt into smaller tasks, delegates those tasks to multiple specialized assistants, gathers all of their responses, and compiles them into one cohesive final answer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Example:<\/strong> A user asks, <em>&#8220;How did Q3 revenue impact our hiring budget, and what is the new policy for Q4?&#8221;<\/em> The Supervisor sends the revenue question to an assistant using a retrieval tool function, sends the policy question to the HR knowledge base, waits for both of their answers to come back to the supervisor, and the supervisor then writes a single, combined summary for the user.<\/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\">Unlike the Supervisor, a <strong>Router<\/strong> agent acts as a traffic controller that performs a <em>single hand-off<\/em>. Instead of breaking a prompt apart, it evaluates the user&#8217;s initial request to determine their overall intent, and forwards the entire conversation to a <em>single<\/em> specialized assistant. Once the user is routed, the chosen assistant takes over completely to deliver the answer, and the Router&#8217;s job is done.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Example:<\/strong> A user asks, <em>&#8220;What is our Q3 revenue?&#8221;<\/em> The Router recognizes this is a financial question, sends the user directly to the appropriate financial assistant, and steps aside. The financial assistant fetches the data and replies directly to the user.<\/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":8,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb\/15175\/revisions"}],"predecessor-version":[{"id":15282,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb\/15175\/revisions\/15282"}],"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}]}}