Microsoft Foundry Blog

Blog Post

Microsoft Foundry Blog Microsoft Foundry 博客
11 MIN READ

Stop Letting Agents Run the Workflow别再让智能体掌控工作流了

Kalaivanan's avatar
KalaivananKalaivanan
Icon for Microsoft rankMicrosoft
Sep 01, 2026

A design pattern for deterministic multi-agent automation on Microsoft Foundry一种在 Microsoft Foundry 上实现确定性多智能体自动化的设计模式

A user submits a ticket: "Please grant temporary admin access to the finance reporting database for month-end close."用户提交了一个工单:“请授予我财务报表数据库的临时管理员权限,以便进行月末结账。”

A five-agent system handles it beautifully. A triage agent classifies the request. A policy agent checks entitlements. An approval agent decides a manager needs to sign off. An execution agent calls the identity API. A communication agent updates the ticket. The demo gets applause.一个由五个智能体组成的系统出色地处理了这一请求。分流智能体对请求进行分类;策略智能体检查授权;审批智能体判定需要经理签字;执行智能体调用身份 API;通信智能体更新工单。演示获得了阵阵掌声。

Three weeks into production, the same system grants a contractor standing admin access to a production finance database for 30 days instead of 8 hours because the classifier read "month-end close" as a recurring need, the approval agent inferred consent from an earlier message that said "manager aware," and the execution agent filled in a duration parameter the payload never specified.上线三周后,同一个系统却将生产环境财务数据库的长期管理员权限授予了一名承包商,期限为 30 天而非 8 小时。原因在于:分类器将“月末结账”误读为周期性需求,审批智能体从一条写着“经理已知晓”的旧消息中推断出同意,而执行智能体则擅自填补了一个载荷中并未指定的持续时间参数。

Nothing hallucinated. Every agent did roughly what it was asked. The system still failed, because no single component owned the process.并没有产生幻觉。每个智能体都基本完成了被要求的工作。但系统依然失败了,因为没有单一组件能够掌控整个流程。

This is the most common way enterprise multi-agent systems fail, and it is not a model problem. It is an architecture problem. This article describes the pattern I use to prevent it:这是企业级多智能体系统最常见的失败方式,且这并非模型问题,而是架构问题。本文将介绍我用来防止此类问题的模式:

Deterministic Spine, Agentic Leaves - Use deterministic workflow control for the business process. Use agents only as bounded workers inside controlled steps.
确定性骨干,智能体叶片 —— 针对业务流程使用确定性的工作流控制,仅在受控步骤内将智能体作为有边界的执行者。

This is not an observability pattern that helps you find the failure afterwards. It is a design-time pattern that makes the failure unrepresentable.这不是一种事后帮助你排查故障的可观测性模式,而是一种在设计阶段就让故障“无法发生”的模式。

What you'll get from this article: a diagnostic for whether your system has this problem, the four-layer pattern, a reference architecture on Microsoft Foundry, the schema contracts that make it enforceable, and a six-step implementation checklist.本文将为你提供:一套用于诊断系统是否存在此类问题的方案、四层架构模式、Microsoft Foundry 上的参考架构、使其可强制执行的模式契约,以及一份六步实施清单。

1. The failure mode: the agent quietly becomes the process owner1. 故障模式:智能体悄然成为流程所有者

Dangerous multi-agent systems rarely fail loudly. They usually look like they are working.危险的多智能体系统很少会大张旗鼓地失败。它们看起来通常都在正常工作。

A ticket gets created. A handoff happens. A subagent responds. A tool is called. The workflow advances. But the path is not guaranteed. The next step depends on what the model decided in that moment, based on prompt wording, context window contents, prior messages, tool descriptions, and sometimes stale state.工单创建,任务移交,子智能体响应,工具被调用,工作流推进。但路径并非得到保证。下一步取决于模型在当时所做的决定,而这又基于提示词的措辞、上下文窗口内容、先前的消息、工具描述,有时甚至基于过时的状态。

Run the same request twice and you can get two different process paths. In a brainstorming assistant, that is a feature. In an approval workflow, it is an unlogged control failure.运行同一个请求两次,你可能会得到两条完全不同的处理路径。在头脑风暴助手里,这是一种特性;但在审批工作流中,这就是一次未被记录的控制失效。

The specific failure modes are operational, not semantic:具体的故障模式是操作层面的,而非语义层面的:

Failure mode

What it looks like in production

Misclassification cascade

A wrong label at intake silently changes every downstream decision

Inferred approval

The model treats conversational context as an approval record

Parameter drift

The right API is called with a wrong or invented value

Concurrent writes

Two agents update the same record, producing inconsistent audit history

Retry amplification

A replayed action creates duplicate approvals, tasks, or grants

Circular delegation

Agents hand off to each other without converging

Silent subagent failure

A leaf fails, returns prose, and the parent proceeds anyway

Bypassed parent

A subagent replies directly to the user, creating an unapproved side path

None of these are hallucinations. All of them are workflow-control problems. They happen because the system has no single deterministic owner of state, transitions, permissions, and irreversible actions.这些都不是幻觉,全部属于工作流控制问题。它们之所以发生,是因为系统在状态、转换、权限和不可逆操作方面没有单一的确定性所有者。

A quick diagnostic快速诊断

Ask these four questions about any agentic system you are about to ship:在你准备发布任何智能体系统前,请问自己这四个问题:

  1. If I run the same request 100 times, is the sequence of business states identical every time?如果我运行 100 次同样的请求,业务状态的序列每次都完全一致吗?
  2. Can I name the one component that decides whether a transition is allowed?我能否指出那个决定转换是否被允许的单一组件?
  3. Is approval a blocking gate in code, or an instruction in a prompt?审批是一个代码中的阻塞门,还是提示词中的一条指令?
  4. If a tool call is replayed, does the business system change twice?如果重放一次工具调用,业务系统会发生两次变更吗?

If any answer makes you uncomfortable, the model is not your risk. Your control plane is.如果任何一个答案让你感到不安,那么风险不在于模型,而在于你的控制平面。

2. Microsoft's guidance already draws this line2. Microsoft 的指南早已划定了这条界线

This is not a contrarian take. It is the documented design distinction in Microsoft Agent Framework.这并非标新立异,而是 Microsoft Agent Framework 中明确的设计区分。

The framework separates two things deliberately. Agents are for open-ended work: the task is conversational, you need autonomous tool use and planning, and a single model call with tools is sufficient. Workflows are for defined processes: the steps are well-defined, you need explicit control over execution order, and multiple agents or functions must coordinate. As the documentation puts it, Agent Framework workflows "define explicit, inspectable execution paths for coordinating code, agents, state, events, and human input."该框架刻意将两者分开。智能体适用于开放式工作:任务是对话式的,需要自主的工具使用和规划,且单次模型调用配合工具即可完成。工作流适用于定义明确的流程:步骤界定清晰,需要对执行顺序进行显式控制,且必须协调多个智能体或函数。正如文档所述,Agent Framework 工作流“为协调代码、智能体、状态、事件和人工输入定义了显式且可检查的执行路径”。

Explicit and inspectable are the two words that matter for regulated enterprise processes.对于受监管的企业流程而言,“显式”和“可检查”是两个至关重要的词。

The wider industry has converged on the same boundary, which is a useful signal that this is architectural rather than vendor-specific. Anthropic distinguishes workflows, "where LLMs and tools are orchestrated through predefined code paths," from agents, "where LLMs dynamically direct their own processes and tool usage." LangGraph's documentation states that "workflows have predetermined code paths and are designed to operate in a certain order" while "agents are dynamic and define their own processes and tool usage." OpenAI's orchestration guidance separates handoffs, where control moves to a specialist, from agents as tools, where a manager retains ownership and calls specialists as bounded capabilities.整个行业已经就这一界线达成了共识,这有力地证明了这是一个架构问题而非特定厂商的问题。Anthropic 将工作流(“通过预定义代码路径编排 LLM 和工具”)与智能体(“LLM 动态指导其自身流程和工具使用”)区分开来。LangGraph 的文档指出,“工作流具有预定的代码路径,旨在按特定顺序运行”,而“智能体是动态的,定义自己的流程和工具使用”。OpenAI 的编排指南将移交(控制权转移给专家)与作为工具的智能体(经理保留所有权并调用专家作为有边界的能力)分离开来。

Four independent teams, one conclusion: when the process must be trusted, the process must be predetermined.四个独立的团队,得出了同一个结论:当流程必须被信任时,流程就必须是预先确定的。

The design decision follows directly:设计决策随之产生:

Use agents for intelligence. Use workflows for control. Use policy for authority. Use tools for execution.使用智能体实现智能化。使用工作流实现控制。使用策略实现权限。使用工具实现执行。

3. The pattern3. 这种模式

The core idea fits in one sentence:核心理念一句话即可概括:

The business process is a state machine. Agents are workers inside the states.业务流程是状态机。智能体是状态内的执行者。

The deterministic spine owns workflow state, allowed transitions, approval boundaries, retry behaviour, idempotency, timeouts, tool execution, audit events, and final action authority.确定性骨干负责工作流状态、允许的转换、审批边界、重试行为、幂等性、超时、工具执行、审计事件以及最终的操作权限。

The agentic leaves do bounded reasoning work: classify, extract, summarise, recommend, draft, compare, validate, explain, enrich.智能体叶片负责有边界的推理工作:分类、提取、总结、推荐、起草、比较、验证、解释、丰富。

The boundary is absolute:边界是绝对的:

  • An agent can recommend the next step. It cannot move the workflow.智能体可以推荐下一步,但不能推动工作流。
  • An agent can draft an approval summary. It cannot approve.智能体可以起草审批摘要,但不能进行审批。
  • An agent can prepare an API payload. It cannot execute it.智能体可以准备 API 载荷,但不能执行它。
  • An agent can identify a missing control. It cannot invent one.Figure 1. Deterministic Spine, Agentic Leaves. Agent leaves return structured contracts into states; they never advance the state themselves. Policy and approval gates sit before every irreversible action.智能体可以识别缺失的控制点,但不能凭空创造一个。图 1:确定性骨干,智能体叶片。智能体叶片将结构化的契约返回给状态;它们自身绝不推进状态。策略和审批门禁位于每次不可逆操作之前。

This is the difference between AI automation and agentic business process engineering.这就是 AI 自动化与智能体业务流程工程之间的区别。

4. Implementing it on Microsoft Foundry4. 在 Microsoft Foundry 上实施

Microsoft Foundry gives you the building blocks. The architecture decision is how you assemble them. Resist the instinct to build one "super agent" that owns everything, and implement four layers instead.Microsoft Foundry 提供了构建块。架构决策在于你如何组装它们。抵制构建一个掌控一切的“超级智能体”的本能,转而实施四层架构。

Figure 2.图 2。 Reference architecture on Microsoft Foundry. Foundry agents are bounded leaf workers; a workflow runtime is the deterministic spine; policy gates precede approval and execution; and controlled tools are the only path to a business system.Microsoft Foundry 上的参考架构。Foundry 智能体是有边界的叶片执行者;工作流运行时是确定性骨干;策略门禁位于审批和执行之前;受控工具是通往业务系统的唯一路径。图 2:Microsoft Foundry 上的参考架构。Foundry 智能体是有边界的叶片执行者;工作流运行时是确定性骨干;策略门禁位于审批和执行之前;受控工具是通往业务系统的唯一路径。

Layer 1: The workflow spine第一层:工作流骨干

This is the deterministic owner of the process. Implement it with Microsoft Agent Framework workflows, Azure Logic Apps, Durable Functions, or another deterministic orchestration runtime, depending on your engineering model.这是流程的确定性所有者。根据你的工程模型,使用 Microsoft Agent Framework 工作流、Azure Logic Apps、Durable Functions 或其他确定性编排运行时来实现它。

One architectural principle matters more than the specific runtime: the design centre should be a versioned workflow definition or a code-first orchestration layer, something you can diff, review, test, and roll back. Visual authoring surfaces are excellent for prototyping, but authoring surfaces evolve and get deprecated. A workflow definition under source control survives that; a canvas-only design does not.有一个架构原则比具体的运行时更重要:设计中心应当是版本化的工作流定义或代码优先的编排层,即你可以进行差异对比、审查、测试和回滚的内容。可视化创作界面非常适合原型设计,但创作界面会演进并被弃用。受源代码版本控制的工作流定义可以长久存续;仅基于画布的设计则不然。

Define your states explicitly:显式定义你的状态:

Submitted → Classified → PolicyChecked → ApprovalRequired → Approved → PayloadPrepared → Executed → Verified → Closed, plus Rejected and Exception.已提交 → 已分类 → 已策略检查 → 需审批 → 已批准 → 已准备载荷 → 已执行 → 已验证 → 已关闭,外加“已拒绝”和“异常”状态。

Then give every transition a deterministic guard:然后为每个转换设置一个确定性的守卫(Guard):

Submitted → Classified
  requires: classification_result.schema_valid == true

Classified → ApprovalRequired
  requires: risk == "high" OR action_type == "privileged_access"

ApprovalRequired → Approved
  requires: approval.status == "approved"
            AND approval.approver_id is valid
            AND approval.timestamp exists

Approved → Executed
  requires: idempotency_key exists
            AND execution_lock acquired
            AND payload.validated == true

The workflow owns these transitions. Not the agent.工作流拥有这些转换,而不是智能体。

Layer 2: Bounded agent leaves第二层:有边界的智能体叶片

Each leaf does exactly one job, with one narrow context and the minimum permissions to do it.每个叶片只做一件事,拥有一个狭窄的上下文和执行任务所需的最小权限。

Agent leaf

Allowed responsibility

Explicitly not allowed

Intake classifier

Classify the ticket and extract fields

Approve or execute

Policy explainer

Explain why a policy applies

Override the policy

Payload drafter

Produce a structured JSON payload

Call the API directly

Exception summarizer

Summarize a failure for human review

Retry execution independently

Closure writer

Draft the final ticket update

Change workflow state

In Foundry these can be prompt agents when the task is configuration-driven, or hosted code agents when you need custom logic, state handling, or a specific execution model while still using Foundry models and tools.在 Foundry 中,当任务由配置驱动时,这些可以是提示词智能体;当你需要自定义逻辑、状态处理或特定执行模型,同时仍使用 Foundry 模型和工具时,可以使用托管代码智能体。

The contract is the control. Any leaf whose output feeds the spine must return structured, schema-validated output, never free-form prose:契约即控制。任何输出接入骨干的叶片都必须返回结构化、经过模式验证的输出,绝不能是自由格式的文本:

{
  "request_type": "privileged_access",
  "business_justification_present": true,
  "target_system": "finance_reporting_database",
  "requested_duration_hours": 8,
  "risk_level": "high",
  "requires_human_approval": true,
  "confidence": 0.91,
  "missing_fields": []
}

The workflow validates that schema. If validation fails, the workflow requests clarification or routes to exception handling. It does not let the agent improvise. The rule is simple: if the spine cannot validate the output, that output cannot influence the next transition.工作流会验证该模式。如果验证失败,工作流会请求澄清或路由到异常处理。它不允许智能体临场发挥。规则很简单:如果骨干无法验证输出,该输出就不能影响下一次转换。

Layer 3: Policy and guardrail gates第三层:策略和护栏门禁

Business policy and AI safety are different controls, and conflating them is a recurring design error.业务策略和 AI 安全是不同的控制点,将它们混为一谈是一个反复出现的设计错误。

Foundry guardrails and controls address AI safety and security risks: unsafe content, prompt injection, personal information exposure with intervention points at user input, model output, and, for agents, tool call and tool response. Foundry 护栏和控制措施解决了 AI 安全和合规风险:不安全内容、提示词注入、个人信息泄露,并在用户输入、模型输出以及智能体的工具调用和响应处设置了干预点。

But do not encode enterprise approval logic in prompts or safety filters. Business policy belongs in deterministic controls: Azure Policy, policy-as-code, a rules engine, service catalogue rules, entitlement policies, an approval matrix, ITSM workflow rules, or domain APIs.但不要将企业审批逻辑编码在提示词或安全过滤器中。业务策略属于确定性控制范畴:Azure Policy、策略即代码、规则引擎、服务目录规则、授权策略、审批矩阵、ITSM 工作流规则或领域 API。

The policy gate answers questions a model should never be trusted to answer alone:策略门禁回答了那些模型绝不应被信任单独回答的问题:

  • Can this request proceed without approval?此请求能否在未经审批的情况下继续?
  • Who is allowed to approve it?谁有权批准它?
  • Is this action permitted for this user?此操作对该用户是否被允许?
  • Is the target resource in scope, and the duration within policy?目标资源是否在范围内,持续时间是否符合策略?
  • Is this a break-glass scenario?这是一个紧急情况(break-glass)场景吗?

An agent can explain the policy. The policy system decides.智能体可以解释策略,但由策略系统来决定。

Layer 4: The controlled action plane第四层:受控操作平面

This is where real-world change happens, so this is where the architecture must be strictest. Granting access, closing incidents, updating records, triggering deployments, approving procurement, all of it goes through controlled tools, never through free-form agent autonomy.这是现实世界发生变更的地方,因此架构必须最为严格。授予权限、关闭事件、更新记录、触发部署、批准采购,所有这些都必须通过受控工具进行,绝不能通过自由格式的智能体自主行为完成。

Foundry Agent Service supports built-in tools, custom functions, and MCP servers, with authentication via key-based access, Microsoft Entra managed identity, OAuth On-Behalf-Of, or unauthenticated access where appropriate.Foundry Agent Service 支持内置工具、自定义函数和 MCP 服务器,通过基于密钥的访问、Microsoft Entra 托管身份、OAuth On-Behalf-Of 或适当的非认证访问进行身份验证。

Wrap every action in a tool that enforces an explicit input schema, required fields, an idempotency key, caller identity, an approval reference, a correlation ID, a retry policy, a timeout, and deterministic success/failure responses.将每个操作封装在一个工具中,该工具强制执行显式的输入模式、必填字段、幂等性密钥、调用者身份、审批引用、关联 ID、重试策略、超时设置以及确定性的成功/失败响应。

The execution tool must reject this:执行工具必须拒绝这种情况:

{
  "action": "grant access",
  "details": "finance database admin for a while"
}

And require this:并要求这种格式:

{
  "ticket_id": "INC1234567",
  "request_id": "REQ98765",
  "target_system_id": "finance-reporting-db-prod",
  "principal_id": "user-guid",
  "role_id": "temporary-admin",
  "duration_hours": 8,
  "approval_id": "APR456789",
  "idempotency_key": "REQ98765-finance-reporting-db-prod-temporary-admin",
  "requested_by": "user-guid",
  "approved_by": "manager-guid"
}

If the payload is incomplete, the tool rejects it. The agent does not get a second chance to guess.如果载荷不完整,工具会拒绝它。智能体没有第二次猜测的机会。

Make tools boring and strict: validate input, reject ambiguity, return structured errors, enforce authorization, support idempotency, log correlation IDs, and never infer missing business data. Enterprise reliability is won here, in unglamorous code.让工具变得枯燥而严格:验证输入、拒绝歧义、返回结构化错误、强制执行授权、支持幂等性、记录关联 ID,并且绝不推断缺失的业务数据。企业可靠性正是赢在这些平淡无奇的代码中。

5. Five design mistakes to correct now5. 现在需要纠正的五个设计错误

Most failed multi-agent prototypes are not under-instrumented. They are under-designed. The five most common corrections:大多数失败的多智能体原型并非缺乏监测,而是设计不足。以下是五个最常见的修正建议:

The common approach

The correction

Start with agents and ask "how do we make them collaborate?"

Start with the business process and ask "where is autonomy actually safe?"

Add a supervisor agent and rely on instructions to enforce control

Add a deterministic workflow; let agents operate only inside explicit boundaries

Give several agents overlapping tools and shared context

Give each agent a narrow job, minimum context, minimum permissions, one typed contract

Rely on "the model should know when to ask for approval"

Make approval a transition guard that cannot be bypassed

Treat tool calls as agent actions

Treat tool calls as controlled business operations with schemas, idempotency, and policy checks

Add a specialist agent only when it materially improves capability isolation, policy isolation, prompt clarity, or trace legibility: not simply because a task can be split.仅在确实能改善能力隔离、策略隔离、提示词清晰度或追踪可读性时才添加专家智能体,而不是仅仅因为任务可以拆分就添加。

6. A six-step implementation checklist6. 六步实施清单

  1. Map the process before you name a single agent. For every step, classify it and assign an owner:

    Step type

    Example

    Owner

    Deterministic

    Check the approval matrix

    Workflow spine

    Agentic

    Classify the ticket

    Agent leaf

    Human

    Approve privileged access

    Approver

    Action

    Grant access

    Controlled tool

    Verification

    Confirm access expires

    Workflow spine

    If a step must be reproducible, auditable, or policy-bound, it belongs in the spine.如果一个步骤必须是可重现、可审计或受策略约束的,它就属于骨干层。

  2. Define the state object explicitly. Every workflow needs durable, inspectable state:显式定义状态对象。每个工作流都需要持久且可检查的状态:

    {
      "workflow_id": "",
      "ticket_id": "",
      "current_state": "",
      "request_type": "",
      "risk_level": "",
      "required_approvals": [],
      "approval_status": "",
      "action_payload": {},
      "execution_status": "",
      "verification_status": "",
      "exception_reason": "",
      "correlation_id": ""
    }
    

    No agent should hold private state that determines the business outcome.任何智能体都不应持有决定业务结果的私有状态。

  3.  Make every agent contract testable. For each leaf, specify the input schema, output schema, allowed tools, forbidden actions, confidence handling, error behaviour, and escalation behaviour, then build an evaluation set per leaf, not per system.使每个智能体契约都可测试。对于每个叶片,指定输入模式、输出模式、允许的工具、禁止的操作、置信度处理、错误行为和升级行为,然后为每个叶片(而非每个系统)构建一套评估集。
  4. Put approval before execution, not after explanation. Human-in-the-loop is not a courteous notification after the fact; it is a blocking gate before sensitive execution. Agent Framework orchestrations support this through approval-required tools and request-info interactions. Use it for privileged access, production changes, financial approvals, customer-impacting actions, security exceptions, external communications, and any irreversible update.将审批置于执行之前,而非解释之后。人工介入(Human-in-the-loop)不是事后礼貌的通知,而是敏感执行前的阻塞门禁。Agent Framework 编排通过“需审批工具”和“请求信息交互”支持这一点。请将其用于特权访问、生产变更、财务审批、影响客户的操作、安全例外、外部通信以及任何不可逆的更新。
  5. Verify against the system of record. A successful API response is not proof. Read the state back and confirm the change matches intent, including that time-bound access actually expires.根据记录系统进行验证。成功的 API 响应不是证明。回读状态并确认变更符合意图,包括确保有时限的访问权限确实会过期。
  6. Choose the implementation path by risk, not by how "agentic" it feels. 

    Requirement

    Recommended path

    Simple bounded agent on a managed runtime

    Foundry prompt agent

    Custom agent logic or framework code

    Agent Framework with Foundry models and tools

    Code-first production orchestration

    Agent Framework workflow on managed compute

    Visual business-process orchestration

    Azure Logic Apps calling Foundry agents

    Cross-agent interoperability

    Agent-to-agent delegation where lightweight handoff is sufficient

    Enterprise safety controls

    Foundry guardrails plus deterministic policy gates

7. The production boundary7. 生产边界

The next generation of enterprise automation will not be won by the team with the most agents. It will be won by the team that knows where not to use one.下一代企业自动化不会由拥有最多智能体的团队获胜,而是由知道在何处不使用智能体的团队获胜。

Multi-agent systems are genuinely powerful when they decompose expertise. They become dangerous when they replace workflow control. For tickets, approvals, onboarding, incident response, procurement, and finance operations, the boundary has to be explicit:多智能体系统在分解专业知识时确实非常强大。但当它们取代工作流控制时,就会变得危险。对于工单、审批、入职、事件响应、采购和财务运营,边界必须是显式的:

**The workflow owns the process.**工作流拥有流程。

The policy owns the permission.策略拥有权限。

The tool owns the action.工具拥有操作。

The agent owns only the reasoning task it was explicitly assigned.**智能体只拥有被明确分配的推理任务。**

That is the production boundary. That is how multi-agent automation becomes safe enough for enterprise scale.这就是生产边界。这就是多智能体自动化如何变得足以满足企业规模需求的方式。

And that is the shift customers need now, not more autonomous agents, but controlled autonomy: deterministic where the business requires trust, agentic where intelligence creates value.这正是客户现在需要的转变:不是更多的自主智能体,而是受控的自主性——在业务需要信任的地方保持确定性,在智能创造价值的地方发挥智能体作用。

Try it this week本周尝试一下

Pick one workflow you have already automated with agents, and do three things:挑选一个你已经用智能体自动化的工作流,并做三件事:

  1. Draw its state machine on one page. If you cannot, the process has no owner.在一页纸上画出它的状态机。如果做不到,说明该流程没有所有者。
  2. Find every irreversible action and confirm a deterministic guard sits in front of it — in code, not in a prompt.找到每一个不可逆的操作,并确认其前方有一个确定性的守卫——是在代码中,而不是在提示词里。
  3. Replay one tool call twice in a test environment. If the business system changes twice, add an idempotency key today.在测试环境中重放一次工具调用两次。如果业务系统发生了两次变更,请立即添加幂等性密钥。

Then build it properly:然后正确地构建它:

  • Microsoft Foundry — learn.microsoft.com/azure/foundryMicrosoft Foundry — learn.microsoft.com/azure/foundry
  • Foundry Agent Service overview — learn.microsoft.com/azure/foundry/agents/overviewFoundry Agent Service 概览 — learn.microsoft.com/azure/foundry/agents/overview
  • Microsoft Agent Framework — learn.microsoft.com/agent-framework · github.com/microsoft/agent-frameworkMicrosoft Agent Framework — learn.microsoft.com/agent-framework · github.com/microsoft/agent-framework
  • Orchestration patterns — sequential, concurrent, handoff, group chat, magentic编排模式 — 顺序、并发、移交、群聊、magentic
  • Human-in-the-loop workflows — learn.microsoft.com/agent-framework/workflows/human-in-the-loop人工介入工作流 — learn.microsoft.com/agent-framework/workflows/human-in-the-loop
  • Guardrails and controls in Foundry — learn.microsoft.com/azure/foundry/guardrailsFoundry 中的护栏和控制 — learn.microsoft.com/azure/foundry/guardrails
  • AI agent orchestration patterns (Azure Architecture Center) — learn.microsoft.com/azure/architecture/ai-ml/guide/ai-agent-design-patternsAI 智能体编排模式 (Azure 架构中心) — learn.microsoft.com/azure/architecture/ai-ml/guide/ai-agent-design-patterns

I'd like to hear from you. If you have shipped a multi-agent workflow into production, tell me in the comments where you drew the line between the spine and the leaves, and where that line turned out to be in the wrong place.我很想听听你的想法。如果你已经将多智能体工作流投入生产,请在评论中告诉我你在哪里划定了骨干与叶片的界线,以及那条线后来被证明在什么地方放错了位置。

 

Updated Aug 28, 20262026 年 8 月 28 日更新于 2026 年 8 月 28 日
Version 1.0版本 1.0
"}},"componentScriptGroups({\"componentId\":\"custom.widget.SocialSharing\"})":{"__typename":"ComponentScriptGroups","scriptGroups":{"__typename":"ComponentScriptGroupsDefinition","afterInteractive":{"__typename":"PageScriptGroupDefinition","group":"AFTER_INTERACTIVE","scriptIds":[]},"lazyOnLoad":{"__typename":"PageScriptGroupDefinition","group":"LAZY_ON_LOAD","scriptIds":[]}},"componentScripts":[]},"component({\"componentId\":\"custom.widget.MicrosoftFooter\"})":{"__typename":"Component","render({\"context\":{\"component\":{\"entities\":[],\"props\":{}},\"page\":{\"entities\":[\"message:4550068\"],\"name\":\"BlogMessagePage\",\"props\":{},\"url\":\"https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/stop-letting-agents-run-the-workflow/4550068\"}}})":{"__typename":"ComponentRenderResult","html":"
"}},"componentScriptGroups({\"componentId\":\"custom.widget.MicrosoftFooter\"})":{"__typename":"ComponentScriptGroups","scriptGroups":{"__typename":"ComponentScriptGroupsDefinition","afterInteractive":{"__typename":"PageScriptGroupDefinition","group":"AFTER_INTERACTIVE","scriptIds":[]},"lazyOnLoad":{"__typename":"PageScriptGroupDefinition","group":"LAZY_ON_LOAD","scriptIds":[]}},"componentScripts":[]},"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/community/NavbarDropdownToggle\"]})":[{"__ref":"CachedAsset:text:en_US-components/community/NavbarDropdownToggle-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageCoverImage\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageCoverImage-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/nodes/NodeTitle\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/nodes/NodeTitle-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageTimeToRead\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageTimeToRead-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageSubject\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageSubject-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/users/UserLink\"]})":[{"__ref":"CachedAsset:text:en_US-components/users/UserLink-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/users/UserRank\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/users/UserRank-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageTime\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageTime-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageBody\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageBody-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageCustomFields\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageCustomFields-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageRevision\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageRevision-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/common/QueryHandler\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/common/QueryHandler-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/tags/TagList\"]})":[{"__ref":"CachedAsset:text:en_US-components/tags/TagList-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageReplyButton\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageReplyButton-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageAuthorBio\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageAuthorBio-1787924119327"}],"coreNode({\"id\":\"community:gxcuf89792\"})":{"__ref":"Community:community:gxcuf89792"},"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/users/UserAvatar\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/users/UserAvatar-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/ranks/UserRankLabel\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/ranks/UserRankLabel-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"components/users/UserRegistrationDate\"]})":[{"__ref":"CachedAsset:text:en_US-components/users/UserRegistrationDate-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/nodes/NodeAvatar\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/nodes/NodeAvatar-1787924119327"}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/nodes/NodeDescription\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/nodes/NodeDescription-1787924119327"}],"customFieldDefinitions({\"fieldNames\":[\"blogScoreGradeResponse\"]})":[{"__typename":"CustomFieldDefinitionResource","definition":{"__typename":"CustomFieldDefinition","name":"blogScoreGradeResponse","viewable":false}}],"cachedText({\"lastModified\":\"1787924119327\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/nodes/NodeIcon\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/nodes/NodeIcon-1787924119327"}]},"Theme:customTheme1":{"__typename":"Theme","id":"customTheme1"},"Rank:rank:-1":{"__typename":"Rank","id":"rank:-1","position":100,"name":"Not applicable","color":null,"icon":null,"rankStyle":"TEXT"},"User:user:-1":{"__typename":"User","id":"user:-1","entityType":"USER","eventPath":"community:gxcuf89792/user:-1","uid":-1,"login":"Deleted","email":"","avatar":null,"rank":{"__ref":"Rank:rank:-1"},"kudosWeight":1,"registrationData":{"__typename":"RegistrationData","status":"ANONYMOUS","registrationTime":null,"confirmEmailStatus":false,"registrationAccessLevel":"VIEW","ssoRegistrationFields":[]},"ssoId":null,"profileSettings":{"__typename":"ProfileSettings","dateDisplayStyle":{"__typename":"InheritableStringSettingWithPossibleValues","key":"layout.friendly_dates_enabled","value":"false","localValue":"true","possibleValues":["true","false"]},"dateDisplayFormat":{"__typename":"InheritableStringSetting","key":"layout.format_pattern_date","value":"MMM dd yyyy","localValue":"MM-dd-yyyy"},"language":{"__typename":"InheritableStringSettingWithPossibleValues","key":"profile.language","value":"en-US","localValue":null,"possibleValues":["en-US","es-ES"]},"repliesSortOrder":{"__typename":"InheritableStringSettingWithPossibleValues","key":"config.user_replies_sort_order","value":"DEFAULT","localValue":"DEFAULT","possibleValues":["DEFAULT","LIKES","PUBLISH_TIME","REVERSE_PUBLISH_TIME"]}},"deleted":false},"CachedAsset:pages-1787012361875":{"__typename":"CachedAsset","id":"pages-1787012361875","value":[{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"BlogViewAllPostsPage","type":"BLOG","urlPath":"/category/:categoryId/blog/:boardId/all-posts/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"CasePortalPage","type":"CASE_PORTAL","urlPath":"/caseportal","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"CreateGroupHubPage","type":"GROUP_HUB","urlPath":"/groups/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"CaseViewPage","type":"CASE_DETAILS","urlPath":"/case/:caseId/:caseNumber","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"InboxPage","type":"COMMUNITY","urlPath":"/inbox","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"HelpFAQPage","type":"COMMUNITY","urlPath":"/help","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"IdeaMessagePage","type":"IDEA_POST","urlPath":"/idea/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"IdeaViewAllIdeasPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId/all-ideas/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"LoginPage","type":"USER","urlPath":"/signin","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"WorkstreamsPage","type":"COMMUNITY","urlPath":"/workstreams","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"BlogPostPage","type":"BLOG","urlPath":"/category/:categoryId/blogs/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"UserBlogPermissions.Page","type":"COMMUNITY","urlPath":"/c/user-blog-permissions/page","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ThemeEditorPage","type":"COMMUNITY","urlPath":"/designer/themes","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"TkbViewAllArticlesPage","type":"TKB","urlPath":"/category/:categoryId/kb/:boardId/all-articles/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1730819800000,"localOverride":null,"page":{"id":"AllEvents","type":"CUSTOM","urlPath":"/Events","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"OccasionEditPage","type":"EVENT","urlPath":"/event/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"OAuthAuthorizationAllowPage","type":"USER","urlPath":"/auth/authorize/allow","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"PageEditorPage","type":"COMMUNITY","urlPath":"/designer/pages","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"PostPage","type":"COMMUNITY","urlPath":"/category/:categoryId/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"CreateUserGroup.Page","type":"COMMUNITY","urlPath":"/c/create-user-group/page","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ForumBoardPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"TkbBoardPage","type":"TKB","urlPath":"/category/:categoryId/kb/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"EventPostPage","type":"EVENT","urlPath":"/category/:categoryId/events/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"UserBadgesPage","type":"COMMUNITY","urlPath":"/users/:login/:userId/badges","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"GroupHubMembershipAction","type":"GROUP_HUB","urlPath":"/membership/join/:nodeId/:membershipType","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"MaintenancePage","type":"COMMUNITY","urlPath":"/maintenance","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"IdeaReplyPage","type":"IDEA_REPLY","urlPath":"/idea/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"UserSettingsPage","type":"USER","urlPath":"/mysettings/:userSettingsTab","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"GroupHubsPage","type":"GROUP_HUB","urlPath":"/groups","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ForumPostPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"OccasionRsvpActionPage","type":"OCCASION","urlPath":"/event/:boardId/:messageSubject/:messageId/rsvp/:responseType","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"VerifyUserEmailPage","type":"USER","urlPath":"/verifyemail/:userId/:verifyEmailToken","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"AllOccasionsPage","type":"OCCASION","urlPath":"/category/:categoryId/events/:boardId/all-events/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"EventBoardPage","type":"EVENT","urlPath":"/category/:categoryId/events/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"TkbReplyPage","type":"TKB_REPLY","urlPath":"/kb/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"IdeaBoardPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1779272387000,"localOverride":null,"page":{"id":"GroupHubAnalytics.Page","type":"CUSTOM","urlPath":"/group-analytics","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"CommunityGuideLinesPage","type":"COMMUNITY","urlPath":"/communityguidelines","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"CaseCreatePage","type":"SALESFORCE_CASE_CREATION","urlPath":"/caseportal/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"TkbEditPage","type":"TKB","urlPath":"/kb/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ForgotPasswordPage","type":"USER","urlPath":"/forgotpassword","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"IdeaEditPage","type":"IDEA","urlPath":"/idea/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"TagPage","type":"COMMUNITY","urlPath":"/tag/:tagName","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"BlogBoardPage","type":"BLOG","urlPath":"/category/:categoryId/blog/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"OccasionMessagePage","type":"OCCASION_TOPIC","urlPath":"/event/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ManageContentPage","type":"COMMUNITY","urlPath":"/managecontent","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ClosedMembershipNodeNonMembersPage","type":"GROUP_HUB","urlPath":"/closedgroup/:groupHubId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"CommunityPage","type":"COMMUNITY","urlPath":"/","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ForumMessagePage","type":"FORUM_TOPIC","urlPath":"/discussions/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"IdeaPostPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1730819800000,"localOverride":null,"page":{"id":"CommunityHub.Page","type":"CUSTOM","urlPath":"/Directory","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"BlogMessagePage","type":"BLOG_ARTICLE","urlPath":"/blog/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"RegistrationPage","type":"USER","urlPath":"/register","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"EditGroupHubPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ForumEditPage","type":"FORUM","urlPath":"/discussions/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ResetPasswordPage","type":"USER","urlPath":"/resetpassword/:userId/:resetPasswordToken","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1730819800000,"localOverride":null,"page":{"id":"AllBlogs.Page","type":"CUSTOM","urlPath":"/blogs","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"TkbMessagePage","type":"TKB_ARTICLE","urlPath":"/kb/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"BlogEditPage","type":"BLOG","urlPath":"/blog/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ManageUsersPage","type":"USER","urlPath":"/users/manage/:tab?/:manageUsersTab?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ForumReplyPage","type":"FORUM_REPLY","urlPath":"/discussions/:boardId/:messageSubject/:messageId/replies/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"PrivacyPolicyPage","type":"COMMUNITY","urlPath":"/privacypolicy","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"NotificationPage","type":"COMMUNITY","urlPath":"/notifications","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"UserPage","type":"USER","urlPath":"/users/:login/:userId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"HealthCheckPage","type":"COMMUNITY","urlPath":"/health","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"OccasionReplyPage","type":"OCCASION_REPLY","urlPath":"/event/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ManageMembersPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/manage/:tab?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"SearchResultsPage","type":"COMMUNITY","urlPath":"/search","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"BlogReplyPage","type":"BLOG_REPLY","urlPath":"/blog/:boardId/:messageSubject/:messageId/replies/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"GroupHubPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"TermsOfServicePage","type":"COMMUNITY","urlPath":"/termsofservice","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"CategoryPage","type":"CATEGORY","urlPath":"/category/:categoryId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"ForumViewAllTopicsPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId/all-topics/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"TkbPostPage","type":"TKB","urlPath":"/category/:categoryId/kbs/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1787012361875,"localOverride":null,"page":{"id":"GroupHubPostPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"}],"localOverride":false},"CachedAsset:text:en_US-components/context/AppContext/AppContextProvider-0":{"__typename":"CachedAsset","id":"text:en_US-components/context/AppContext/AppContextProvider-0","value":{"noCommunity":"Cannot find community","noUser":"Cannot find current user","noNode":"Cannot find node with id {nodeId}","noMessage":"Cannot find message with id {messageId}","userBanned":"We're sorry, but you have been banned from using this site.","userBannedReason":"You have been banned for the following reason: {reason}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Loading/LoadingDot-0":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Loading/LoadingDot-0","value":{"title":"Loading..."},"localOverride":false},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/cmstNC05WEo0blc\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/cmstNC05WEo0blc","height":512,"width":512,"mimeType":"image/png"},"Rank:rank:4":{"__typename":"Rank","id":"rank:4","position":2,"name":"Microsoft","color":"333333","icon":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/cmstNC05WEo0blc\"}"},"rankStyle":"OUTLINE"},"User:user:3445790":{"__typename":"User","id":"user:3445790","uid":3445790,"login":"Kalaivanan","deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/m_assets/avatars/default/avatar-5.svg?time=0"},"rank":{"__ref":"Rank:rank:4"},"email":"","messagesCount":3,"biography":null,"topicsCount":7,"kudosReceivedCount":6,"kudosGivenCount":0,"kudosWeight":1,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2026-04-10T04:57:39.913-07:00","confirmEmailStatus":null},"followersCount":null,"solutionsCount":0},"Category:category:azure-ai-foundry":{"__typename":"Category","id":"category:azure-ai-foundry","entityType":"CATEGORY","displayId":"azure-ai-foundry","nodeType":"category","depth":3,"title":"Microsoft Foundry","shortTitle":"Microsoft Foundry","parent":{"__ref":"Category:category:products-services"}},"Category:category:top":{"__typename":"Category","id":"category:top","entityType":"CATEGORY","displayId":"top","nodeType":"category","depth":0,"title":"Top","shortTitle":"Top"},"Category:category:communities":{"__typename":"Category","id":"category:communities","entityType":"CATEGORY","displayId":"communities","nodeType":"category","depth":1,"parent":{"__ref":"Category:category:top"},"title":"Communities","shortTitle":"Communities"},"Category:category:products-services":{"__typename":"Category","id":"category:products-services","entityType":"CATEGORY","displayId":"products-services","nodeType":"category","depth":2,"parent":{"__ref":"Category:category:communities"},"title":"Products","shortTitle":"Products"},"Blog:board:azure-ai-foundry-blog":{"__typename":"Blog","id":"board:azure-ai-foundry-blog","entityType":"BLOG","displayId":"azure-ai-foundry-blog","nodeType":"board","depth":4,"conversationStyle":"BLOG","repliesProperties":{"__typename":"RepliesProperties","sortOrder":"REVERSE_PUBLISH_TIME","repliesFormat":"threaded"},"tagProperties":{"__typename":"TagNodeProperties","tagsEnabled":{"__typename":"PolicyResult","failureReason":null}},"requireTags":false,"tagType":"PRESET_ONLY","description":"","title":"Microsoft Foundry Blog","shortTitle":"Microsoft Foundry Blog","parent":{"__ref":"Category:category:azure-ai-foundry"},"ancestors":{"__typename":"CoreNodeConnection","edges":[{"__typename":"CoreNodeEdge","node":{"__ref":"Community:community:gxcuf89792"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:communities"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:products-services"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:azure-ai-foundry"}}]},"userContext":{"__typename":"NodeUserContext","canAddAttachments":false,"canUpdateNode":false,"canPostMessages":false,"isSubscribed":false},"theme":{"__ref":"Theme:customTheme1"},"boardPolicies":{"__typename":"BoardPolicies","canViewSpamDashBoard":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.feature.moderation_spam.action.access_spam_quarantine.allowed.accessDenied","key":"error.lithium.policies.feature.moderation_spam.action.access_spam_quarantine.allowed.accessDenied","args":[]}},"canArchiveMessage":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.content_archivals.enable_content_archival_settings.accessDenied","key":"error.lithium.policies.content_archivals.enable_content_archival_settings.accessDenied","args":[]}},"canPublishArticleOnCreate":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.forums.policy_can_publish_on_create_workflow_action.accessDenied","key":"error.lithium.policies.forums.policy_can_publish_on_create_workflow_action.accessDenied","args":[]}},"canReadNode":{"__typename":"PolicyResult","failureReason":null}},"moderationSettings":{"__typename":"ModerationSettings","aiModerationEnabled":null},"linkProperties":{"__typename":"LinkProperties","isExternalLinkWarningEnabled":false},"blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"BlogTopicMessage:message:4550068":{"__typename":"BlogTopicMessage","uid":4550068,"subject":"Stop Letting Agents Run the Workflow","id":"message:4550068","entityType":"BLOG_ARTICLE","eventPath":"category:azure-ai-foundry/category:products-services/category:communities/community:gxcuf89792board:azure-ai-foundry-blog/message:4550068","revisionNum":6,"repliesCount":0,"author":{"__ref":"User:user:3445790"},"depth":0,"hasGivenKudo":false,"board":{"__ref":"Blog:board:azure-ai-foundry-blog"},"conversation":{"__ref":"Conversation:conversation:4550068"},"messagePolicies":{"__typename":"MessagePolicies","canPublishArticleOnEdit":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.forums.policy_can_publish_on_edit_workflow_action.accessDenied","key":"error.lithium.policies.forums.policy_can_publish_on_edit_workflow_action.accessDenied","args":[]}},"canModerateSpamMessage":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.feature.moderation_spam.action.moderate_entity.allowed.accessDenied","key":"error.lithium.policies.feature.moderation_spam.action.moderate_entity.allowed.accessDenied","args":[]}},"canReply":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.forums.action.message.reply_to_entity.allow.accessDenied","key":"error.lithium.policies.forums.action.message.reply_to_entity.allow.accessDenied","args":[]}},"canAcceptSolution":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.accepted_solutions.action_allow.message.mark_as_accepted_solution.accessDenied","key":"error.lithium.policies.accepted_solutions.action_allow.message.mark_as_accepted_solution.accessDenied","args":[]}},"canRejectSolution":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.accepted_solutions.action_allow.message.unmark_as_accepted_solution.accessDenied","key":"error.lithium.policies.accepted_solutions.action_allow.message.unmark_as_accepted_solution.accessDenied","args":[]}},"canTag":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.labels.action.labelableentity.set_labels.allow.accessDenied","key":"error.lithium.policies.labels.action.labelableentity.set_labels.allow.accessDenied","args":[]}},"canEdit":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.forums.action_allow.edit_message.accessDenied","key":"error.lithium.policies.forums.action_allow.edit_message.accessDenied","args":[]}},"canKudo":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.kudos.action.entity.give_kudos.allow.accessDenied","key":"error.lithium.policies.kudos.action.entity.give_kudos.allow.accessDenied","args":[]}}},"contentWorkflow":{"__typename":"ContentWorkflow","state":"PUBLISH","scheduledPublishTime":null,"scheduledTimezone":null,"userContext":{"__typename":"MessageWorkflowContext","canSubmitForReview":null,"canEdit":false,"canRecall":null,"canSubmitForPublication":null,"canReturnToAuthor":null,"canPublish":null,"canReturnToReview":null,"canSchedule":false},"shortScheduledTimezone":null},"readOnly":false,"editFrozen":false,"showMoveIndicator":false,"moderationData":{"__ref":"ModerationData:moderation_data:4550068"},"teaser":"","body":"

A user submits a ticket: \"Please grant temporary admin access to the finance reporting database for month-end close.\"

\n

A five-agent system handles it beautifully. A triage agent classifies the request. A policy agent checks entitlements. An approval agent decides a manager needs to sign off. An execution agent calls the identity API. A communication agent updates the ticket. The demo gets applause.

\n

Three weeks into production, the same system grants a contractor standing admin access to a production finance database for 30 days instead of 8 hours because the classifier read \"month-end close\" as a recurring need, the approval agent inferred consent from an earlier message that said \"manager aware,\" and the execution agent filled in a duration parameter the payload never specified.

\n

Nothing hallucinated. Every agent did roughly what it was asked. The system still failed, because no single component owned the process.

\n

This is the most common way enterprise multi-agent systems fail, and it is not a model problem. It is an architecture problem. This article describes the pattern I use to prevent it:

\n
\n

Deterministic Spine, Agentic Leaves - Use deterministic workflow control for the business process. Use agents only as bounded workers inside controlled steps.

\n
\n

This is not an observability pattern that helps you find the failure afterwards. It is a design-time pattern that makes the failure unrepresentable.

\n

What you'll get from this article: a diagnostic for whether your system has this problem, the four-layer pattern, a reference architecture on Microsoft Foundry, the schema contracts that make it enforceable, and a six-step implementation checklist.

\n

1. The failure mode: the agent quietly becomes the process owner

\n

Dangerous multi-agent systems rarely fail loudly. They usually look like they are working.

\n

A ticket gets created. A handoff happens. A subagent responds. A tool is called. The workflow advances. But the path is not guaranteed. The next step depends on what the model decided in that moment, based on prompt wording, context window contents, prior messages, tool descriptions, and sometimes stale state.

\n

Run the same request twice and you can get two different process paths. In a brainstorming assistant, that is a feature. In an approval workflow, it is an unlogged control failure.

\n

The specific failure modes are operational, not semantic:

\n
\n

Failure mode

\n
\n

What it looks like in production

\n
\n

Misclassification cascade

\n
\n

A wrong label at intake silently changes every downstream decision

\n
\n

Inferred approval

\n
\n

The model treats conversational context as an approval record

\n
\n

Parameter drift

\n
\n

The right API is called with a wrong or invented value

\n
\n

Concurrent writes

\n
\n

Two agents update the same record, producing inconsistent audit history

\n
\n

Retry amplification

\n
\n

A replayed action creates duplicate approvals, tasks, or grants

\n
\n

Circular delegation

\n
\n

Agents hand off to each other without converging

\n
\n

Silent subagent failure

\n
\n

A leaf fails, returns prose, and the parent proceeds anyway

\n
\n

Bypassed parent

\n
\n

A subagent replies directly to the user, creating an unapproved side path

\n
\n

None of these are hallucinations. All of them are workflow-control problems. They happen because the system has no single deterministic owner of state, transitions, permissions, and irreversible actions.

\n

A quick diagnostic

\n

Ask these four questions about any agentic system you are about to ship:

\n
    \n
  1. If I run the same request 100 times, is the sequence of business states identical every time?
  2. \n
  3. Can I name the one component that decides whether a transition is allowed?
  4. \n
  5. Is approval a blocking gate in code, or an instruction in a prompt?
  6. \n
  7. If a tool call is replayed, does the business system change twice?
  8. \n
\n

If any answer makes you uncomfortable, the model is not your risk. Your control plane is.

\n

2. Microsoft's guidance already draws this line

\n

This is not a contrarian take. It is the documented design distinction in Microsoft Agent Framework.

\n

The framework separates two things deliberately. Agents are for open-ended work: the task is conversational, you need autonomous tool use and planning, and a single model call with tools is sufficient. Workflows are for defined processes: the steps are well-defined, you need explicit control over execution order, and multiple agents or functions must coordinate. As the documentation puts it, Agent Framework workflows \"define explicit, inspectable execution paths for coordinating code, agents, state, events, and human input.\"

\n

Explicit and inspectable are the two words that matter for regulated enterprise processes.

\n

The wider industry has converged on the same boundary, which is a useful signal that this is architectural rather than vendor-specific. Anthropic distinguishes workflows, \"where LLMs and tools are orchestrated through predefined code paths,\" from agents, \"where LLMs dynamically direct their own processes and tool usage.\" LangGraph's documentation states that \"workflows have predetermined code paths and are designed to operate in a certain order\" while \"agents are dynamic and define their own processes and tool usage.\" OpenAI's orchestration guidance separates handoffs, where control moves to a specialist, from agents as tools, where a manager retains ownership and calls specialists as bounded capabilities.

\n

Four independent teams, one conclusion: when the process must be trusted, the process must be predetermined.

\n

The design decision follows directly:

\n
\n

Use agents for intelligence. Use workflows for control. Use policy for authority. Use tools for execution.

\n
\n

3. The pattern

\n

The core idea fits in one sentence:

\n
\n

The business process is a state machine. Agents are workers inside the states.

\n
\n

The deterministic spine owns workflow state, allowed transitions, approval boundaries, retry behaviour, idempotency, timeouts, tool execution, audit events, and final action authority.

\n

The agentic leaves do bounded reasoning work: classify, extract, summarise, recommend, draft, compare, validate, explain, enrich.

\n

The boundary is absolute:

\n\n

This is the difference between AI automation and agentic business process engineering.

\n

4. Implementing it on Microsoft Foundry

\n

Microsoft Foundry gives you the building blocks. The architecture decision is how you assemble them. Resist the instinct to build one \"super agent\" that owns everything, and implement four layers instead.

\nFigure 2. Reference architecture on Microsoft Foundry. Foundry agents are bounded leaf workers; a workflow runtime is the deterministic spine; policy gates precede approval and execution; and controlled tools are the only path to a business system.\n

Layer 1: The workflow spine

\n

This is the deterministic owner of the process. Implement it with Microsoft Agent Framework workflows, Azure Logic Apps, Durable Functions, or another deterministic orchestration runtime, depending on your engineering model.

\n

One architectural principle matters more than the specific runtime: the design centre should be a versioned workflow definition or a code-first orchestration layer, something you can diff, review, test, and roll back. Visual authoring surfaces are excellent for prototyping, but authoring surfaces evolve and get deprecated. A workflow definition under source control survives that; a canvas-only design does not.

\n

Define your states explicitly:

\n
\n

Submitted → Classified → PolicyChecked → ApprovalRequired → Approved → PayloadPrepared → Executed → Verified → Closed, plus Rejected and Exception.

\n
\n

Then give every transition a deterministic guard:

\n
Submitted → Classified\n  requires: classification_result.schema_valid == true\n\nClassified → ApprovalRequired\n  requires: risk == \"high\" OR action_type == \"privileged_access\"\n\nApprovalRequired → Approved\n  requires: approval.status == \"approved\"\n            AND approval.approver_id is valid\n            AND approval.timestamp exists\n\nApproved → Executed\n  requires: idempotency_key exists\n            AND execution_lock acquired\n            AND payload.validated == true\n
\n

The workflow owns these transitions. Not the agent.

\n

Layer 2: Bounded agent leaves

\n

Each leaf does exactly one job, with one narrow context and the minimum permissions to do it.

\n
\n

Agent leaf

\n
\n

Allowed responsibility

\n
\n

Explicitly not allowed

\n
\n

Intake classifier

\n
\n

Classify the ticket and extract fields

\n
\n

Approve or execute

\n
\n

Policy explainer

\n
\n

Explain why a policy applies

\n
\n

Override the policy

\n
\n

Payload drafter

\n
\n

Produce a structured JSON payload

\n
\n

Call the API directly

\n
\n

Exception summarizer

\n
\n

Summarize a failure for human review

\n
\n

Retry execution independently

\n
\n

Closure writer

\n
\n

Draft the final ticket update

\n
\n

Change workflow state

\n
\n

In Foundry these can be prompt agents when the task is configuration-driven, or hosted code agents when you need custom logic, state handling, or a specific execution model while still using Foundry models and tools.

\n

The contract is the control. Any leaf whose output feeds the spine must return structured, schema-validated output, never free-form prose:

\n
{\n  \"request_type\": \"privileged_access\",\n  \"business_justification_present\": true,\n  \"target_system\": \"finance_reporting_database\",\n  \"requested_duration_hours\": 8,\n  \"risk_level\": \"high\",\n  \"requires_human_approval\": true,\n  \"confidence\": 0.91,\n  \"missing_fields\": []\n}\n
\n

The workflow validates that schema. If validation fails, the workflow requests clarification or routes to exception handling. It does not let the agent improvise. The rule is simple: if the spine cannot validate the output, that output cannot influence the next transition.

\n

Layer 3: Policy and guardrail gates

\n

Business policy and AI safety are different controls, and conflating them is a recurring design error.

\n

Foundry guardrails and controls address AI safety and security risks: unsafe content, prompt injection, personal information exposure with intervention points at user input, model output, and, for agents, tool call and tool response. 

\n

But do not encode enterprise approval logic in prompts or safety filters. Business policy belongs in deterministic controls: Azure Policy, policy-as-code, a rules engine, service catalogue rules, entitlement policies, an approval matrix, ITSM workflow rules, or domain APIs.

\n

The policy gate answers questions a model should never be trusted to answer alone:

\n\n

An agent can explain the policy. The policy system decides.

\n

Layer 4: The controlled action plane

\n

This is where real-world change happens, so this is where the architecture must be strictest. Granting access, closing incidents, updating records, triggering deployments, approving procurement, all of it goes through controlled tools, never through free-form agent autonomy.

\n

Foundry Agent Service supports built-in tools, custom functions, and MCP servers, with authentication via key-based access, Microsoft Entra managed identity, OAuth On-Behalf-Of, or unauthenticated access where appropriate.

\n

Wrap every action in a tool that enforces an explicit input schema, required fields, an idempotency key, caller identity, an approval reference, a correlation ID, a retry policy, a timeout, and deterministic success/failure responses.

\n

The execution tool must reject this:

\n
{\n  \"action\": \"grant access\",\n  \"details\": \"finance database admin for a while\"\n}\n
\n

And require this:

\n
{\n  \"ticket_id\": \"INC1234567\",\n  \"request_id\": \"REQ98765\",\n  \"target_system_id\": \"finance-reporting-db-prod\",\n  \"principal_id\": \"user-guid\",\n  \"role_id\": \"temporary-admin\",\n  \"duration_hours\": 8,\n  \"approval_id\": \"APR456789\",\n  \"idempotency_key\": \"REQ98765-finance-reporting-db-prod-temporary-admin\",\n  \"requested_by\": \"user-guid\",\n  \"approved_by\": \"manager-guid\"\n}\n
\n

If the payload is incomplete, the tool rejects it. The agent does not get a second chance to guess.

\n

Make tools boring and strict: validate input, reject ambiguity, return structured errors, enforce authorization, support idempotency, log correlation IDs, and never infer missing business data. Enterprise reliability is won here, in unglamorous code.

\n

5. Five design mistakes to correct now

\n

Most failed multi-agent prototypes are not under-instrumented. They are under-designed. The five most common corrections:

\n
\n

The common approach

\n
\n

The correction

\n
\n

Start with agents and ask \"how do we make them collaborate?\"

\n
\n

Start with the business process and ask \"where is autonomy actually safe?\"

\n
\n

Add a supervisor agent and rely on instructions to enforce control

\n
\n

Add a deterministic workflow; let agents operate only inside explicit boundaries

\n
\n

Give several agents overlapping tools and shared context

\n
\n

Give each agent a narrow job, minimum context, minimum permissions, one typed contract

\n
\n

Rely on \"the model should know when to ask for approval\"

\n
\n

Make approval a transition guard that cannot be bypassed

\n
\n

Treat tool calls as agent actions

\n
\n

Treat tool calls as controlled business operations with schemas, idempotency, and policy checks

\n
\n

Add a specialist agent only when it materially improves capability isolation, policy isolation, prompt clarity, or trace legibility: not simply because a task can be split.

\n

6. A six-step implementation checklist

\n
    \n
  1. Map the process before you name a single agent. For every step, classify it and assign an owner:\n
    \n

    Step type

    \n
    \n

    Example

    \n
    \n

    Owner

    \n
    \n

    Deterministic

    \n
    \n

    Check the approval matrix

    \n
    \n

    Workflow spine

    \n
    \n

    Agentic

    \n
    \n

    Classify the ticket

    \n
    \n

    Agent leaf

    \n
    \n

    Human

    \n
    \n

    Approve privileged access

    \n
    \n

    Approver

    \n
    \n

    Action

    \n
    \n

    Grant access

    \n
    \n

    Controlled tool

    \n
    \n

    Verification

    \n
    \n

    Confirm access expires

    \n
    \n

    Workflow spine

    \n
    \n

    If a step must be reproducible, auditable, or policy-bound, it belongs in the spine.

    \n
  2. \n
  3. \n

    Define the state object explicitly. Every workflow needs durable, inspectable state:

    \n
    {\n  \"workflow_id\": \"\",\n  \"ticket_id\": \"\",\n  \"current_state\": \"\",\n  \"request_type\": \"\",\n  \"risk_level\": \"\",\n  \"required_approvals\": [],\n  \"approval_status\": \"\",\n  \"action_payload\": {},\n  \"execution_status\": \"\",\n  \"verification_status\": \"\",\n  \"exception_reason\": \"\",\n  \"correlation_id\": \"\"\n}\n
    \n

    No agent should hold private state that determines the business outcome.

    \n
  4. \n
  5.  Make every agent contract testable. For each leaf, specify the input schema, output schema, allowed tools, forbidden actions, confidence handling, error behaviour, and escalation behaviour, then build an evaluation set per leaf, not per system.
  6. \n
  7. Put approval before execution, not after explanation. Human-in-the-loop is not a courteous notification after the fact; it is a blocking gate before sensitive execution. Agent Framework orchestrations support this through approval-required tools and request-info interactions. Use it for privileged access, production changes, financial approvals, customer-impacting actions, security exceptions, external communications, and any irreversible update.
  8. \n
  9. Verify against the system of record. A successful API response is not proof. Read the state back and confirm the change matches intent, including that time-bound access actually expires.
  10. \n
  11. Choose the implementation path by risk, not by how \"agentic\" it feels. \n
    \n

    Requirement

    \n
    \n

    Recommended path

    \n
    \n

    Simple bounded agent on a managed runtime

    \n
    \n

    Foundry prompt agent

    \n
    \n

    Custom agent logic or framework code

    \n
    \n

    Agent Framework with Foundry models and tools

    \n
    \n

    Code-first production orchestration

    \n
    \n

    Agent Framework workflow on managed compute

    \n
    \n

    Visual business-process orchestration

    \n
    \n

    Azure Logic Apps calling Foundry agents

    \n
    \n

    Cross-agent interoperability

    \n
    \n

    Agent-to-agent delegation where lightweight handoff is sufficient

    \n
    \n

    Enterprise safety controls

    \n
    \n

    Foundry guardrails plus deterministic policy gates

    \n
    \n
  12. \n
\n

7. The production boundary

\n

The next generation of enterprise automation will not be won by the team with the most agents. It will be won by the team that knows where not to use one.

\n

Multi-agent systems are genuinely powerful when they decompose expertise. They become dangerous when they replace workflow control. For tickets, approvals, onboarding, incident response, procurement, and finance operations, the boundary has to be explicit:

\n
\n

**The workflow owns the process.

\n

The policy owns the permission.

\n

The tool owns the action.

\n

The agent owns only the reasoning task it was explicitly assigned.**

\n
\n

That is the production boundary. That is how multi-agent automation becomes safe enough for enterprise scale.

\n

And that is the shift customers need now, not more autonomous agents, but controlled autonomy: deterministic where the business requires trust, agentic where intelligence creates value.

\n

Try it this week

\n

Pick one workflow you have already automated with agents, and do three things:

\n
    \n
  1. Draw its state machine on one page. If you cannot, the process has no owner.
  2. \n
  3. Find every irreversible action and confirm a deterministic guard sits in front of it — in code, not in a prompt.
  4. \n
  5. Replay one tool call twice in a test environment. If the business system changes twice, add an idempotency key today.
  6. \n
\n

Then build it properly:

\n\n

I'd like to hear from you. If you have shipped a multi-agent workflow into production, tell me in the comments where you drew the line between the spine and the leaves, and where that line turned out to be in the wrong place.

\n

 

","body@stringLength":"27674","rawBody":"

A user submits a ticket: \"Please grant temporary admin access to the finance reporting database for month-end close.\"

\n

A five-agent system handles it beautifully. A triage agent classifies the request. A policy agent checks entitlements. An approval agent decides a manager needs to sign off. An execution agent calls the identity API. A communication agent updates the ticket. The demo gets applause.

\n

Three weeks into production, the same system grants a contractor standing admin access to a production finance database for 30 days instead of 8 hours because the classifier read \"month-end close\" as a recurring need, the approval agent inferred consent from an earlier message that said \"manager aware,\" and the execution agent filled in a duration parameter the payload never specified.

\n

Nothing hallucinated. Every agent did roughly what it was asked. The system still failed, because no single component owned the process.

\n

This is the most common way enterprise multi-agent systems fail, and it is not a model problem. It is an architecture problem. This article describes the pattern I use to prevent it:

\n
\n

Deterministic Spine, Agentic Leaves - Use deterministic workflow control for the business process. Use agents only as bounded workers inside controlled steps.

\n
\n

This is not an observability pattern that helps you find the failure afterwards. It is a design-time pattern that makes the failure unrepresentable.

\n

What you'll get from this article: a diagnostic for whether your system has this problem, the four-layer pattern, a reference architecture on Microsoft Foundry, the schema contracts that make it enforceable, and a six-step implementation checklist.

\n

1. The failure mode: the agent quietly becomes the process owner

\n

Dangerous multi-agent systems rarely fail loudly. They usually look like they are working.

\n

A ticket gets created. A handoff happens. A subagent responds. A tool is called. The workflow advances. But the path is not guaranteed. The next step depends on what the model decided in that moment, based on prompt wording, context window contents, prior messages, tool descriptions, and sometimes stale state.

\n

Run the same request twice and you can get two different process paths. In a brainstorming assistant, that is a feature. In an approval workflow, it is an unlogged control failure.

\n

The specific failure modes are operational, not semantic:

\n
\n

Failure mode

\n
\n

What it looks like in production

\n
\n

Misclassification cascade

\n
\n

A wrong label at intake silently changes every downstream decision

\n
\n

Inferred approval

\n
\n

The model treats conversational context as an approval record

\n
\n

Parameter drift

\n
\n

The right API is called with a wrong or invented value

\n
\n

Concurrent writes

\n
\n

Two agents update the same record, producing inconsistent audit history

\n
\n

Retry amplification

\n
\n

A replayed action creates duplicate approvals, tasks, or grants

\n
\n

Circular delegation

\n
\n

Agents hand off to each other without converging

\n
\n

Silent subagent failure

\n
\n

A leaf fails, returns prose, and the parent proceeds anyway

\n
\n

Bypassed parent

\n
\n

A subagent replies directly to the user, creating an unapproved side path

\n
\n

None of these are hallucinations. All of them are workflow-control problems. They happen because the system has no single deterministic owner of state, transitions, permissions, and irreversible actions.

\n

A quick diagnostic

\n

Ask these four questions about any agentic system you are about to ship:

\n
    \n
  1. If I run the same request 100 times, is the sequence of business states identical every time?
  2. \n
  3. Can I name the one component that decides whether a transition is allowed?
  4. \n
  5. Is approval a blocking gate in code, or an instruction in a prompt?
  6. \n
  7. If a tool call is replayed, does the business system change twice?
  8. \n
\n

If any answer makes you uncomfortable, the model is not your risk. Your control plane is.

\n

2. Microsoft's guidance already draws this line

\n

This is not a contrarian take. It is the documented design distinction in Microsoft Agent Framework.

\n

The framework separates two things deliberately. Agents are for open-ended work: the task is conversational, you need autonomous tool use and planning, and a single model call with tools is sufficient. Workflows are for defined processes: the steps are well-defined, you need explicit control over execution order, and multiple agents or functions must coordinate. As the documentation puts it, Agent Framework workflows \"define explicit, inspectable execution paths for coordinating code, agents, state, events, and human input.\"

\n

Explicit and inspectable are the two words that matter for regulated enterprise processes.

\n

The wider industry has converged on the same boundary, which is a useful signal that this is architectural rather than vendor-specific. Anthropic distinguishes workflows, \"where LLMs and tools are orchestrated through predefined code paths,\" from agents, \"where LLMs dynamically direct their own processes and tool usage.\" LangGraph's documentation states that \"workflows have predetermined code paths and are designed to operate in a certain order\" while \"agents are dynamic and define their own processes and tool usage.\" OpenAI's orchestration guidance separates handoffs, where control moves to a specialist, from agents as tools, where a manager retains ownership and calls specialists as bounded capabilities.

\n

Four independent teams, one conclusion: when the process must be trusted, the process must be predetermined.

\n

The design decision follows directly:

\n
\n

Use agents for intelligence. Use workflows for control. Use policy for authority. Use tools for execution.

\n
\n

3. The pattern

\n

The core idea fits in one sentence:

\n
\n

The business process is a state machine. Agents are workers inside the states.

\n
\n

The deterministic spine owns workflow state, allowed transitions, approval boundaries, retry behaviour, idempotency, timeouts, tool execution, audit events, and final action authority.

\n

The agentic leaves do bounded reasoning work: classify, extract, summarise, recommend, draft, compare, validate, explain, enrich.

\n

The boundary is absolute:

\n\n

This is the difference between AI automation and agentic business process engineering.

\n

4. Implementing it on Microsoft Foundry

\n

Microsoft Foundry gives you the building blocks. The architecture decision is how you assemble them. Resist the instinct to build one \"super agent\" that owns everything, and implement four layers instead.

\nFigure 2. Reference architecture on Microsoft Foundry. Foundry agents are bounded leaf workers; a workflow runtime is the deterministic spine; policy gates precede approval and execution; and controlled tools are the only path to a business system.\n

Layer 1: The workflow spine

\n

This is the deterministic owner of the process. Implement it with Microsoft Agent Framework workflows, Azure Logic Apps, Durable Functions, or another deterministic orchestration runtime, depending on your engineering model.

\n

One architectural principle matters more than the specific runtime: the design centre should be a versioned workflow definition or a code-first orchestration layer, something you can diff, review, test, and roll back. Visual authoring surfaces are excellent for prototyping, but authoring surfaces evolve and get deprecated. A workflow definition under source control survives that; a canvas-only design does not.

\n

Define your states explicitly:

\n
\n

Submitted → Classified → PolicyChecked → ApprovalRequired → Approved → PayloadPrepared → Executed → Verified → Closed, plus Rejected and Exception.

\n
\n

Then give every transition a deterministic guard:

\nSubmitted → Classified\n requires: classification_result.schema_valid == true\n\nClassified → ApprovalRequired\n requires: risk == \"high\" OR action_type == \"privileged_access\"\n\nApprovalRequired → Approved\n requires: approval.status == \"approved\"\n AND approval.approver_id is valid\n AND approval.timestamp exists\n\nApproved → Executed\n requires: idempotency_key exists\n AND execution_lock acquired\n AND payload.validated == true\n\n

The workflow owns these transitions. Not the agent.

\n

Layer 2: Bounded agent leaves

\n

Each leaf does exactly one job, with one narrow context and the minimum permissions to do it.

\n
\n

Agent leaf

\n
\n

Allowed responsibility

\n
\n

Explicitly not allowed

\n
\n

Intake classifier

\n
\n

Classify the ticket and extract fields

\n
\n

Approve or execute

\n
\n

Policy explainer

\n
\n

Explain why a policy applies

\n
\n

Override the policy

\n
\n

Payload drafter

\n
\n

Produce a structured JSON payload

\n
\n

Call the API directly

\n
\n

Exception summarizer

\n
\n

Summarize a failure for human review

\n
\n

Retry execution independently

\n
\n

Closure writer

\n
\n

Draft the final ticket update

\n
\n

Change workflow state

\n
\n

In Foundry these can be prompt agents when the task is configuration-driven, or hosted code agents when you need custom logic, state handling, or a specific execution model while still using Foundry models and tools.

\n

The contract is the control. Any leaf whose output feeds the spine must return structured, schema-validated output, never free-form prose:

\n{\n \"request_type\": \"privileged_access\",\n \"business_justification_present\": true,\n \"target_system\": \"finance_reporting_database\",\n \"requested_duration_hours\": 8,\n \"risk_level\": \"high\",\n \"requires_human_approval\": true,\n \"confidence\": 0.91,\n \"missing_fields\": []\n}\n\n

The workflow validates that schema. If validation fails, the workflow requests clarification or routes to exception handling. It does not let the agent improvise. The rule is simple: if the spine cannot validate the output, that output cannot influence the next transition.

\n

Layer 3: Policy and guardrail gates

\n

Business policy and AI safety are different controls, and conflating them is a recurring design error.

\n

Foundry guardrails and controls address AI safety and security risks: unsafe content, prompt injection, personal information exposure with intervention points at user input, model output, and, for agents, tool call and tool response. 

\n

But do not encode enterprise approval logic in prompts or safety filters. Business policy belongs in deterministic controls: Azure Policy, policy-as-code, a rules engine, service catalogue rules, entitlement policies, an approval matrix, ITSM workflow rules, or domain APIs.

\n

The policy gate answers questions a model should never be trusted to answer alone:

\n\n

An agent can explain the policy. The policy system decides.

\n

Layer 4: The controlled action plane

\n

This is where real-world change happens, so this is where the architecture must be strictest. Granting access, closing incidents, updating records, triggering deployments, approving procurement, all of it goes through controlled tools, never through free-form agent autonomy.

\n

Foundry Agent Service supports built-in tools, custom functions, and MCP servers, with authentication via key-based access, Microsoft Entra managed identity, OAuth On-Behalf-Of, or unauthenticated access where appropriate.

\n

Wrap every action in a tool that enforces an explicit input schema, required fields, an idempotency key, caller identity, an approval reference, a correlation ID, a retry policy, a timeout, and deterministic success/failure responses.

\n

The execution tool must reject this:

\n{\n \"action\": \"grant access\",\n \"details\": \"finance database admin for a while\"\n}\n\n

And require this:

\n{\n \"ticket_id\": \"INC1234567\",\n \"request_id\": \"REQ98765\",\n \"target_system_id\": \"finance-reporting-db-prod\",\n \"principal_id\": \"user-guid\",\n \"role_id\": \"temporary-admin\",\n \"duration_hours\": 8,\n \"approval_id\": \"APR456789\",\n \"idempotency_key\": \"REQ98765-finance-reporting-db-prod-temporary-admin\",\n \"requested_by\": \"user-guid\",\n \"approved_by\": \"manager-guid\"\n}\n\n

If the payload is incomplete, the tool rejects it. The agent does not get a second chance to guess.

\n

Make tools boring and strict: validate input, reject ambiguity, return structured errors, enforce authorization, support idempotency, log correlation IDs, and never infer missing business data. Enterprise reliability is won here, in unglamorous code.

\n

5. Five design mistakes to correct now

\n

Most failed multi-agent prototypes are not under-instrumented. They are under-designed. The five most common corrections:

\n
\n

The common approach

\n
\n

The correction

\n
\n

Start with agents and ask \"how do we make them collaborate?\"

\n
\n

Start with the business process and ask \"where is autonomy actually safe?\"

\n
\n

Add a supervisor agent and rely on instructions to enforce control

\n
\n

Add a deterministic workflow; let agents operate only inside explicit boundaries

\n
\n

Give several agents overlapping tools and shared context

\n
\n

Give each agent a narrow job, minimum context, minimum permissions, one typed contract

\n
\n

Rely on \"the model should know when to ask for approval\"

\n
\n

Make approval a transition guard that cannot be bypassed

\n
\n

Treat tool calls as agent actions

\n
\n

Treat tool calls as controlled business operations with schemas, idempotency, and policy checks

\n
\n

Add a specialist agent only when it materially improves capability isolation, policy isolation, prompt clarity, or trace legibility: not simply because a task can be split.

\n

6. A six-step implementation checklist

\n
    \n
  1. Map the process before you name a single agent. For every step, classify it and assign an owner:\n
    \n

    Step type

    \n
    \n

    Example

    \n
    \n

    Owner

    \n
    \n

    Deterministic

    \n
    \n

    Check the approval matrix

    \n
    \n

    Workflow spine

    \n
    \n

    Agentic

    \n
    \n

    Classify the ticket

    \n
    \n

    Agent leaf

    \n
    \n

    Human

    \n
    \n

    Approve privileged access

    \n
    \n

    Approver

    \n
    \n

    Action

    \n
    \n

    Grant access

    \n
    \n

    Controlled tool

    \n
    \n

    Verification

    \n
    \n

    Confirm access expires

    \n
    \n

    Workflow spine

    \n
    \n

    If a step must be reproducible, auditable, or policy-bound, it belongs in the spine.

    \n
  2. \n
  3. \n

    Define the state object explicitly. Every workflow needs durable, inspectable state:

    \n{\n \"workflow_id\": \"\",\n \"ticket_id\": \"\",\n \"current_state\": \"\",\n \"request_type\": \"\",\n \"risk_level\": \"\",\n \"required_approvals\": [],\n \"approval_status\": \"\",\n \"action_payload\": {},\n \"execution_status\": \"\",\n \"verification_status\": \"\",\n \"exception_reason\": \"\",\n \"correlation_id\": \"\"\n}\n\n

    No agent should hold private state that determines the business outcome.

    \n
  4. \n
  5.  Make every agent contract testable. For each leaf, specify the input schema, output schema, allowed tools, forbidden actions, confidence handling, error behaviour, and escalation behaviour, then build an evaluation set per leaf, not per system.
  6. \n
  7. Put approval before execution, not after explanation. Human-in-the-loop is not a courteous notification after the fact; it is a blocking gate before sensitive execution. Agent Framework orchestrations support this through approval-required tools and request-info interactions. Use it for privileged access, production changes, financial approvals, customer-impacting actions, security exceptions, external communications, and any irreversible update.
  8. \n
  9. Verify against the system of record. A successful API response is not proof. Read the state back and confirm the change matches intent, including that time-bound access actually expires.
  10. \n
  11. Choose the implementation path by risk, not by how \"agentic\" it feels. \n
    \n

    Requirement

    \n
    \n

    Recommended path

    \n
    \n

    Simple bounded agent on a managed runtime

    \n
    \n

    Foundry prompt agent

    \n
    \n

    Custom agent logic or framework code

    \n
    \n

    Agent Framework with Foundry models and tools

    \n
    \n

    Code-first production orchestration

    \n
    \n

    Agent Framework workflow on managed compute

    \n
    \n

    Visual business-process orchestration

    \n
    \n

    Azure Logic Apps calling Foundry agents

    \n
    \n

    Cross-agent interoperability

    \n
    \n

    Agent-to-agent delegation where lightweight handoff is sufficient

    \n
    \n

    Enterprise safety controls

    \n
    \n

    Foundry guardrails plus deterministic policy gates

    \n
    \n
  12. \n
\n

7. The production boundary

\n

The next generation of enterprise automation will not be won by the team with the most agents. It will be won by the team that knows where not to use one.

\n

Multi-agent systems are genuinely powerful when they decompose expertise. They become dangerous when they replace workflow control. For tickets, approvals, onboarding, incident response, procurement, and finance operations, the boundary has to be explicit:

\n
\n

**The workflow owns the process.

\n

The policy owns the permission.

\n

The tool owns the action.

\n

The agent owns only the reasoning task it was explicitly assigned.**

\n
\n

That is the production boundary. That is how multi-agent automation becomes safe enough for enterprise scale.

\n

And that is the shift customers need now, not more autonomous agents, but controlled autonomy: deterministic where the business requires trust, agentic where intelligence creates value.

\n

Try it this week

\n

Pick one workflow you have already automated with agents, and do three things:

\n
    \n
  1. Draw its state machine on one page. If you cannot, the process has no owner.
  2. \n
  3. Find every irreversible action and confirm a deterministic guard sits in front of it — in code, not in a prompt.
  4. \n
  5. Replay one tool call twice in a test environment. If the business system changes twice, add an idempotency key today.
  6. \n
\n

Then build it properly:

\n\n

I'd like to hear from you. If you have shipped a multi-agent workflow into production, tell me in the comments where you drew the line between the spine and the leaves, and where that line turned out to be in the wrong place.

\n

 

","kudosSumWeight":0,"postTime":"2026-09-01T10:00:00.020-07:00","images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjYuM3wyLjF8b3wyNXxfTlZffDE","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00NTUwMDY4LXdhdUgwWQ?revision=6\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjYuM3wyLjF8b3wyNXxfTlZffDI","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00NTUwMDY4LW9Cc0pzYg?revision=6\"}"}}],"totalCount":2,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"attachments:{}":{"__typename":"AttachmentConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"timeToRead":11,"rawTeaser":"","introduction":"A design pattern for deterministic multi-agent automation on Microsoft Foundry","coverImage":null,"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""},"currentRevision":{"__ref":"Revision:revision:4550068_6"},"latestVersion":{"__typename":"FriendlyVersion","major":"1","minor":"0"},"metrics":{"__typename":"MessageMetrics","views":213},"read":false,"visibilityScope":"PUBLIC","canonicalUrl":null,"seoTitle":null,"seoDescription":null,"aiProcessingStatus":null,"aiModerationResult":null,"expertSuggestions":[],"poll":null,"placeholder":false,"originalMessageForPlaceholder":null,"contributors":{"__typename":"UserConnection","edges":[]},"nonCoAuthorContributors":{"__typename":"UserConnection","edges":[]},"coAuthors":{"__typename":"UserConnection","edges":[]},"latestAppeal":null,"blogMessagePolicies":{"__typename":"BlogMessagePolicies","canDoAuthoringActionsOnBlog":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.blog.action_can_do_authoring_action.accessDenied","key":"error.lithium.policies.blog.action_can_do_authoring_action.accessDenied","args":[]}}},"archivalData":null,"canAppeal":false,"customFields":[{"__typename":"CustomStringField","name":"blogScoreGradeResponse","stringValue":"{\"correlationId\":\"TechCommunity:GradeResult:TC-GR-4550068:ffe78d7d-0ef6-49b8-a71e-4d7af2e319f5\",\"gradeResult\":{\"overallScore\":100,\"tier\":\"GREAT\",\"dimensions\":{\"opening\":{\"score\":5,\"feedback\":\"Exceptional opening. Starts with a concrete, relatable scenario (a ticket request), walks through a plausible demo success, then reveals a devastating production failure. The hook is visceral and immediately establishes the stakes. The value proposition is clearly stated with a bulleted summary of what the reader will get. No clichés, no 'excited to announce.'\"},\"structure\":{\"score\":5,\"feedback\":\"Outstanding structure for a long-form technical post. Seven numbered sections with clear headers, sub-headers, tables, code blocks, bullet lists, a diagnostic checklist, and a six-step implementation checklist. Highly scannable. Logical flow from problem → industry context → pattern → implementation → mistakes → checklist → action. The tables for failure modes, agent responsibilities, and implementation paths are particularly effective.\"},\"clarity\":{\"score\":5,\"feedback\":\"Exceptionally clear writing for a complex architectural topic. Technical concepts are explained with concrete examples (the access-granting scenario threads throughout). Jargon is minimal and always contextualized. The 'deterministic spine, agentic leaves' metaphor is intuitive and consistently applied. The distinction between AI safety guardrails and business policy is clearly drawn. Appropriate for the Tech Community practitioner audience.\"},\"substance\":{\"score\":5,\"feedback\":\"This is a genuinely valuable architectural pattern article with original thinking. It provides: a concrete failure scenario, a diagnostic framework (4 questions), industry convergence evidence (Microsoft, Anthropic, LangGraph, OpenAI), a four-layer reference architecture, schema contract examples, code-level transition guards, a table of five common design mistakes with corrections, a six-step implementation checklist, and concrete JSON examples showing good vs. bad payloads. This goes well beyond marketing into actionable architectural guidance.\"},\"cta\":{\"score\":5,\"feedback\":\"Excellent CTAs. The 'Try it this week' section gives three immediate, concrete actions readers can take today. Then provides a comprehensive list of relevant documentation links covering Microsoft Foundry, Agent Service, Agent Framework, orchestration patterns, human-in-the-loop, guardrails, and architecture patterns. Ends with a community engagement prompt asking for real production experiences. Multiple pathways for different reader types.\"},\"marketing\":{\"score\":5,\"feedback\":\"Uses all current approved terminology correctly: Microsoft Foundry, Foundry Agent Service, Microsoft Agent Framework, Foundry agents (lowercase for agents built with the service), Foundry guardrails. References to 'prompt agents' and 'hosted code agents' appear to be descriptive terms within the Foundry context. No deprecated product names detected in title, headings, or body text. The post reinforces Microsoft's platform messaging while remaining genuinely useful and non-promotional.\"}},\"improvementSuggestions\":[],\"flags\":[],\"threshold\":{\"score\":85}},\"qualifies\":true,\"metadata\":{\"gradedAt\":\"2026-08-29T04:20:52.282437Z\",\"graderVersion\":\"v4.2\",\"source\":\"opsportal\"},\"receivedAt\":\"2026-08-29T04:20:52.401Z\",\"workflowTransition\":{\"action\":\"SUBMIT_FOR_PUBLICATION\",\"triggeredBy\":\"BlogQAAutomation\",\"transitionedAt\":\"2026-08-29T04:20:52.668Z\"}}"}],"attachments:{\"constraints\":{\"revisionNum\":{\"eq\":6}}}":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"revisions({\"constraints\":{\"isPublished\":{\"eq\":true}}})":{"__typename":"RevisionConnection","totalCount":6}},"Conversation:conversation:4550068":{"__typename":"Conversation","id":"conversation:4550068","solved":false,"topic":{"__ref":"BlogTopicMessage:message:4550068"},"lastPostingActivityTime":"2026-09-01T10:00:00.020-07:00","lastPostTime":"2026-09-01T10:00:00.020-07:00","unreadReplyCount":0,"isSubscribed":false},"ModerationData:moderation_data:4550068":{"__typename":"ModerationData","id":"moderation_data:4550068","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null,"approveActorType":null},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00NTUwMDY4LXdhdUgwWQ?revision=6\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00NTUwMDY4LXdhdUgwWQ?revision=6","title":"deterministic_spine_agentic_leaves.png","associationType":"BODY","width":3840,"height":3162,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00NTUwMDY4LW9Cc0pzYg?revision=6\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00NTUwMDY4LW9Cc0pzYg?revision=6","title":"foundry_reference_architecture.png","associationType":"BODY","width":3840,"height":2910,"altText":""},"Revision:revision:4550068_6":{"__typename":"Revision","id":"revision:4550068_6","lastEditTime":"2026-08-28T21:20:52.750-07:00"},"CachedAsset:theme:customTheme1-1786998890017":{"__typename":"CachedAsset","id":"theme:customTheme1-1786998890017","value":{"id":"customTheme1","animation":{"fast":"150ms","normal":"250ms","slow":"500ms","slowest":"750ms","function":"cubic-bezier(0.07, 0.91, 0.51, 1)","__typename":"AnimationThemeSettings"},"avatar":{"borderRadius":"50%","collections":["default"],"__typename":"AvatarThemeSettings"},"basics":{"browserIcon":{"imageAssetName":"favicon-1730836283320.png","imageLastModified":"1730836286415","__typename":"ThemeAsset"},"customerLogo":{"imageAssetName":"favicon-1730836271365.png","imageLastModified":"1730836274203","__typename":"ThemeAsset"},"maximumWidthOfPageContent":"1300px","oneColumnNarrowWidth":"1200px","gridGutterWidthMd":"30px","gridGutterWidthXs":"10px","pageWidthStyle":"WIDTH_OF_BROWSER","__typename":"BasicsThemeSettings"},"buttons":{"borderRadiusSm":"3px","borderRadius":"3px","borderRadiusLg":"5px","paddingY":"5px","paddingYLg":"7px","paddingYHero":"var(--lia-bs-btn-padding-y-lg)","paddingX":"12px","paddingXLg":"16px","paddingXHero":"60px","fontStyle":"NORMAL","fontWeight":"700","textTransform":"NONE","disabledOpacity":0.5,"primaryTextColor":"var(--lia-bs-white)","primaryTextHoverColor":"var(--lia-bs-white)","primaryTextActiveColor":"var(--lia-bs-white)","primaryBgColor":"var(--lia-bs-primary)","primaryBgHoverColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.85))","primaryBgActiveColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.7))","primaryBorder":"1px solid transparent","primaryBorderHover":"1px solid transparent","primaryBorderActive":"1px solid transparent","primaryBorderFocus":"1px solid var(--lia-bs-white)","primaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","secondaryTextColor":"var(--lia-bs-gray-900)","secondaryTextHoverColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.95))","secondaryTextActiveColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.9))","secondaryBgColor":"var(--lia-bs-gray-200)","secondaryBgHoverColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.96))","secondaryBgActiveColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.92))","secondaryBorder":"1px solid transparent","secondaryBorderHover":"1px solid transparent","secondaryBorderActive":"1px solid transparent","secondaryBorderFocus":"1px solid transparent","secondaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","tertiaryTextColor":"var(--lia-bs-gray-900)","tertiaryTextHoverColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.95))","tertiaryTextActiveColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.9))","tertiaryBgColor":"transparent","tertiaryBgHoverColor":"transparent","tertiaryBgActiveColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.04)","tertiaryBorder":"1px solid transparent","tertiaryBorderHover":"1px solid hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","tertiaryBorderActive":"1px solid transparent","tertiaryBorderFocus":"1px solid transparent","tertiaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","destructiveTextColor":"var(--lia-bs-danger)","destructiveTextHoverColor":"hsl(var(--lia-bs-danger-h), var(--lia-bs-danger-s), calc(var(--lia-bs-danger-l) * 0.95))","destructiveTextActiveColor":"hsl(var(--lia-bs-danger-h), var(--lia-bs-danger-s), calc(var(--lia-bs-danger-l) * 0.9))","destructiveBgColor":"var(--lia-bs-gray-200)","destructiveBgHoverColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.96))","destructiveBgActiveColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.92))","destructiveBorder":"1px solid transparent","destructiveBorderHover":"1px solid transparent","destructiveBorderActive":"1px solid transparent","destructiveBorderFocus":"1px solid transparent","destructiveBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","__typename":"ButtonsThemeSettings"},"border":{"color":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","mainContent":"NONE","sideContent":"LIGHT","radiusSm":"3px","radius":"5px","radiusLg":"9px","radius50":"100vw","__typename":"BorderThemeSettings"},"boxShadow":{"xs":"0 0 0 1px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.08), 0 3px 0 -1px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.16)","sm":"0 2px 4px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.12)","md":"0 5px 15px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.3)","lg":"0 10px 30px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.3)","__typename":"BoxShadowThemeSettings"},"cards":{"bgColor":"var(--lia-panel-bg-color)","borderRadius":"var(--lia-panel-border-radius)","boxShadow":"var(--lia-box-shadow-xs)","__typename":"CardsThemeSettings"},"chip":{"maxWidth":"300px","height":"30px","__typename":"ChipThemeSettings"},"coreTypes":{"defaultMessageLinkColor":"var(--lia-bs-link-color)","defaultMessageLinkDecoration":"none","defaultMessageLinkFontStyle":"NORMAL","defaultMessageLinkFontWeight":"400","defaultMessageFontStyle":"NORMAL","defaultMessageFontWeight":"400","defaultMessageFontFamily":"var(--lia-bs-font-family-base)","forumColor":"#4099E2","forumFontFamily":"var(--lia-bs-font-family-base)","forumFontWeight":"var(--lia-default-message-font-weight)","forumLineHeight":"var(--lia-bs-line-height-base)","forumFontStyle":"var(--lia-default-message-font-style)","forumMessageLinkColor":"var(--lia-default-message-link-color)","forumMessageLinkDecoration":"var(--lia-default-message-link-decoration)","forumMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","forumMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","forumSolvedColor":"#148563","blogColor":"#1CBAA0","blogFontFamily":"var(--lia-bs-font-family-base)","blogFontWeight":"var(--lia-default-message-font-weight)","blogLineHeight":"1.75","blogFontStyle":"var(--lia-default-message-font-style)","blogMessageLinkColor":"var(--lia-default-message-link-color)","blogMessageLinkDecoration":"var(--lia-default-message-link-decoration)","blogMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","blogMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","tkbColor":"#4C6B90","tkbFontFamily":"var(--lia-bs-font-family-base)","tkbFontWeight":"var(--lia-default-message-font-weight)","tkbLineHeight":"1.75","tkbFontStyle":"var(--lia-default-message-font-style)","tkbMessageLinkColor":"var(--lia-default-message-link-color)","tkbMessageLinkDecoration":"var(--lia-default-message-link-decoration)","tkbMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","tkbMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","qandaColor":"#4099E2","qandaFontFamily":"var(--lia-bs-font-family-base)","qandaFontWeight":"var(--lia-default-message-font-weight)","qandaLineHeight":"var(--lia-bs-line-height-base)","qandaFontStyle":"var(--lia-default-message-link-font-style)","qandaMessageLinkColor":"var(--lia-default-message-link-color)","qandaMessageLinkDecoration":"var(--lia-default-message-link-decoration)","qandaMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","qandaMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","qandaSolvedColor":"#3FA023","ideaColor":"#FF8000","ideaFontFamily":"var(--lia-bs-font-family-base)","ideaFontWeight":"var(--lia-default-message-font-weight)","ideaLineHeight":"var(--lia-bs-line-height-base)","ideaFontStyle":"var(--lia-default-message-font-style)","ideaMessageLinkColor":"var(--lia-default-message-link-color)","ideaMessageLinkDecoration":"var(--lia-default-message-link-decoration)","ideaMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","ideaMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","contestColor":"#FCC845","contestFontFamily":"var(--lia-bs-font-family-base)","contestFontWeight":"var(--lia-default-message-font-weight)","contestLineHeight":"var(--lia-bs-line-height-base)","contestFontStyle":"var(--lia-default-message-link-font-style)","contestMessageLinkColor":"var(--lia-default-message-link-color)","contestMessageLinkDecoration":"var(--lia-default-message-link-decoration)","contestMessageLinkFontStyle":"ITALIC","contestMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","occasionColor":"#bc341b","occasionFontFamily":"var(--lia-bs-font-family-base)","occasionFontWeight":"var(--lia-default-message-font-weight)","occasionLineHeight":"var(--lia-bs-line-height-base)","occasionFontStyle":"var(--lia-default-message-font-style)","occasionMessageLinkColor":"var(--lia-default-message-link-color)","occasionMessageLinkDecoration":"var(--lia-default-message-link-decoration)","occasionMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","occasionMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","grouphubColor":"#333333","categoryColor":"#949494","communityColor":"#FFFFFF","productColor":"#949494","__typename":"CoreTypesThemeSettings"},"colors":{"black":"#000000","white":"#FFFFFF","gray100":"#F7F7F7","gray200":"#F7F7F7","gray300":"#E8E8E8","gray400":"#D9D9D9","gray500":"#CCCCCC","gray600":"#717171","gray700":"#707070","gray800":"#545454","gray900":"#333333","dark":"#545454","light":"#F7F7F7","primary":"#0069D4","secondary":"#333333","bodyText":"#1E1E1E","bodyBg":"#FFFFFF","info":"#409AE2","success":"#41C5AE","warning":"#FCC844","danger":"#BC341B","alertSystem":"#FF6600","textMuted":"#707070","highlight":"#FFFCAD","outline":"var(--lia-bs-primary)","custom":["#D3F5A4","#243A5E"],"__typename":"ColorsThemeSettings"},"divider":{"size":"3px","marginLeft":"4px","marginRight":"4px","borderRadius":"50%","bgColor":"var(--lia-bs-gray-600)","bgColorActive":"var(--lia-bs-gray-600)","__typename":"DividerThemeSettings"},"dropdown":{"fontSize":"var(--lia-bs-font-size-sm)","borderColor":"var(--lia-bs-border-color)","borderRadius":"var(--lia-bs-border-radius-sm)","dividerBg":"var(--lia-bs-gray-300)","itemPaddingY":"5px","itemPaddingX":"20px","headerColor":"var(--lia-bs-gray-700)","__typename":"DropdownThemeSettings"},"email":{"link":{"color":"#0069D4","hoverColor":"#0061c2","decoration":"none","hoverDecoration":"underline","__typename":"EmailLinkSettings"},"border":{"color":"#e4e4e4","__typename":"EmailBorderSettings"},"buttons":{"borderRadiusLg":"5px","paddingXLg":"16px","paddingYLg":"7px","fontWeight":"700","primaryTextColor":"#ffffff","primaryTextHoverColor":"#ffffff","primaryBgColor":"#0069D4","primaryBgHoverColor":"#005cb8","primaryBorder":"1px solid transparent","primaryBorderHover":"1px solid transparent","__typename":"EmailButtonsSettings"},"panel":{"borderRadius":"5px","borderColor":"#e4e4e4","__typename":"EmailPanelSettings"},"__typename":"EmailThemeSettings"},"emoji":{"skinToneDefault":"#ffcd43","skinToneLight":"#fae3c5","skinToneMediumLight":"#e2cfa5","skinToneMedium":"#daa478","skinToneMediumDark":"#a78058","skinToneDark":"#5e4d43","__typename":"EmojiThemeSettings"},"heading":{"color":"var(--lia-bs-body-color)","fontFamily":"Segoe UI","fontStyle":"NORMAL","fontWeight":"400","h1FontSize":"34px","h2FontSize":"32px","h3FontSize":"28px","h4FontSize":"24px","h5FontSize":"20px","h6FontSize":"16px","lineHeight":"1.3","subHeaderFontSize":"11px","subHeaderFontWeight":"500","h1LetterSpacing":"normal","h2LetterSpacing":"normal","h3LetterSpacing":"normal","h4LetterSpacing":"normal","h5LetterSpacing":"normal","h6LetterSpacing":"normal","subHeaderLetterSpacing":"2px","h1FontWeight":"var(--lia-bs-headings-font-weight)","h2FontWeight":"var(--lia-bs-headings-font-weight)","h3FontWeight":"var(--lia-bs-headings-font-weight)","h4FontWeight":"var(--lia-bs-headings-font-weight)","h5FontWeight":"var(--lia-bs-headings-font-weight)","h6FontWeight":"var(--lia-bs-headings-font-weight)","__typename":"HeadingThemeSettings"},"icons":{"size10":"10px","size12":"12px","size14":"14px","size16":"16px","size20":"20px","size24":"24px","size30":"30px","size40":"40px","size50":"50px","size60":"60px","size80":"80px","size120":"120px","size160":"160px","__typename":"IconsThemeSettings"},"imagePreview":{"bgColor":"var(--lia-bs-gray-900)","titleColor":"var(--lia-bs-white)","controlColor":"var(--lia-bs-white)","controlBgColor":"var(--lia-bs-gray-800)","__typename":"ImagePreviewThemeSettings"},"input":{"borderColor":"var(--lia-bs-gray-600)","disabledColor":"var(--lia-bs-gray-600)","focusBorderColor":"var(--lia-bs-primary)","labelMarginBottom":"10px","btnFontSize":"var(--lia-bs-font-size-sm)","focusBoxShadow":"0 0 0 3px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","checkLabelMarginBottom":"2px","checkboxBorderRadius":"3px","borderRadiusSm":"var(--lia-bs-border-radius-sm)","borderRadius":"var(--lia-bs-border-radius)","borderRadiusLg":"var(--lia-bs-border-radius-lg)","formTextMarginTop":"4px","textAreaBorderRadius":"var(--lia-bs-border-radius)","activeFillColor":"var(--lia-bs-primary)","__typename":"InputThemeSettings"},"loading":{"dotDarkColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.2)","dotLightColor":"hsla(var(--lia-bs-white-h), var(--lia-bs-white-s), var(--lia-bs-white-l), 0.5)","barDarkColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.06)","barLightColor":"hsla(var(--lia-bs-white-h), var(--lia-bs-white-s), var(--lia-bs-white-l), 0.4)","__typename":"LoadingThemeSettings"},"link":{"color":"var(--lia-bs-primary)","hoverColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) - 10%))","decoration":"none","hoverDecoration":"underline","__typename":"LinkThemeSettings"},"listGroup":{"itemPaddingY":"15px","itemPaddingX":"15px","borderColor":"var(--lia-bs-gray-300)","__typename":"ListGroupThemeSettings"},"modal":{"contentTextColor":"var(--lia-bs-body-color)","contentBg":"var(--lia-bs-white)","backgroundBg":"var(--lia-bs-black)","smSize":"440px","mdSize":"760px","lgSize":"1080px","backdropOpacity":0.3,"contentBoxShadowXs":"var(--lia-bs-box-shadow-sm)","contentBoxShadow":"var(--lia-bs-box-shadow)","headerFontWeight":"700","__typename":"ModalThemeSettings"},"navbar":{"position":"FIXED","background":{"attachment":null,"clip":null,"color":"var(--lia-bs-white)","imageAssetName":"","imageLastModified":"0","origin":null,"position":"CENTER_CENTER","repeat":"NO_REPEAT","size":"COVER","__typename":"BackgroundProps"},"backgroundOpacity":0.8,"paddingTop":"15px","paddingBottom":"15px","borderBottom":"1px solid var(--lia-bs-border-color)","boxShadow":"var(--lia-bs-box-shadow-sm)","brandMarginRight":"30px","brandMarginRightSm":"10px","brandLogoHeight":"30px","linkGap":"10px","linkJustifyContent":"flex-start","linkPaddingY":"5px","linkPaddingX":"10px","linkDropdownPaddingY":"9px","linkDropdownPaddingX":"var(--lia-nav-link-px)","linkColor":"var(--lia-bs-body-color)","linkHoverColor":"var(--lia-bs-primary)","linkFontSize":"var(--lia-bs-font-size-sm)","linkFontStyle":"NORMAL","linkFontWeight":"400","linkTextTransform":"NONE","linkLetterSpacing":"normal","linkBorderRadius":"var(--lia-bs-border-radius-sm)","linkBgColor":"transparent","linkBgHoverColor":"transparent","linkBorder":"none","linkBorderHover":"none","linkBoxShadow":"none","linkBoxShadowHover":"none","linkTextBorderBottom":"none","linkTextBorderBottomHover":"none","dropdownPaddingTop":"10px","dropdownPaddingBottom":"15px","dropdownPaddingX":"10px","dropdownMenuOffset":"2px","dropdownDividerMarginTop":"10px","dropdownDividerMarginBottom":"10px","dropdownBorderColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","controllerBgHoverColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.1)","controllerIconColor":"var(--lia-bs-body-color)","controllerIconHoverColor":"var(--lia-bs-body-color)","controllerTextColor":"var(--lia-nav-controller-icon-color)","controllerTextHoverColor":"var(--lia-nav-controller-icon-hover-color)","controllerHighlightColor":"hsla(30, 100%, 50%)","controllerHighlightTextColor":"var(--lia-yiq-light)","controllerBorderRadius":"var(--lia-border-radius-50)","hamburgerColor":"var(--lia-nav-controller-icon-color)","hamburgerHoverColor":"var(--lia-nav-controller-icon-color)","hamburgerBgColor":"transparent","hamburgerBgHoverColor":"transparent","hamburgerBorder":"none","hamburgerBorderHover":"none","collapseMenuMarginLeft":"20px","collapseMenuDividerBg":"var(--lia-nav-link-color)","collapseMenuDividerOpacity":0.16,"__typename":"NavbarThemeSettings"},"pager":{"textColor":"var(--lia-bs-link-color)","textFontWeight":"var(--lia-font-weight-md)","textFontSize":"var(--lia-bs-font-size-sm)","__typename":"PagerThemeSettings"},"panel":{"bgColor":"var(--lia-bs-white)","borderRadius":"var(--lia-bs-border-radius)","borderColor":"var(--lia-bs-border-color)","boxShadow":"none","__typename":"PanelThemeSettings"},"popover":{"arrowHeight":"8px","arrowWidth":"16px","maxWidth":"300px","minWidth":"100px","headerBg":"var(--lia-bs-white)","borderColor":"var(--lia-bs-border-color)","borderRadius":"var(--lia-bs-border-radius)","boxShadow":"0 0.5rem 1rem hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.15)","__typename":"PopoverThemeSettings"},"prism":{"color":"#000000","bgColor":"#f5f2f0","fontFamily":"var(--font-family-monospace)","fontSize":"var(--lia-bs-font-size-base)","fontWeightBold":"var(--lia-bs-font-weight-bold)","fontStyleItalic":"italic","tabSize":2,"highlightColor":"#b3d4fc","commentColor":"#62707e","punctuationColor":"#6f6f6f","namespaceOpacity":"0.7","propColor":"#990055","selectorColor":"#517a00","operatorColor":"#906736","operatorBgColor":"hsla(0, 0%, 100%, 0.5)","keywordColor":"#0076a9","functionColor":"#d3284b","variableColor":"#c14700","__typename":"PrismThemeSettings"},"rte":{"bgColor":"var(--lia-bs-white)","borderRadius":"var(--lia-panel-border-radius)","boxShadow":" var(--lia-panel-box-shadow)","customColor1":"#bfedd2","customColor2":"#fbeeb8","customColor3":"#f8cac6","customColor4":"#eccafa","customColor5":"#c2e0f4","customColor6":"#2dc26b","customColor7":"#f1c40f","customColor8":"#e03e2d","customColor9":"#b96ad9","customColor10":"#3598db","customColor11":"#169179","customColor12":"#e67e23","customColor13":"#ba372a","customColor14":"#843fa1","customColor15":"#236fa1","customColor16":"#ecf0f1","customColor17":"#ced4d9","customColor18":"#95a5a6","customColor19":"#7e8c8d","customColor20":"#34495e","customColor21":"#000000","customColor22":"#ffffff","defaultMessageHeaderMarginTop":"40px","defaultMessageHeaderMarginBottom":"20px","defaultMessageItemMarginTop":"0","defaultMessageItemMarginBottom":"10px","diffAddedColor":"hsla(170, 53%, 51%, 0.4)","diffChangedColor":"hsla(43, 97%, 63%, 0.4)","diffNoneColor":"hsla(0, 0%, 80%, 0.4)","diffRemovedColor":"hsla(9, 74%, 47%, 0.4)","specialMessageHeaderMarginTop":"40px","specialMessageHeaderMarginBottom":"20px","specialMessageItemMarginTop":"0","specialMessageItemMarginBottom":"10px","tableBgColor":"transparent","tableBorderColor":"var(--lia-bs-gray-700)","tableBorderStyle":"solid","tableCellPaddingX":"5px","tableCellPaddingY":"5px","tableTextColor":"var(--lia-bs-body-color)","tableVerticalAlign":"middle","__typename":"RteThemeSettings"},"tags":{"bgColor":"var(--lia-bs-gray-200)","bgHoverColor":"var(--lia-bs-gray-400)","borderRadius":"var(--lia-bs-border-radius-sm)","color":"var(--lia-bs-body-color)","hoverColor":"var(--lia-bs-body-color)","fontWeight":"var(--lia-font-weight-md)","fontSize":"var(--lia-font-size-xxs)","textTransform":"UPPERCASE","letterSpacing":"0.5px","__typename":"TagsThemeSettings"},"toasts":{"borderRadius":"var(--lia-bs-border-radius)","paddingX":"12px","__typename":"ToastsThemeSettings"},"typography":{"fontFamilyBase":"Segoe UI","fontStyleBase":"NORMAL","fontWeightBase":"400","fontWeightLight":"300","fontWeightNormal":"400","fontWeightMd":"500","fontWeightBold":"700","letterSpacingSm":"normal","letterSpacingXs":"normal","lineHeightBase":"1.5","fontSizeBase":"16px","fontSizeXxs":"11px","fontSizeXs":"12px","fontSizeSm":"14px","fontSizeLg":"20px","fontSizeXl":"24px","smallFontSize":"14px","customFonts":[{"source":"SERVER","name":"Segoe UI","styles":[{"style":"NORMAL","weight":"400","__typename":"FontStyleData"},{"style":"NORMAL","weight":"300","__typename":"FontStyleData"},{"style":"NORMAL","weight":"600","__typename":"FontStyleData"},{"style":"NORMAL","weight":"700","__typename":"FontStyleData"},{"style":"ITALIC","weight":"400","__typename":"FontStyleData"}],"assetNames":["SegoeUI-normal-400.woff2","SegoeUI-normal-300.woff2","SegoeUI-normal-600.woff2","SegoeUI-normal-700.woff2","SegoeUI-italic-400.woff2"],"__typename":"CustomFont"},{"source":"SERVER","name":"MWF Fluent Icons","styles":[{"style":"NORMAL","weight":"400","__typename":"FontStyleData"}],"assetNames":["MWFFluentIcons-normal-400.woff2"],"__typename":"CustomFont"}],"__typename":"TypographyThemeSettings"},"unstyledListItem":{"marginBottomSm":"5px","marginBottomMd":"10px","marginBottomLg":"15px","marginBottomXl":"20px","marginBottomXxl":"25px","__typename":"UnstyledListItemThemeSettings"},"yiq":{"light":"#ffffff","dark":"#000000","__typename":"YiqThemeSettings"},"colorLightness":{"primaryDark":0.36,"primaryLight":0.74,"primaryLighter":0.89,"primaryLightest":0.95,"infoDark":0.39,"infoLight":0.72,"infoLighter":0.85,"infoLightest":0.93,"successDark":0.24,"successLight":0.62,"successLighter":0.8,"successLightest":0.91,"warningDark":0.39,"warningLight":0.68,"warningLighter":0.84,"warningLightest":0.93,"dangerDark":0.41,"dangerLight":0.72,"dangerLighter":0.89,"dangerLightest":0.95,"__typename":"ColorLightnessThemeSettings"},"localOverride":false,"__typename":"Theme"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Loading/LoadingDot-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Loading/LoadingDot-1787924119327","value":{"title":"Loading..."},"localOverride":false},"CachedAsset:quilt:o365.prod:pages/blogs/BlogMessagePage:board:azure-ai-foundry-blog-1787924119327":{"__typename":"CachedAsset","id":"quilt:o365.prod:pages/blogs/BlogMessagePage:board:azure-ai-foundry-blog-1787924119327","value":{"id":"BlogMessagePage","container":{"id":"Common","headerProps":{"backgroundImageProps":null,"backgroundColor":null,"addComponents":null,"removeComponents":["community.widget.bannerWidget"],"componentOrder":null,"__typename":"QuiltContainerSectionProps"},"headerComponentProps":{"community.widget.breadcrumbWidget":{"disableLastCrumbForDesktop":false}},"footerProps":null,"footerComponentProps":null,"items":[{"id":"blog-article","layout":"ONE_COLUMN","bgColor":null,"showTitle":null,"showDescription":null,"textPosition":null,"textColor":null,"sectionEditLevel":"LOCKED","bgImage":null,"disableSpacing":null,"edgeToEdgeDisplay":null,"fullHeight":null,"showBorder":null,"__typename":"OneColumnQuiltSection","columnMap":{"main":[{"id":"custom.widget.CustomBlogPreview","className":null,"props":{"widgetVisibility":"signedInOnly","useTitle":false,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"},{"id":"blogs.widget.blogArticleWidget","className":"lia-blog-container","props":null,"__typename":"QuiltComponent"},{"id":"custom.widget.CoAuthorDisplay","className":null,"props":{"widgetVisibility":"signedInOrAnonymous","useTitle":false,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"}],"__typename":"OneSectionColumns"}},{"id":"section-1729184836777","layout":"MAIN_SIDE","bgColor":"transparent","showTitle":false,"showDescription":false,"textPosition":"CENTER","textColor":"var(--lia-bs-body-color)","sectionEditLevel":null,"bgImage":null,"disableSpacing":null,"edgeToEdgeDisplay":null,"fullHeight":null,"showBorder":null,"__typename":"MainSideQuiltSection","columnMap":{"main":[],"side":[{"id":"custom.widget.UnregisteredCTAWidget","className":null,"props":{"widgetVisibility":"anonymousOnly","useTitle":true,"useBackground":false,"title":"","lazyLoad":false,"widgetChooser":"custom.widget.UnregisteredCTAWidget"},"__typename":"QuiltComponent"}],"__typename":"MainSideSectionColumns"}}],"__typename":"QuiltContainer"},"__typename":"Quilt","localOverride":false},"localOverride":false},"CachedAsset:text:en_US-components/common/EmailVerification-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/common/EmailVerification-1787924119327","value":{"email.verification.title":"Email Verification Required","email.verification.message.update.email":"To participate in the community, you must first verify your email address. The verification email was sent to {email}. To change your email, visit My Settings.","email.verification.message.resend.email":"To participate in the community, you must first verify your email address. The verification email was sent to {email}. Resend email."},"localOverride":false},"CachedAsset:text:en_US-pages/blogs/BlogMessagePage-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-pages/blogs/BlogMessagePage-1787924119327","value":{"title":"{contextMessageSubject} | {communityTitle}","errorMissing":"This blog post cannot be found","name":"Blog Message Page","section.blog-article.title":"Blog Post","archivedMessageTitle":"This Content Has Been Archived","section.section-1729184836777.title":"","section.section-1729184836777.description":"","section.CncIde.title":"Blog Post","section.tifEmD.description":"","section.tifEmD.title":""},"localOverride":false},"CachedAsset:quiltWrapper:o365.prod:Common:1787012358711":{"__typename":"CachedAsset","id":"quiltWrapper:o365.prod:Common:1787012358711","value":{"id":"Common","header":{"backgroundImageProps":{"assetName":null,"backgroundSize":"COVER","backgroundRepeat":"NO_REPEAT","backgroundPosition":"CENTER_CENTER","lastModified":null,"__typename":"BackgroundImageProps"},"backgroundColor":"transparent","items":[{"id":"community.widget.navbarWidget","props":{"showUserName":true,"showRegisterLink":true,"useIconLanguagePicker":true,"useLabelLanguagePicker":true,"style":{"boxShadow":"var(--lia-bs-box-shadow-sm)","linkFontWeight":"400","controllerHighlightColor":"hsla(30, 100%, 50%)","dropdownDividerMarginBottom":"10px","hamburgerBorderHover":"none","linkFontSize":"14px","linkBoxShadowHover":"none","backgroundOpacity":0.8,"controllerBorderRadius":"var(--lia-border-radius-50)","hamburgerBgColor":"transparent","linkTextBorderBottom":"none","hamburgerColor":"var(--lia-nav-controller-icon-color)","brandLogoHeight":"30px","linkLetterSpacing":"normal","linkBgHoverColor":"transparent","collapseMenuDividerOpacity":0.16,"paddingBottom":"15px","dropdownPaddingBottom":"15px","dropdownMenuOffset":"2px","hamburgerBgHoverColor":"transparent","borderBottom":"1px solid var(--lia-bs-border-color)","hamburgerBorder":"none","dropdownPaddingX":"10px","brandMarginRightSm":"10px","linkBoxShadow":"none","linkJustifyContent":"flex-start","linkColor":"var(--lia-bs-body-color)","collapseMenuDividerBg":"var(--lia-nav-link-color)","dropdownPaddingTop":"10px","controllerTextColor":"var(--lia-nav-controller-icon-color)","controllerHighlightTextColor":"var(--lia-yiq-dark)","background":{"imageAssetName":"","color":"var(--lia-bs-white)","size":"COVER","repeat":"NO_REPEAT","position":"CENTER_CENTER","imageLastModified":""},"linkBorderRadius":"var(--lia-bs-border-radius-sm)","linkHoverColor":"var(--lia-bs-body-color)","position":"FIXED","linkBorder":"none","linkTextBorderBottomHover":"2px solid var(--lia-bs-primary)","brandMarginRight":"30px","hamburgerHoverColor":"var(--lia-nav-controller-icon-color)","linkBorderHover":"none","collapseMenuMarginLeft":"20px","linkFontStyle":"NORMAL","linkPaddingX":"10px","controllerTextHoverColor":"var(--lia-nav-controller-icon-hover-color)","paddingTop":"15px","linkPaddingY":"5px","linkTextTransform":"NONE","dropdownBorderColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","controllerBgHoverColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.1)","linkDropdownPaddingX":"var(--lia-nav-link-px)","linkBgColor":"transparent","linkDropdownPaddingY":"9px","controllerIconColor":"var(--lia-bs-body-color)","dropdownDividerMarginTop":"10px","linkGap":"10px","controllerIconHoverColor":"var(--lia-bs-body-color)"},"links":{"sideLinks":[],"logoLinks":[],"mainLinks":[{"children":[],"linkType":"INTERNAL","id":"gxcuf89792","params":{},"routeName":"CommunityPage"},{"children":[],"linkType":"EXTERNAL","id":"community-hub-link","url":"/Directory","target":"SELF"},{"children":[{"linkType":"INTERNAL","id":"Common-azure-link","params":{"categoryId":"Azure"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-content_management-link","params":{"categoryId":"Content_Management"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-exchange-link","params":{"categoryId":"Exchange"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-microsoft365-link","params":{"categoryId":"microsoft365"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-microsoft365-copilot-link","params":{"categoryId":"Microsoft365Copilot"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-microsoftintune-link","params":{"categoryId":"microsoftintune"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-microsoft-security-link","params":{"categoryId":"microsoft-security"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-microsoft-teams-link","params":{"categoryId":"MicrosoftTeams"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-outlook-link","params":{"categoryId":"Outlook"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-windows-link","params":{"categoryId":"Windows"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-windows-server-link","params":{"categoryId":"Windows-Server"},"routeName":"CategoryPage"},{"linkType":"EXTERNAL","id":"Common_Enntvz-view-all-products-link","url":"/Directory","target":"SELF"}],"linkType":"EXTERNAL","id":"products-link","url":"/","target":"SELF"},{"children":[{"linkType":"INTERNAL","id":"Common-driving-adoption-link","params":{"categoryId":"DrivingAdoption"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-education-sector-link","params":{"categoryId":"EducationSector"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-healthcare-and-life-sciences-link","params":{"categoryId":"HealthcareAndLifeSciences"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-io-t-link","params":{"categoryId":"IoT"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-i-t-ops-talk-link","params":{"categoryId":"ITOpsTalk"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-microsoft-learn-for-educators-link","params":{"categoryId":"microsoft-learn-for-educators"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-microsoft-mechanics-link","params":{"categoryId":"MicrosoftMechanics"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-mvp-link","params":{"categoryId":"mvp"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-partner-community-link","params":{"categoryId":"PartnerCommunity"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-microsoftfor-nonprofits-link","params":{"categoryId":"MicrosoftforNonprofits"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-public-sector-link","params":{"categoryId":"PublicSector"},"routeName":"CategoryPage"}],"linkType":"EXTERNAL","id":"topics-link","url":"/","target":"SELF"},{"children":[{"linkType":"INTERNAL","id":"Common-exchange-blog-link","params":{"boardId":"Exchange","categoryId":"Exchange"},"routeName":"BlogBoardPage"},{"linkType":"INTERNAL","id":"Common-intune-blog-link","params":{"boardId":"IntuneCustomerSuccess","categoryId":"microsoftintune"},"routeName":"BlogBoardPage"},{"linkType":"INTERNAL","id":"Common-microsoft365-blog-link","params":{"boardId":"microsoft_365blog","categoryId":"microsoft365"},"routeName":"BlogBoardPage"},{"linkType":"INTERNAL","id":"Common-microsoft365copilot-blog-link","params":{"boardId":"Microsoft365CopilotBlog","categoryId":"Microsoft365Copilot"},"routeName":"BlogBoardPage"},{"linkType":"INTERNAL","id":"Common-microsoft365insider-blog-link","params":{"boardId":"Microsoft365InsiderBlog","categoryId":"microsoft365"},"routeName":"BlogBoardPage"},{"linkType":"INTERNAL","id":"Common-foundry-blog-link","params":{"boardId":"azure-ai-foundry-blog","categoryId":"azure-ai-foundry"},"routeName":"BlogBoardPage"},{"linkType":"INTERNAL","id":"Common-partnernews-blog-link","params":{"boardId":"PartnerNews","categoryId":"PartnerCommunity"},"routeName":"BlogBoardPage"},{"linkType":"INTERNAL","id":"Common-security-blog-link","params":{"boardId":"microsoft-security-blog","categoryId":"microsoft-security-product"},"routeName":"BlogBoardPage"},{"linkType":"INTERNAL","id":"Common-teams-blog-link","params":{"boardId":"MicrosoftTeamsBlog","categoryId":"MicrosoftTeams"},"routeName":"BlogBoardPage"},{"linkType":"INTERNAL","id":"Common-skillshub-blog-link","params":{"boardId":"skills-hub-blog","categoryId":"skills-hub"},"routeName":"BlogBoardPage"},{"linkType":"INTERNAL","id":"Common-windowsitpro-blog-link","params":{"boardId":"Windows-ITPro-blog","categoryId":"Windows"},"routeName":"BlogBoardPage"},{"linkType":"EXTERNAL","id":"Common-viewall-blogs-link","url":"/Blogs","target":"SELF"}],"linkType":"EXTERNAL","id":"all-blogs-link","url":"/Blogs","target":"SELF"},{"children":[{"linkType":"INTERNAL","id":"Common-driving-adoption-events-link","params":{"boardId":"DrivingAdoptionEvents","categoryId":"DrivingAdoption"},"routeName":"EventBoardPage"},{"linkType":"INTERNAL","id":"Common-marketplace-events-link","params":{"boardId":"Marketplacecommunityeventscalendar","categoryId":"MCPP"},"routeName":"EventBoardPage"},{"linkType":"INTERNAL","id":"Common-microsoft365copilot-events-link","params":{"boardId":"Microsoft365Copilot-Events","categoryId":"Microsoft365Copilot"},"routeName":"EventBoardPage"},{"linkType":"INTERNAL","id":"Common-microsoft365-events-link","params":{"boardId":"microsoft365-Events","categoryId":"microsoft365"},"routeName":"EventBoardPage"},{"linkType":"INTERNAL","id":"Common-microsoftintune-events-link","params":{"boardId":"microsoftintuneevents","categoryId":"microsoftintune"},"routeName":"EventBoardPage"},{"linkType":"INTERNAL","id":"Common-microsoft-security-events-link","params":{"boardId":"microsoft-security-events","categoryId":"microsoft-security-product"},"routeName":"EventBoardPage"},{"linkType":"INTERNAL","id":"Common-partner-events-link","params":{"boardId":"PartnerEventsCalendar","categoryId":"MCPP"},"routeName":"EventBoardPage"},{"linkType":"INTERNAL","id":"Common-sharepoint-events-link","params":{"boardId":"SharePoint-Events","categoryId":"Content_Management"},"routeName":"EventBoardPage"},{"linkType":"INTERNAL","id":"Common-techcommunitylive-events-link","params":{"boardId":"TechCommunityLive","categoryId":"Events"},"routeName":"EventBoardPage"},{"linkType":"INTERNAL","id":"Common-windows-events-link","params":{"boardId":"WindowsEvents","categoryId":"Windows"},"routeName":"EventBoardPage"},{"linkType":"INTERNAL","id":"Common-windowsserver-events-link","params":{"boardId":"WindowsServer-Events","categoryId":"Windows-Server"},"routeName":"EventBoardPage"},{"linkType":"EXTERNAL","id":"Common-viewall-events-link","url":"/Events","target":"SELF"}],"linkType":"EXTERNAL","id":"all-events-link","url":"/Events","target":"SELF"},{"children":[{"linkType":"INTERNAL","id":"Skills-Hub-link","params":{"categoryId":"skills-hub"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Skills-Hub-Blog","params":{"boardId":"skills-hub-blog","categoryId":"skills-hub"},"routeName":"BlogBoardPage"},{"linkType":"EXTERNAL","id":"ms-learn-ext-LD","url":"/category/skills-hub?tab=grouphub","target":"BLANK"},{"linkType":"EXTERNAL","id":"ms-learn-ext-dynamics","url":"https://docs.microsoft.com/learn/dynamics365/?WT.mc_id=techcom_header-webpage-m365","target":"BLANK"},{"linkType":"EXTERNAL","id":"ms-learn-ext-m365","url":"https://docs.microsoft.com/learn/m365/?wt.mc_id=techcom_header-webpage-m365","target":"BLANK"},{"linkType":"EXTERNAL","id":"ms-learn-ext-security","url":"https://docs.microsoft.com/learn/topics/sci/?wt.mc_id=techcom_header-webpage-m365","target":"BLANK"},{"linkType":"EXTERNAL","id":"ms-learn-ext-pp","url":"https://docs.microsoft.com/learn/powerplatform/?wt.mc_id=techcom_header-webpage-powerplatform","target":"BLANK"},{"linkType":"EXTERNAL","id":"ms-learn-ext-github","url":"https://docs.microsoft.com/learn/github/?wt.mc_id=techcom_header-webpage-github","target":"BLANK"},{"linkType":"EXTERNAL","id":"ms-learn-ext-teams","url":"https://docs.microsoft.com/learn/teams/?wt.mc_id=techcom_header-webpage-teams","target":"BLANK"},{"linkType":"EXTERNAL","id":"ms-learn-ext-net","url":"https://docs.microsoft.com/learn/dotnet/?wt.mc_id=techcom_header-webpage-dotnet","target":"BLANK"},{"linkType":"EXTERNAL","id":"ms-learn-ext-azure","url":"https://docs.microsoft.com/learn/azure/?WT.mc_id=techcom_header-webpage-m365","target":"BLANK"}],"linkType":"INTERNAL","id":"Skills-Hub","params":{"categoryId":"skills-hub"},"routeName":"CategoryPage"},{"children":[{"linkType":"INTERNAL","id":"Common-community-info-center-link","params":{"categoryId":"Community-Info-Center"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-usergroups-link","params":{"categoryId":"usergroups"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-community-news-desk-link","params":{"categoryId":"CommunityNewsDesk"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"Common-microsoft-global-community-initiative-link","params":{"categoryId":"microsoft-global-community-initiative"},"routeName":"CategoryPage"}],"linkType":"INTERNAL","id":"Common-gxcuf89792-community","params":{},"routeName":"CommunityPage"}]},"showSearchIcon":true,"languagePickerStyle":"iconAndLabel"},"__typename":"QuiltComponent"},{"id":"community.widget.breadcrumbWidget","props":{"backgroundColor":"transparent","linkHighlightColor":"var(--lia-bs-primary)","visualEffects":{"showBottomBorder":true},"linkTextColor":"var(--lia-bs-gray-700)"},"__typename":"QuiltComponent"},{"id":"custom.widget.CommunityBanner","props":{"widgetVisibility":"signedInOrAnonymous","useTitle":true,"usePageWidth":false,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"},{"id":"custom.widget.ChatbotWidget","props":{"customComponentId":"custom.widget.ChatbotWidget","cDisplay_form":true,"useBackground":false},"__typename":"QuiltComponent"},{"id":"custom.widget.HeroBanner","props":{"widgetVisibility":"signedInOrAnonymous","usePageWidth":false,"useTitle":true,"cMax_items":3,"useBackground":false,"title":"","lazyLoad":false,"widgetChooser":"custom.widget.HeroBanner"},"__typename":"QuiltComponent"},{"id":"custom.widget.FollowHotlink","props":{"widgetVisibility":"signedInOrAnonymous","useBackground":false,"lazyLoad":false},"__typename":"QuiltComponent"}],"__typename":"QuiltWrapperSection"},"footer":{"backgroundImageProps":{"assetName":null,"backgroundSize":"COVER","backgroundRepeat":"NO_REPEAT","backgroundPosition":"CENTER_CENTER","lastModified":null,"__typename":"BackgroundImageProps"},"backgroundColor":"transparent","items":[{"id":"custom.widget.SocialSharing","props":{"widgetVisibility":"signedInOrAnonymous","useTitle":true,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"},{"id":"custom.widget.MicrosoftFooter","props":{"widgetVisibility":"signedInOrAnonymous","useTitle":true,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"}],"__typename":"QuiltWrapperSection"},"__typename":"QuiltWrapper","localOverride":false},"localOverride":false},"CachedAsset:text:en_US-components/common/ActionFeedback-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/common/ActionFeedback-1787924119327","value":{"joinedGroupHub.title":"Welcome","joinedGroupHub.message":"You are now a member of this group and are subscribed to updates.","groupHubInviteNotFound.title":"Invitation Not Found","groupHubInviteNotFound.message":"Sorry, we could not find your invitation to the group. The owner may have canceled the invite.","groupHubNotFound.title":"Group Not Found","groupHubNotFound.message":"The grouphub you tried to join does not exist. It may have been deleted.","existingGroupHubMember.title":"Already Joined","existingGroupHubMember.message":"You are already a member of this group.","accountLocked.title":"Account Locked","accountLocked.message":"Your account has been locked due to multiple failed attempts. Try again in {lockoutTime} minutes.","editedGroupHub.title":"Changes Saved","editedGroupHub.message":"Your group has been updated.","leftGroupHub.title":"Goodbye","leftGroupHub.message":"You are no longer a member of this group and will not receive future updates.","deletedGroupHub.title":"Deleted","deletedGroupHub.message":"The group has been deleted.","groupHubCreated.title":"Group Created","groupHubCreated.message":"{groupHubName} is ready to use","accountClosed.title":"Account Closed","accountClosed.message":"The account has been closed and you will now be redirected to the homepage","resetTokenExpired.title":"Reset Password Link has Expired","resetTokenExpired.message":"Try resetting your password again","invalidUrl.title":"Invalid URL","invalidUrl.message":"The URL you're using is not recognized. Verify your URL and try again.","accountClosedForUser.title":"Account Closed","accountClosedForUser.message":"{userName}'s account is closed","inviteTokenInvalid.title":"Invitation Invalid","inviteTokenInvalid.message":"Your invitation to the community has been canceled or expired.","inviteTokenError.title":"Invitation Verification Failed","inviteTokenError.message":"The url you are utilizing is not recognized. Verify your URL and try again","pageNotFound.title":"Access Denied","pageNotFound.message":"You do not have access to this area of the community or it doesn't exist","eventAttending.title":"Responded as Attending","eventAttending.message":"You'll be notified when there's new activity and reminded as the event approaches","eventInterested.title":"Responded as Interested","eventInterested.message":"You'll be notified when there's new activity and reminded as the event approaches","eventNotFound.title":"Event Not Found","eventNotFound.message":"The event you tried to respond to does not exist.","redirectToRelatedPage.title":"Showing Related Content","redirectToRelatedPageForBaseUsers.title":"Showing Related Content","redirectToRelatedPageForBaseUsers.message":"The content you are trying to access is archived","redirectToRelatedPage.message":"The content you are trying to access is archived","relatedUrl.archivalLink.flyoutMessage":"The content you are trying to access is archived View Archived Content"},"localOverride":false},"CachedAsset:component:custom.widget.CommunityBanner-en-us-1786999457718":{"__typename":"CachedAsset","id":"component:custom.widget.CommunityBanner-en-us-1786999457718","value":{"component":{"id":"custom.widget.CommunityBanner","template":{"id":"CommunityBanner","markupLanguage":"REACT","style":null,"texts":null,"defaults":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.CommunityBanner","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.ChatbotWidget-en-us-1786999457718":{"__typename":"CachedAsset","id":"component:custom.widget.ChatbotWidget-en-us-1786999457718","value":{"component":{"id":"custom.widget.ChatbotWidget","template":{"id":"ChatbotWidget","markupLanguage":"REACT","style":null,"texts":{"chatbot.references.title":"Related Articles","chatbot.welcome.title":"Welcome!","chatbot.welcome.description":"I'm here to help you explore and discover great content.","chatbot.welcome.prompt":"Ask me a question or choose a suggestion below to get started:","chatbot.welcome.cta":"Let's dive in—what would you like to discover today?","chatbot.status.typing":"Assistant is typing…","chatbot.status.error":"error","chatbot.error.response":"Failed to get response. Please try again.","chatbot.error.processing":"There was an error processing your message.","chatbot.error.configuration":"API URL not configured","chatbot.error.network":"Network error occurred. Please check your connection and try again.","chatbot.error.timeout":"Request timed out. Please try again.","chatbot.error.emptyResponse":"I couldn't generate a response. Please try rephrasing your question.","chatbot.buttons.send":"Send","chatbot.buttons.close":"Close chat","chatbot.buttons.newChat":"Start new chat","chatbot.buttons.collapse":"Collapse chat panel","chatbot.buttons.expand":"Expand chat panel","chatbot.buttons.fullscreen":"Enter fullscreen","chatbot.buttons.exitFullscreen":"Exit fullscreen","chatbot.buttons.like":"Like this response","chatbot.buttons.dislike":"Dislike this response","chatbot.buttons.removeLike":"Remove like","chatbot.buttons.removeDislike":"Remove dislike","chatbot.aria.chatInput":"Chat input","chatbot.aria.sendMessage":"Send message","chatbot.aria.openChat":"Open chat assistant","chatbot.aria.closeChat":"Close chat assistant","chatbot.defaults.title":"Ask Tech Community","chatbot.defaults.subtitle":"Ask questions – get answers","chatbot.defaults.entryHeading":"Find answers","chatbot.defaults.entrySubtext":"Ask the agent","chatbot.defaults.placeholder":"Type your message…","chatbot.defaults.initialMessage":"Hi! I'm your assistant. Ask me something or pick a suggestion above to begin.","chatbot.suggestions.findBlogs":"Find insightful blogs","chatbot.suggestions.exploreEvents":"Explore upcoming events","chatbot.suggestions.startJourney":"Start your journey with something new","chatbot.dialog.endConversation":"End conversation","chatbot.dialog.confirmEndConversation":"Do you want to end this conversation and start over?","chatbot.dialog.endConversationButton":"End conversation","chatbot.dialog.cancel":"Cancel","chatbot.error.genericServiceUnavailable":"The service is currently unavailable. Please try again later.","chatbot.error.noResults":"We could not find any information related to your query. Try rephrasing your query."},"defaults":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.ChatbotWidget","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.HeroBanner-en-us-1786999457718":{"__typename":"CachedAsset","id":"component:custom.widget.HeroBanner-en-us-1786999457718","value":{"component":{"id":"custom.widget.HeroBanner","template":{"id":"HeroBanner","markupLanguage":"REACT","style":null,"texts":{"searchPlaceholderText":"Search this community","followActionText":"Follow","unfollowActionText":"Following","searchOnHoverText":"Please enter your search term(s) and then press return key to complete a search.","blogs.sidebar.pagetitle":"Latest Blogs | Microsoft Tech Community","followThisNode":"Follow this node","unfollowThisNode":"Unfollow this node","customField.teamsLink.title":"Microsoft teams link","customField.teamsLink.label":"Teams meeting url","qaAgent.submitForAIReview":"Submit for AI Review","qaAgent.warningModal.title":"QA Agent Review Warning","qaAgent.warningModal.content":"This article has not completed the Blog QA AI Agent Review. Are you sure you wish to publish it?","qaAgent.warningModal.cancel":"Cancel","qaAgent.warningModal.publishAnyway":"Publish Anyway"},"defaults":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[{"id":"max_items","dataType":"NUMBER","list":false,"defaultValue":"3","label":"Max Items","description":"The maximum number of items to display in the carousel","possibleValues":null,"control":"INPUT","__typename":"PropDefinition"}],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.HeroBanner","form":{"fields":[{"id":"widgetChooser","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"title","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useTitle","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useBackground","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"widgetVisibility","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"moreOptions","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"cMax_items","validation":null,"noValidation":null,"dataType":"NUMBER","list":false,"control":"INPUT","defaultValue":"3","label":"Max Items","description":"The maximum number of items to display in the carousel","possibleValues":null,"__typename":"FormField"}],"layout":{"rows":[{"id":"widgetChooserGroup","type":"fieldset","as":null,"items":[{"id":"widgetChooser","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"titleGroup","type":"fieldset","as":null,"items":[{"id":"title","className":null,"__typename":"FormFieldRef"},{"id":"useTitle","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"useBackground","type":"fieldset","as":null,"items":[{"id":"useBackground","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"widgetVisibility","type":"fieldset","as":null,"items":[{"id":"widgetVisibility","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"moreOptionsGroup","type":"fieldset","as":null,"items":[{"id":"moreOptions","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"componentPropsGroup","type":"fieldset","as":null,"items":[{"id":"cMax_items","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"}],"actionButtons":null,"className":"custom_widget_HeroBanner_form","formGroupFieldSeparator":"divider","__typename":"FormLayout"},"__typename":"Form"},"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[{"id":"max_items","dataType":"NUMBER","list":false,"defaultValue":"3","label":"Max Items","description":"The maximum number of items to display in the carousel","possibleValues":null,"control":"INPUT","__typename":"PropDefinition"}],"__typename":"ComponentProperties"},"form":{"fields":[{"id":"widgetChooser","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"title","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useTitle","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useBackground","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"widgetVisibility","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"moreOptions","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"cMax_items","validation":null,"noValidation":null,"dataType":"NUMBER","list":false,"control":"INPUT","defaultValue":"3","label":"Max Items","description":"The maximum number of items to display in the carousel","possibleValues":null,"__typename":"FormField"}],"layout":{"rows":[{"id":"widgetChooserGroup","type":"fieldset","as":null,"items":[{"id":"widgetChooser","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"titleGroup","type":"fieldset","as":null,"items":[{"id":"title","className":null,"__typename":"FormFieldRef"},{"id":"useTitle","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"useBackground","type":"fieldset","as":null,"items":[{"id":"useBackground","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"widgetVisibility","type":"fieldset","as":null,"items":[{"id":"widgetVisibility","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"moreOptionsGroup","type":"fieldset","as":null,"items":[{"id":"moreOptions","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"componentPropsGroup","type":"fieldset","as":null,"items":[{"id":"cMax_items","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"}],"actionButtons":null,"className":"custom_widget_HeroBanner_form","formGroupFieldSeparator":"divider","__typename":"FormLayout"},"__typename":"Form"},"__typename":"Component","localOverride":false},"globalCss":null,"form":{"fields":[{"id":"widgetChooser","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"title","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useTitle","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useBackground","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"widgetVisibility","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"moreOptions","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"cMax_items","validation":null,"noValidation":null,"dataType":"NUMBER","list":false,"control":"INPUT","defaultValue":"3","label":"Max Items","description":"The maximum number of items to display in the carousel","possibleValues":null,"__typename":"FormField"}],"layout":{"rows":[{"id":"widgetChooserGroup","type":"fieldset","as":null,"items":[{"id":"widgetChooser","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"titleGroup","type":"fieldset","as":null,"items":[{"id":"title","className":null,"__typename":"FormFieldRef"},{"id":"useTitle","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"useBackground","type":"fieldset","as":null,"items":[{"id":"useBackground","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"widgetVisibility","type":"fieldset","as":null,"items":[{"id":"widgetVisibility","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"moreOptionsGroup","type":"fieldset","as":null,"items":[{"id":"moreOptions","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"componentPropsGroup","type":"fieldset","as":null,"items":[{"id":"cMax_items","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"}],"actionButtons":null,"className":"custom_widget_HeroBanner_form","formGroupFieldSeparator":"divider","__typename":"FormLayout"},"__typename":"Form"}},"localOverride":false},"CachedAsset:component:custom.widget.FollowHotlink-en-us-1786999457718":{"__typename":"CachedAsset","id":"component:custom.widget.FollowHotlink-en-us-1786999457718","value":{"component":{"id":"custom.widget.FollowHotlink","template":{"id":"FollowHotlink","markupLanguage":"REACT","style":null,"texts":{"confirmTitle":"Follow this space?","confirmMessage":"Would you like to follow {nodeName}?","settingsHint":"You can manage this subscription at any time via {mySettingsLink}.","mySettingsLinkText":"My Settings","confirmButton":"Follow","cancelButton":"Cancel","processing":"Following...","followSuccess":"You are now following {nodeName}","followError":"Unable to follow this space. Please try again.","alreadyFollowing":"You are already following {nodeName}"},"defaults":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.FollowHotlink","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.CustomBlogPreview-en-us-1786999457718":{"__typename":"CachedAsset","id":"component:custom.widget.CustomBlogPreview-en-us-1786999457718","value":{"component":{"id":"custom.widget.CustomBlogPreview","template":{"id":"CustomBlogPreview","markupLanguage":"REACT","style":null,"texts":{"submitForAIReview":"Submit for AI Review","warningModal.title":"QA Agent Review Warning","warningModal.content":"This article has not completed the Blog QA AI Agent Review. Are you sure you wish to publish it?","warningModal.yes":"Publish Anyway","warningModal.no":"Cancel"},"defaults":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.CustomBlogPreview","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.CoAuthorDisplay-en-us-1786999457718":{"__typename":"CachedAsset","id":"component:custom.widget.CoAuthorDisplay-en-us-1786999457718","value":{"component":{"id":"custom.widget.CoAuthorDisplay","template":{"id":"CoAuthorDisplay","markupLanguage":"REACT","style":null,"texts":{"coAuthoredBy":"Co-authored by {names}","fallbackText":"Co-authored by multiple authors"},"defaults":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.CoAuthorDisplay","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.UnregisteredCTAWidget-en-us-1786999457718":{"__typename":"CachedAsset","id":"component:custom.widget.UnregisteredCTAWidget-en-us-1786999457718","value":{"component":{"id":"custom.widget.UnregisteredCTAWidget","template":{"id":"UnregisteredCTAWidget","markupLanguage":"REACT","style":null,"texts":{"register.communityHub":"Welcome to the {name} Community Hub. Sign in to like, participate, or start a conversation.","register.category":"Welcome to the {name} Community Hub. Sign in to like, participate, or start a conversation.","register.discussionBoard":"Welcome to the {name} space. Sign in to like, reply, or start a discussion.","register.blogSpace":"Welcome to the {name} space. Sign in to like or comment on articles in this space.","register.eventSpace":"Welcome to the {name} space. Sign in to RSVP, add events to your calendar, and join the conversation.","register.ideaSpace":"Welcome to the {name} space. Sign in to vote, comment, or submit your own feedback.","buttonRegister":"Sign in","register.discussionBoardArticle":"Have a question or insight to share? Sign in to join the discussion.","register.blogSpaceArticle":"Enjoying the article? Sign in to share your thoughts.","register.eventSpaceArticle":"Don’t just watch - take part. Sign in to RSVP, ask questions, and join the discussion.","register.ideaSpaceArticle":"Sign in to submit ideas, upvote ideas, and join the conversation."},"defaults":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.UnregisteredCTAWidget","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.SocialSharing-en-us-1786999457718":{"__typename":"CachedAsset","id":"component:custom.widget.SocialSharing-en-us-1786999457718","value":{"component":{"id":"custom.widget.SocialSharing","template":{"id":"SocialSharing","markupLanguage":"HANDLEBARS","style":".sharePage {\n display: flex;\n justify-content: center;\n background: #d7d7d7;\n padding: 0px;\n height: 60px;\n}\n.singleSocialIcons {\n display: flex;\n gap: 12px;\n list-style-type: none;\n padding: 0px;\n margin: 0;\n}\n.containers {\n display: flex;\n gap: 30px;\n}\n\n.listIcon {\n align-content: center;\n}\n.headingShare {\n display: inline;\n margin-right: 25px;\n margin-bottom: 0px;\n font-size: 20px;\n font-weight: 550;\n align-content: center;\n}\n\n@media (max-width: 990px) {\n .sharePage {\n display: flex;\n justify-content: center;\n }\n\n .containers {\n display: inline-block;\n justify-content: center;\n align-content: center;\n align-items: center;\n }\n .headingShare {\n display: flex;\n justify-content: center;\n }\n .singleSocialIcons {\n }\n}\n","texts":null,"defaults":{"config":{"applicablePages":[],"description":"Adds buttons to share to various social media websites","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.SocialSharing","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":"Adds buttons to share to various social media websites","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":{"css":".custom_widget_SocialSharing_sharePage_6x3n8_1 {\n display: flex;\n justify-content: center;\n background: #d7d7d7;\n padding: 0;\n height: 3.75rem;\n}\n.custom_widget_SocialSharing_singleSocialIcons_6x3n8_8 {\n display: flex;\n gap: 0.75rem;\n list-style-type: none;\n padding: 0;\n margin: 0;\n}\n.custom_widget_SocialSharing_containers_6x3n8_15 {\n display: flex;\n gap: 1.875rem;\n}\n.custom_widget_SocialSharing_listIcon_6x3n8_20 {\n align-content: center;\n}\n.custom_widget_SocialSharing_headingShare_6x3n8_23 {\n display: inline;\n margin-right: 1.5625rem;\n margin-bottom: 0;\n font-size: 1.25rem;\n font-weight: 550;\n align-content: center;\n}\n@media (max-width: 990px) {\n .custom_widget_SocialSharing_sharePage_6x3n8_1 {\n display: flex;\n justify-content: center;\n }\n\n .custom_widget_SocialSharing_containers_6x3n8_15 {\n display: inline-block;\n justify-content: center;\n align-content: center;\n align-items: center;\n }\n .custom_widget_SocialSharing_headingShare_6x3n8_23 {\n display: flex;\n justify-content: center;\n }\n .custom_widget_SocialSharing_singleSocialIcons_6x3n8_8 {\n }\n}\n","tokens":{"sharePage":"custom_widget_SocialSharing_sharePage_6x3n8_1","singleSocialIcons":"custom_widget_SocialSharing_singleSocialIcons_6x3n8_8","containers":"custom_widget_SocialSharing_containers_6x3n8_15","listIcon":"custom_widget_SocialSharing_listIcon_6x3n8_20","headingShare":"custom_widget_SocialSharing_headingShare_6x3n8_23"}},"form":null},"localOverride":false},"CachedAsset:component:custom.widget.MicrosoftFooter-en-us-1786999457718":{"__typename":"CachedAsset","id":"component:custom.widget.MicrosoftFooter-en-us-1786999457718","value":{"component":{"id":"custom.widget.MicrosoftFooter","template":{"id":"MicrosoftFooter","markupLanguage":"HANDLEBARS","style":".context-uhf {\r\n min-width: 280px;\r\n font-size: 15px;\r\n box-sizing: border-box;\r\n -ms-text-size-adjust: 100%;\r\n -webkit-text-size-adjust: 100%;\r\n & *,\r\n & *:before,\r\n & *:after {\r\n box-sizing: inherit;\r\n }\r\n a.c-uhff-link {\r\n color: #616161;\r\n word-break: break-word;\r\n text-decoration: none;\r\n }\r\n &a:link,\r\n &a:focus,\r\n &a:hover,\r\n &a:active,\r\n &a:visited {\r\n text-decoration: none;\r\n color: inherit;\r\n }\r\n & div {\r\n font-family: 'Segoe UI', SegoeUI, 'Helvetica Neue', Helvetica, Arial, sans-serif;\r\n }\r\n}\r\n.c-uhff {\r\n background: #f2f2f2;\r\n margin: -1.5625;\r\n width: auto;\r\n height: auto;\r\n}\r\n.c-uhff-nav {\r\n margin: 0 auto;\r\n max-width: calc(1600px + 10%);\r\n padding: 0 5%;\r\n box-sizing: inherit;\r\n &:before,\r\n &:after {\r\n content: ' ';\r\n display: table;\r\n clear: left;\r\n }\r\n @media only screen and (max-width: 1083px) {\r\n padding-left: 12px;\r\n }\r\n .c-heading-4 {\r\n color: #616161;\r\n word-break: break-word;\r\n font-size: 15px;\r\n line-height: 20px;\r\n padding: 36px 0 4px;\r\n font-weight: 600;\r\n }\r\n .c-uhff-nav-row {\r\n .c-uhff-nav-group {\r\n display: block;\r\n float: left;\r\n min-height: 1px;\r\n vertical-align: text-top;\r\n padding: 0 12px;\r\n width: 100%;\r\n zoom: 1;\r\n &:first-child {\r\n padding-left: 0;\r\n @media only screen and (max-width: 1083px) {\r\n padding-left: 12px;\r\n }\r\n }\r\n @media only screen and (min-width: 540px) and (max-width: 1082px) {\r\n width: 33.33333%;\r\n }\r\n @media only screen and (min-width: 1083px) {\r\n width: 16.6666666667%;\r\n }\r\n ul.c-list.f-bare {\r\n font-size: 11px;\r\n line-height: 16px;\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n padding-left: 0;\r\n list-style-type: none;\r\n li {\r\n word-break: break-word;\r\n padding: 8px 0;\r\n margin: 0;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.c-uhff-base {\r\n background: #f2f2f2;\r\n margin: 0 auto;\r\n max-width: calc(1600px + 10%);\r\n padding: 30px 5% 16px;\r\n &:before,\r\n &:after {\r\n content: ' ';\r\n display: table;\r\n }\r\n &:after {\r\n clear: both;\r\n }\r\n a.c-uhff-ccpa,\r\n a.c-uhff-consumer {\r\n display: flex;\r\n float: left;\r\n font-size: 11px;\r\n line-height: 16px;\r\n padding: 4px 24px 0 0;\r\n }\r\n a.c-uhff-ccpa:hover,\r\n a.c-uhff-consumer:hover {\r\n text-decoration: underline;\r\n }\r\n ul.c-list {\r\n font-size: 11px;\r\n line-height: 16px;\r\n float: right;\r\n margin: 3px 0;\r\n color: #616161;\r\n li {\r\n padding: 0 24px 4px 0;\r\n display: inline-block;\r\n }\r\n }\r\n .c-list.f-bare {\r\n padding-left: 0;\r\n list-style-type: none;\r\n }\r\n @media only screen and (max-width: 1083px) {\r\n display: flex;\r\n flex-wrap: wrap;\r\n padding: 30px 24px 16px;\r\n }\r\n}\r\n\r\n.social-share {\r\n position: fixed;\r\n top: 60%;\r\n transform: translateY(-50%);\r\n left: 0;\r\n z-index: 1000;\r\n}\r\n\r\n.sharing-options {\r\n list-style: none;\r\n padding: 0;\r\n margin: 0;\r\n display: block;\r\n flex-direction: column;\r\n background-color: white;\r\n width: 50px;\r\n border-radius: 0px 7px 7px 0px;\r\n}\r\n.linkedin-icon {\r\n border-top-right-radius: 7px;\r\n}\r\n.linkedin-icon:hover {\r\n border-radius: 0;\r\n}\r\n\r\n.social-share-email-image:hover {\r\n border-radius: 0;\r\n}\r\n\r\n.social-link-footer:hover .linkedin-icon {\r\n border-radius: 0;\r\n}\r\n.social-link-footer:hover .social-share-email-image {\r\n border-radius: 0;\r\n}\r\n\r\n.social-link-footer img {\r\n width: 30px;\r\n height: auto;\r\n transition: filter 0.3s ease;\r\n}\r\n\r\n.social-share-list {\r\n width: 50px;\r\n}\r\n.social-share-rss-image {\r\n width: 30px;\r\n height: auto;\r\n transition: filter 0.3s ease;\r\n}\r\n.sharing-options li {\r\n width: 50px;\r\n height: 50px;\r\n padding: 8px;\r\n box-sizing: border-box;\r\n border: 2px solid white;\r\n display: inline-block;\r\n text-align: center;\r\n opacity: 1;\r\n visibility: visible;\r\n transition: border 0.3s ease; /* Smooth transition effect */\r\n border-left: none;\r\n border-bottom: none; /* Apply bottom border to only last item */\r\n}\r\n\r\n.social-share-list-linkedin {\r\n background-color: #0474b4;\r\n border-top-right-radius: 5px; /* Rounded top right corner of first item*/\r\n}\r\n.social-share-list-facebook {\r\n background-color: #3c5c9c;\r\n}\r\n.social-share-list-xicon {\r\n background-color: #000;\r\n}\r\n.social-share-list-reddit {\r\n background-color: #fc4404;\r\n}\r\n.social-share-list-bluesky {\r\n background-color: #f0f2f5;\r\n}\r\n.social-share-list-rss {\r\n background-color: #ec7b1c;\r\n}\r\n.social-share-list-mail {\r\n background-color: #848484;\r\n border-bottom-right-radius: 5px; /* Rounded bottom right corner of last item*/\r\n}\r\n.sharing-options li.social-share-list-mail {\r\n border-bottom: 2px solid white; /* Add bottom border only to the last item */\r\n height: 52px; /* Increase last child height to make in align with the hover label */\r\n}\r\n.x-icon {\r\n filter: invert(100%);\r\n transition: filter 0.3s ease;\r\n width: 20px !important;\r\n height: auto;\r\n padding-top: 5px !important;\r\n}\r\n.bluesky-icon {\r\n filter: invert(20%) sepia(100%) saturate(3000%) hue-rotate(180deg);\r\n transition: filter 0.3s ease;\r\n padding-top: 5px !important;\r\n width: 25px !important;\r\n}\r\n\r\n.share-icon {\r\n border: 2px solid transparent;\r\n display: inline-block;\r\n position: relative;\r\n}\r\n\r\n.sharing-options li:hover {\r\n border: 2px solid white;\r\n border-left: none;\r\n border-bottom: none;\r\n border-radius: 0px;\r\n}\r\n.sharing-options li.social-share-list-mail:hover {\r\n border-bottom: 2px solid white; /* Add bottom border only to the last item */\r\n}\r\n\r\n.sharing-options li:hover .label {\r\n opacity: 1;\r\n visibility: visible;\r\n border: 2px solid white;\r\n box-sizing: border-box;\r\n border-left: none;\r\n}\r\n\r\n.label {\r\n position: absolute;\r\n left: 100%;\r\n white-space: nowrap;\r\n opacity: 0;\r\n visibility: hidden;\r\n transition: all 0.2s ease;\r\n color: white;\r\n border-radius: 0 10 0 10px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n height: 52px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 10px 12px 15px 8px;\r\n border: 2px solid white;\r\n}\r\n.linkedin {\r\n background-color: #0474b4;\r\n border-top-right-radius: 5px; /* Rounded top right corner of first item*/\r\n}\r\n.facebook {\r\n background-color: #3c5c9c;\r\n}\r\n.twitter {\r\n background-color: black;\r\n color: white;\r\n}\r\n.reddit {\r\n background-color: #fc4404;\r\n}\r\n.mail {\r\n background-color: #848484;\r\n border-bottom-right-radius: 5px; /* Rounded bottom right corner of last item*/\r\n}\r\n.bluesky {\r\n background-color: #f0f2f5;\r\n color: black;\r\n}\r\n.rss {\r\n background-color: #ec7b1c;\r\n}\r\n\r\n@media (max-width: 991px) {\r\n .social-share {\r\n display: none;\r\n }\r\n}\r\n","texts":{"heading.whatsNew":"What's new","heading.store":"Microsoft Store","heading.education":"Education","heading.business":"Business","heading.developer":"Developer & IT","heading.company":"Company","link.whatsNew.surfacePro":"Surface Pro","aria.whatsNew.surfacePro":"Surface Pro What's new","link.whatsNew.surfaceLaptop":"Surface Laptop","aria.whatsNew.surfaceLaptop":"Surface Laptop What's new","link.whatsNew.surfaceLaptopStudio2":"Surface Laptop Studio 2","aria.whatsNew.surfaceLaptopStudio2":"Surface Laptop Studio 2 What's new","link.whatsNew.copilotOrganizations":"Copilot for organizations","aria.whatsNew.copilotOrganizations":"Copilot for organizations What's new","link.whatsNew.copilotPersonal":"Copilot for personal use","aria.whatsNew.copilotPersonal":"Copilot for personal use What's new","link.whatsNew.aiInWindows":"AI in Windows","aria.whatsNew.aiInWindows":"AI in Windows What's new","link.whatsNew.exploreProducts":"Explore Microsoft products","aria.whatsNew.exploreProducts":"Explore Microsoft products What's new","link.whatsNew.windows11Apps":"Windows 11 apps","aria.whatsNew.windows11Apps":"Windows 11 apps What's new","link.store.accountProfile":"Account profile","aria.store.accountProfile":"Account profile Microsoft Store","link.store.downloadCenter":"Download Center","aria.store.downloadCenter":"Download Center Microsoft Store","link.store.support":"Microsoft Store support","aria.store.support":"Microsoft Store support Microsoft Store","link.store.returns":"Returns","aria.store.returns":"Returns Microsoft Store","link.store.orderTracking":"Order tracking","aria.store.orderTracking":"Order tracking Microsoft Store","link.store.certifiedRefurbished":"Certified Refurbished","aria.store.certifiedRefurbished":"Certified Refurbished Microsoft Store","link.store.promise":"Microsoft Store Promise","aria.store.promise":"Microsoft Store Promise Microsoft Store","link.store.flexiblePayments":"Flexible Payments","aria.store.flexiblePayments":"Flexible Payments Microsoft Store","link.education.microsoftInEducation":"Microsoft in education","aria.education.microsoftInEducation":"Microsoft in education Education","link.education.devices":"Devices for education","aria.education.devices":"Devices for education Education","link.education.teams":"Microsoft Teams for Education","aria.education.teams":"Microsoft Teams for Education Education","link.education.m365":"Microsoft 365 Education","aria.education.m365":"Microsoft 365 Education Education","link.education.howToBuy":"How to buy for your school","aria.education.howToBuy":"How to buy for your school Education","link.education.training":"Educator training and development","aria.education.training":"Educator training and development Education","link.education.deals":"Deals for students and parents","aria.education.deals":"Deals for students and parents Education","link.education.ai":"AI for education","aria.education.ai":"AI for education Education","link.business.microsoftAi":"Microsoft AI","aria.business.microsoftAi":"Microsoft AI Business","link.business.security":"Microsoft Security","aria.business.security":"Microsoft Security Business","link.business.dynamics":"Dynamics 365","aria.business.dynamics":"Dynamics 365 Business","link.business.m365":"Microsoft 365","aria.business.m365":"Microsoft 365 Business","link.business.powerPlatform":"Microsoft Power Platform","aria.business.powerPlatform":"Microsoft Power Platform Business","link.business.teams":"Microsoft Teams","aria.business.teams":"Microsoft Teams Business","link.business.m365Copilot":"Microsoft 365 Copilot","aria.business.m365Copilot":"Microsoft 365 Copilot Business","link.business.smallBusiness":"Small Business","aria.business.smallBusiness":"Small Business Business","link.developer.azure":"Azure","aria.developer.azure":"Azure Developer & IT","link.developer.developerCenter":"Microsoft Developer","aria.developer.developerCenter":"Microsoft Developer Developer & IT","link.developer.learn":"Microsoft Learn","aria.developer.learn":"Microsoft Learn Developer & IT","link.developer.aiMarketplace":"Support for AI marketplace apps","aria.developer.aiMarketplace":"Support for AI marketplace apps Developer & IT","link.developer.techCommunity":"Microsoft Tech Community","aria.developer.techCommunity":"Microsoft Tech Community Developer & IT","link.developer.marketplace":"Microsoft Marketplace","aria.developer.marketplace":"Microsoft Marketplace Developer & IT","link.developer.marketplaceRewards":"Marketplace Rewards","aria.developer.marketplaceRewards":"Marketplace Rewards Developer & IT","link.developer.visualStudio":"Visual Studio","aria.developer.visualStudio":"Visual Studio Developer & IT","link.company.careers":"Careers","aria.company.careers":"Careers Company","link.company.about":"About Microsoft","aria.company.about":"About Microsoft Company","link.company.news":"Company news","aria.company.news":"Company news Company","link.company.privacy":"Privacy at Microsoft","aria.company.privacy":"Privacy at Microsoft Company","link.company.investors":"Investors","aria.company.investors":"Investors Company","link.company.diversity":"Diversity and inclusion","aria.company.diversity":"Diversity and inclusion Company","link.company.accessibility":"Accessibility","aria.company.accessibility":"Accessibility Company","link.company.sustainability":"Sustainability","aria.company.sustainability":"Sustainability Company","ccpa.label":"Your Privacy Choices","consumerhealthprivacy.label":"Consumer Health Privacy","corp.sitemap":"Sitemap","corp.contact":"Contact Microsoft","corp.privacy":"Privacy","corp.manageCookies":"Manage cookies","corp.terms":"Terms of use","corp.trademarks":"Trademarks","corp.safetyEco":"Safety & eco","corp.recycling":"Recycling","corp.aboutAds":"About our ads","corp.microsoft":"Microsoft","social.linkedin.alt":"Share to LinkedIn","social.linkedin.label":"Share on LinkedIn","social.facebook.alt":"Share to Facebook","social.facebook.label":"Share on Facebook","social.x.alt":"Share to X","social.x.label":"Share on X","social.reddit.alt":"Share to Reddit","social.reddit.label":"Share on Reddit","social.bluesky.alt":"Share to Blue Sky","social.bluesky.label":"Share on Bluesky","social.rss.alt":"Subscribe to RSS","social.rss.label":"Share on RSS","social.email.alt":"Share to Email","social.email.label":"Share on Email"},"defaults":{"config":{"applicablePages":[],"description":"The Microsoft Footer","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.MicrosoftFooter","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":"The Microsoft Footer","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":{"css":".custom_widget_MicrosoftFooter_context-uhf_qp4x5_1 {\r\n min-width: 17.5rem;\r\n font-size: 0.9375rem;\r\n box-sizing: border-box;\r\n -ms-text-size-adjust: 100%;\r\n -webkit-text-size-adjust: 100%;\r\n & *,\r\n & *:before,\r\n & *:after {\r\n box-sizing: inherit;\r\n }\r\n a.custom_widget_MicrosoftFooter_c-uhff-link_qp4x5_23 {\r\n color: #616161;\r\n word-break: break-word;\r\n text-decoration: none;\r\n }\r\n &a:link,\r\n &a:focus,\r\n &a:hover,\r\n &a:active,\r\n &a:visited {\r\n text-decoration: none;\r\n color: inherit;\r\n }\r\n & div {\r\n font-family: 'Segoe UI', SegoeUI, 'Helvetica Neue', Helvetica, Arial, sans-serif;\r\n }\r\n}\r\n.custom_widget_MicrosoftFooter_c-uhff_qp4x5_23 {\r\n background: #f2f2f2;\r\n margin: -1.5625;\r\n width: auto;\r\n height: auto;\r\n}\r\n.custom_widget_MicrosoftFooter_c-uhff-nav_qp4x5_69 {\r\n margin: 0 auto;\r\n max-width: calc(100rem + 10%);\r\n padding: 0 5%;\r\n box-sizing: inherit;\r\n &:before,\r\n &:after {\r\n content: ' ';\r\n display: table;\r\n clear: left;\r\n }\r\n @media only screen and (max-width: 1083px) {\r\n padding-left: 0.75rem;\r\n }\r\n .custom_widget_MicrosoftFooter_c-heading-4_qp4x5_97 {\r\n color: #616161;\r\n word-break: break-word;\r\n font-size: 0.9375rem;\r\n line-height: 1.25rem;\r\n padding: 2.25rem 0 0.25rem;\r\n font-weight: 600;\r\n }\r\n .custom_widget_MicrosoftFooter_c-uhff-nav-row_qp4x5_113 {\r\n .custom_widget_MicrosoftFooter_c-uhff-nav-group_qp4x5_115 {\r\n display: block;\r\n float: left;\r\n min-height: 0.0625rem;\r\n vertical-align: text-top;\r\n padding: 0 0.75rem;\r\n width: 100%;\r\n zoom: 1;\r\n &:first-child {\r\n padding-left: 0;\r\n @media only screen and (max-width: 1083px) {\r\n padding-left: 0.75rem;\r\n }\r\n }\r\n @media only screen and (min-width: 540px) and (max-width: 1082px) {\r\n width: 33.33333%;\r\n }\r\n @media only screen and (min-width: 1083px) {\r\n width: 16.6666666667%;\r\n }\r\n ul.custom_widget_MicrosoftFooter_c-list_qp4x5_155.custom_widget_MicrosoftFooter_f-bare_qp4x5_155 {\r\n font-size: 0.6875rem;\r\n line-height: 1rem;\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n padding-left: 0;\r\n list-style-type: none;\r\n li {\r\n word-break: break-word;\r\n padding: 0.5rem 0;\r\n margin: 0;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.custom_widget_MicrosoftFooter_c-uhff-base_qp4x5_187 {\r\n background: #f2f2f2;\r\n margin: 0 auto;\r\n max-width: calc(100rem + 10%);\r\n padding: 1.875rem 5% 1rem;\r\n &:before,\r\n &:after {\r\n content: ' ';\r\n display: table;\r\n }\r\n &:after {\r\n clear: both;\r\n }\r\n a.custom_widget_MicrosoftFooter_c-uhff-ccpa_qp4x5_213,\r\n a.custom_widget_MicrosoftFooter_c-uhff-consumer_qp4x5_215 {\r\n display: flex;\r\n float: left;\r\n font-size: 0.6875rem;\r\n line-height: 1rem;\r\n padding: 0.25rem 1.5rem 0 0;\r\n }\r\n a.custom_widget_MicrosoftFooter_c-uhff-ccpa_qp4x5_213:hover,\r\n a.custom_widget_MicrosoftFooter_c-uhff-consumer_qp4x5_215:hover {\r\n text-decoration: underline;\r\n }\r\n ul.custom_widget_MicrosoftFooter_c-list_qp4x5_155 {\r\n font-size: 0.6875rem;\r\n line-height: 1rem;\r\n float: right;\r\n margin: 0.1875rem 0;\r\n color: #616161;\r\n li {\r\n padding: 0 1.5rem 0.25rem 0;\r\n display: inline-block;\r\n }\r\n }\r\n .custom_widget_MicrosoftFooter_c-list_qp4x5_155.custom_widget_MicrosoftFooter_f-bare_qp4x5_155 {\r\n padding-left: 0;\r\n list-style-type: none;\r\n }\r\n @media only screen and (max-width: 1083px) {\r\n display: flex;\r\n flex-wrap: wrap;\r\n padding: 1.875rem 1.5rem 1rem;\r\n }\r\n}\r\n.custom_widget_MicrosoftFooter_social-share_qp4x5_281 {\r\n position: fixed;\r\n top: 60%;\r\n transform: translateY(-50%);\r\n left: 0;\r\n z-index: 1000;\r\n}\r\n.custom_widget_MicrosoftFooter_sharing-options_qp4x5_297 {\r\n list-style: none;\r\n padding: 0;\r\n margin: 0;\r\n display: block;\r\n flex-direction: column;\r\n background-color: white;\r\n width: 3.125rem;\r\n border-radius: 0 0.4375rem 0.4375rem 0;\r\n}\r\n.custom_widget_MicrosoftFooter_linkedin-icon_qp4x5_317 {\r\n border-top-right-radius: 7px;\r\n}\r\n.custom_widget_MicrosoftFooter_linkedin-icon_qp4x5_317:hover {\r\n border-radius: 0;\r\n}\r\n.custom_widget_MicrosoftFooter_social-share-email-image_qp4x5_331:hover {\r\n border-radius: 0;\r\n}\r\n.custom_widget_MicrosoftFooter_social-link-footer_qp4x5_339:hover .custom_widget_MicrosoftFooter_linkedin-icon_qp4x5_317 {\r\n border-radius: 0;\r\n}\r\n.custom_widget_MicrosoftFooter_social-link-footer_qp4x5_339:hover .custom_widget_MicrosoftFooter_social-share-email-image_qp4x5_331 {\r\n border-radius: 0;\r\n}\r\n.custom_widget_MicrosoftFooter_social-link-footer_qp4x5_339 img {\r\n width: 1.875rem;\r\n height: auto;\r\n transition: filter 0.3s ease;\r\n}\r\n.custom_widget_MicrosoftFooter_social-share-list_qp4x5_365 {\r\n width: 3.125rem;\r\n}\r\n.custom_widget_MicrosoftFooter_social-share-rss-image_qp4x5_371 {\r\n width: 1.875rem;\r\n height: auto;\r\n transition: filter 0.3s ease;\r\n}\r\n.custom_widget_MicrosoftFooter_sharing-options_qp4x5_297 li {\r\n width: 3.125rem;\r\n height: 3.125rem;\r\n padding: 0.5rem;\r\n box-sizing: border-box;\r\n border: 2px solid white;\r\n display: inline-block;\r\n text-align: center;\r\n opacity: 1;\r\n visibility: visible;\r\n transition: border 0.3s ease; /* Smooth transition effect */\r\n border-left: none;\r\n border-bottom: none; /* Apply bottom border to only last item */\r\n}\r\n.custom_widget_MicrosoftFooter_social-share-list-linkedin_qp4x5_411 {\r\n background-color: #0474b4;\r\n border-top-right-radius: 5px; /* Rounded top right corner of first item*/\r\n}\r\n.custom_widget_MicrosoftFooter_social-share-list-facebook_qp4x5_419 {\r\n background-color: #3c5c9c;\r\n}\r\n.custom_widget_MicrosoftFooter_social-share-list-xicon_qp4x5_425 {\r\n background-color: #000;\r\n}\r\n.custom_widget_MicrosoftFooter_social-share-list-reddit_qp4x5_431 {\r\n background-color: #fc4404;\r\n}\r\n.custom_widget_MicrosoftFooter_social-share-list-bluesky_qp4x5_437 {\r\n background-color: #f0f2f5;\r\n}\r\n.custom_widget_MicrosoftFooter_social-share-list-rss_qp4x5_443 {\r\n background-color: #ec7b1c;\r\n}\r\n.custom_widget_MicrosoftFooter_social-share-list-mail_qp4x5_449 {\r\n background-color: #848484;\r\n border-bottom-right-radius: 5px; /* Rounded bottom right corner of last item*/\r\n}\r\n.custom_widget_MicrosoftFooter_sharing-options_qp4x5_297 li.custom_widget_MicrosoftFooter_social-share-list-mail_qp4x5_449 {\r\n border-bottom: 2px solid white; /* Add bottom border only to the last item */\r\n height: 3.25rem; /* Increase last child height to make in align with the hover label */\r\n}\r\n.custom_widget_MicrosoftFooter_x-icon_qp4x5_465 {\r\n filter: invert(100%);\r\n transition: filter 0.3s ease;\r\n width: 1.25rem !important;\r\n height: auto;\r\n padding-top: 0.3125rem !important;\r\n}\r\n.custom_widget_MicrosoftFooter_bluesky-icon_qp4x5_479 {\r\n filter: invert(20%) sepia(100%) saturate(3000%) hue-rotate(180deg);\r\n transition: filter 0.3s ease;\r\n padding-top: 0.3125rem !important;\r\n width: 1.5625rem !important;\r\n}\r\n.custom_widget_MicrosoftFooter_share-icon_qp4x5_493 {\r\n border: 2px solid transparent;\r\n display: inline-block;\r\n position: relative;\r\n}\r\n.custom_widget_MicrosoftFooter_sharing-options_qp4x5_297 li:hover {\r\n border: 2px solid white;\r\n border-left: none;\r\n border-bottom: none;\r\n border-radius: 0;\r\n}\r\n.custom_widget_MicrosoftFooter_sharing-options_qp4x5_297 li.custom_widget_MicrosoftFooter_social-share-list-mail_qp4x5_449:hover {\r\n border-bottom: 2px solid white; /* Add bottom border only to the last item */\r\n}\r\n.custom_widget_MicrosoftFooter_sharing-options_qp4x5_297 li:hover .custom_widget_MicrosoftFooter_label_qp4x5_525 {\r\n opacity: 1;\r\n visibility: visible;\r\n border: 2px solid white;\r\n box-sizing: border-box;\r\n border-left: none;\r\n}\r\n.custom_widget_MicrosoftFooter_label_qp4x5_525 {\r\n position: absolute;\r\n left: 100%;\r\n white-space: nowrap;\r\n opacity: 0;\r\n visibility: hidden;\r\n transition: all 0.2s ease;\r\n color: white;\r\n border-radius: 0 10 0 0.625rem;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n height: 3.25rem;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 0.625rem 0.75rem 0.9375rem 0.5rem;\r\n border: 2px solid white;\r\n}\r\n.custom_widget_MicrosoftFooter_linkedin_qp4x5_317 {\r\n background-color: #0474b4;\r\n border-top-right-radius: 5px; /* Rounded top right corner of first item*/\r\n}\r\n.custom_widget_MicrosoftFooter_facebook_qp4x5_585 {\r\n background-color: #3c5c9c;\r\n}\r\n.custom_widget_MicrosoftFooter_twitter_qp4x5_591 {\r\n background-color: black;\r\n color: white;\r\n}\r\n.custom_widget_MicrosoftFooter_reddit_qp4x5_599 {\r\n background-color: #fc4404;\r\n}\r\n.custom_widget_MicrosoftFooter_mail_qp4x5_605 {\r\n background-color: #848484;\r\n border-bottom-right-radius: 5px; /* Rounded bottom right corner of last item*/\r\n}\r\n.custom_widget_MicrosoftFooter_bluesky_qp4x5_479 {\r\n background-color: #f0f2f5;\r\n color: black;\r\n}\r\n.custom_widget_MicrosoftFooter_rss_qp4x5_621 {\r\n background-color: #ec7b1c;\r\n}\r\n@media (max-width: 991px) {\r\n .custom_widget_MicrosoftFooter_social-share_qp4x5_281 {\r\n display: none;\r\n }\r\n}\r\n","tokens":{"context-uhf":"custom_widget_MicrosoftFooter_context-uhf_qp4x5_1","c-uhff-link":"custom_widget_MicrosoftFooter_c-uhff-link_qp4x5_23","c-uhff":"custom_widget_MicrosoftFooter_c-uhff_qp4x5_23","c-uhff-nav":"custom_widget_MicrosoftFooter_c-uhff-nav_qp4x5_69","c-heading-4":"custom_widget_MicrosoftFooter_c-heading-4_qp4x5_97","c-uhff-nav-row":"custom_widget_MicrosoftFooter_c-uhff-nav-row_qp4x5_113","c-uhff-nav-group":"custom_widget_MicrosoftFooter_c-uhff-nav-group_qp4x5_115","c-list":"custom_widget_MicrosoftFooter_c-list_qp4x5_155","f-bare":"custom_widget_MicrosoftFooter_f-bare_qp4x5_155","c-uhff-base":"custom_widget_MicrosoftFooter_c-uhff-base_qp4x5_187","c-uhff-ccpa":"custom_widget_MicrosoftFooter_c-uhff-ccpa_qp4x5_213","c-uhff-consumer":"custom_widget_MicrosoftFooter_c-uhff-consumer_qp4x5_215","social-share":"custom_widget_MicrosoftFooter_social-share_qp4x5_281","sharing-options":"custom_widget_MicrosoftFooter_sharing-options_qp4x5_297","linkedin-icon":"custom_widget_MicrosoftFooter_linkedin-icon_qp4x5_317","social-share-email-image":"custom_widget_MicrosoftFooter_social-share-email-image_qp4x5_331","social-link-footer":"custom_widget_MicrosoftFooter_social-link-footer_qp4x5_339","social-share-list":"custom_widget_MicrosoftFooter_social-share-list_qp4x5_365","social-share-rss-image":"custom_widget_MicrosoftFooter_social-share-rss-image_qp4x5_371","social-share-list-linkedin":"custom_widget_MicrosoftFooter_social-share-list-linkedin_qp4x5_411","social-share-list-facebook":"custom_widget_MicrosoftFooter_social-share-list-facebook_qp4x5_419","social-share-list-xicon":"custom_widget_MicrosoftFooter_social-share-list-xicon_qp4x5_425","social-share-list-reddit":"custom_widget_MicrosoftFooter_social-share-list-reddit_qp4x5_431","social-share-list-bluesky":"custom_widget_MicrosoftFooter_social-share-list-bluesky_qp4x5_437","social-share-list-rss":"custom_widget_MicrosoftFooter_social-share-list-rss_qp4x5_443","social-share-list-mail":"custom_widget_MicrosoftFooter_social-share-list-mail_qp4x5_449","x-icon":"custom_widget_MicrosoftFooter_x-icon_qp4x5_465","bluesky-icon":"custom_widget_MicrosoftFooter_bluesky-icon_qp4x5_479","share-icon":"custom_widget_MicrosoftFooter_share-icon_qp4x5_493","label":"custom_widget_MicrosoftFooter_label_qp4x5_525","linkedin":"custom_widget_MicrosoftFooter_linkedin_qp4x5_317","facebook":"custom_widget_MicrosoftFooter_facebook_qp4x5_585","twitter":"custom_widget_MicrosoftFooter_twitter_qp4x5_591","reddit":"custom_widget_MicrosoftFooter_reddit_qp4x5_599","mail":"custom_widget_MicrosoftFooter_mail_qp4x5_605","bluesky":"custom_widget_MicrosoftFooter_bluesky_qp4x5_479","rss":"custom_widget_MicrosoftFooter_rss_qp4x5_621"}},"form":null},"localOverride":false},"CachedAsset:text:en_US-components/community/Breadcrumb-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/community/Breadcrumb-1787924119327","value":{"navLabel":"Breadcrumbs","dropdown":"Additional parent page navigation"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageBanner-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageBanner-1787924119327","value":{"messageRejectedWithReason":"This post was rejected: {reason}","messageRejectedWithReason@board:TKB":"This article was rejected: {reason}","messageRejectedWithReason@board:BLOG":"This post was rejected: {reason}","messageRejectedWithReason@board:FORUM":"This discussion was rejected: {reason}","messageRejectedWithReason@board:OCCASION":"This event was rejected: {reason}","messageRejectedWithReason@board:IDEA":"This idea was rejected: {reason}","messageMarkedAsSpam":"This post has been marked as spam","messageMarkedAsSpam@board:TKB":"This article has been marked as spam","messageMarkedAsSpam@board:BLOG":"This post has been marked as spam","messageMarkedAsSpam@board:FORUM":"This discussion has been marked as spam","messageMarkedAsSpam@board:OCCASION":"This event has been marked as spam","messageMarkedAsSpam@board:IDEA":"This idea has been marked as spam","manageSpam":"Manage Spam","messageMarkedAsAbuse":"This post has been marked as abuse","messageMarkedAsAbuse@board:TKB":"This article has been marked as abuse","messageMarkedAsAbuse@board:BLOG":"This post has been marked as abuse","messageMarkedAsAbuse@board:FORUM":"This discussion has been marked as abuse","messageMarkedAsAbuse@board:OCCASION":"This event has been marked as abuse","messageMarkedAsAbuse@board:IDEA":"This idea has been marked as abuse","preModCommentAuthorText":"This comment will be published as soon as it is approved","preModCommentModeratorText":"This comment is awaiting moderation","messageMarkedAsOther":"This post has been rejected due to other reasons","messageMarkedAsOther@board:TKB":"This article has been rejected due to other reasons","messageMarkedAsOther@board:BLOG":"This post has been rejected due to other reasons","messageMarkedAsOther@board:FORUM":"This discussion has been rejected due to other reasons","messageMarkedAsOther@board:OCCASION":"This event has been rejected due to other reasons","messageMarkedAsOther@board:IDEA":"This idea has been rejected due to other reasons","messageArchived":"This post was archived on {date}","relatedUrl":"View Related Content","relatedContentText":"Showing related content","archivedContentLink":"View Archived Content"},"localOverride":false},"CachedAsset:text:en_US-components/messages/ModerationStatusBanner-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/ModerationStatusBanner-1787924119327","value":{"approved.title":"Approved","approved.text":"Your post has been approved and is now visible to the community.","approved.textModerator":"This post has been approved and is now visible to the community.","dismiss.ariaLabel":"Dismiss notification","flagged.title":"Flagged for Additional Review","flagged.possiblyPrefix":"Possibly: ","flagged.guidelinesLink":"Community Guidelines","flagged.reviewSuffix":". Please review our ","flagged.fallback":"This content has been flagged for additional review by a moderator. Please review our ","underReview.title":"Under Review","underReview.text":"Your post has been received and is being processed. We'll notify you via email once moderation is complete, typically within 10 minutes."},"localOverride":false},"Category:category:Exchange":{"__typename":"Category","id":"category:Exchange","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Outlook":{"__typename":"Category","id":"category:Outlook","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Community-Info-Center":{"__typename":"Category","id":"category:Community-Info-Center","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:EducationSector":{"__typename":"Category","id":"category:EducationSector","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:DrivingAdoption":{"__typename":"Category","id":"category:DrivingAdoption","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Azure":{"__typename":"Category","id":"category:Azure","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Windows-Server":{"__typename":"Category","id":"category:Windows-Server","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:MicrosoftTeams":{"__typename":"Category","id":"category:MicrosoftTeams","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:MicrosoftTeamsBlog":{"__typename":"Blog","id":"board:MicrosoftTeamsBlog","blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:PublicSector":{"__typename":"Category","id":"category:PublicSector","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:microsoft365":{"__typename":"Category","id":"category:microsoft365","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:microsoft_365blog":{"__typename":"Blog","id":"board:microsoft_365blog","blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:Exchange":{"__typename":"Blog","id":"board:Exchange","blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:IoT":{"__typename":"Category","id":"category:IoT","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:HealthcareAndLifeSciences":{"__typename":"Category","id":"category:HealthcareAndLifeSciences","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:ITOpsTalk":{"__typename":"Category","id":"category:ITOpsTalk","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:IntuneCustomerSuccess":{"__typename":"Blog","id":"board:IntuneCustomerSuccess","blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:MicrosoftMechanics":{"__typename":"Category","id":"category:MicrosoftMechanics","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:WindowsEvents":{"__typename":"Occasion","id":"board:WindowsEvents","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:TechCommunityLive":{"__typename":"Occasion","id":"board:TechCommunityLive","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:microsoft365-Events":{"__typename":"Occasion","id":"board:microsoft365-Events","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:SharePoint-Events":{"__typename":"Occasion","id":"board:SharePoint-Events","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:WindowsServer-Events":{"__typename":"Occasion","id":"board:WindowsServer-Events","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:MicrosoftforNonprofits":{"__typename":"Category","id":"category:MicrosoftforNonprofits","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:PartnerCommunity":{"__typename":"Category","id":"category:PartnerCommunity","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:PartnerNews":{"__typename":"Blog","id":"board:PartnerNews","blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:PartnerEventsCalendar":{"__typename":"Occasion","id":"board:PartnerEventsCalendar","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Microsoft365Copilot":{"__typename":"Category","id":"category:Microsoft365Copilot","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:Microsoft365CopilotBlog":{"__typename":"Blog","id":"board:Microsoft365CopilotBlog","blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:Microsoft365Copilot-Events":{"__typename":"Occasion","id":"board:Microsoft365Copilot-Events","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Windows":{"__typename":"Category","id":"category:Windows","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:Windows-ITPro-blog":{"__typename":"Blog","id":"board:Windows-ITPro-blog","blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:Marketplacecommunityeventscalendar":{"__typename":"Occasion","id":"board:Marketplacecommunityeventscalendar","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Content_Management":{"__typename":"Category","id":"category:Content_Management","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:CommunityNewsDesk":{"__typename":"Category","id":"category:CommunityNewsDesk","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:Microsoft365InsiderBlog":{"__typename":"Blog","id":"board:Microsoft365InsiderBlog","blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:DrivingAdoptionEvents":{"__typename":"Occasion","id":"board:DrivingAdoptionEvents","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:microsoft-learn-for-educators":{"__typename":"Category","id":"category:microsoft-learn-for-educators","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:mvp":{"__typename":"Category","id":"category:mvp","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:microsoft-security":{"__typename":"Category","id":"category:microsoft-security","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:microsoft-security-blog":{"__typename":"Blog","id":"board:microsoft-security-blog","blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:microsoft-security-events":{"__typename":"Occasion","id":"board:microsoft-security-events","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:microsoftintune":{"__typename":"Category","id":"category:microsoftintune","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:microsoftintuneevents":{"__typename":"Occasion","id":"board:microsoftintuneevents","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:microsoft-global-community-initiative":{"__typename":"Category","id":"category:microsoft-global-community-initiative","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:usergroups":{"__typename":"Category","id":"category:usergroups","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:skills-hub":{"__typename":"Category","id":"category:skills-hub","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:skills-hub-blog":{"__typename":"Blog","id":"board:skills-hub-blog","blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"CachedAsset:text:en_US-components/community/Navbar-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/community/Navbar-1787924119327","value":{"community":"Community Home","inbox":"Inbox","manageContent":"Manage Content","tos":"Terms of Service","forgotPassword":"Forgot Password","themeEditor":"Theme Editor","edit":"Edit Navigation Bar","skipContent":"Skip to content","gxcuf89792":"Tech Community","windows-server":"Windows Server","Common-windows-events-link":"Windows Events","ms-learn-ext-security":"Microsoft Security","Common_Enntvz-i-t-ops-talk-link":"ITOps Talk","education-sector":"Education Sector","Common-external-link-9":"Microsoft 365","Common-external-link-8":"Dynamics 365","Common-external-link-7":"Skilling Room Directory","Common-external-link-6":"Events","Common-external-link-5":"Blogs","Common-external-link-4":"View All","Common-gxcuf89792-community":"Community","Common-external-link-3":"Topics","microsoft365":"Microsoft 365","Common-security-blog-link":"Microsoft Security Community Blog","Common_Enntvz-community-news-desk-link":"Community News Desk","Common_Enntvz-azure-link":"Azure","Common-community-info-center-link":"Lounge","Common-sharepoint-events-link":"SharePoint Events","azure":"Azure","Common_Enntvz-windows-link":"Windows","Common_Enntvz-education-sector-link":"Education Sector","Common-windows-server-link":"Windows Server","products-link":"Products","Common_Enntvz-partner-community-link":"Microsoft Partner Community","Common-microsoftintune-events-link":"Microsoft Intune Events","microsoft-learn-blog":"Blog","Common-external-link-2":"View All","Common-driving-adoption-events-link":"Driving Adoption Events","community-hub-link":"Community Hubs","Common-mvp-link":"Microsoft MVP Program","Common-microsoft365-blog-link":"Microsoft 365 Blog","community-info-center":"Lounge","microsoft-endpoint-manager":"Microsoft Intune","startupsat-microsoft":"Startups at Microsoft","ms-learn-ext-azure":"Azure","Common_Enntvz-content_management-link":"Content Management","ms-learn-ext-github":"Github","Common-foundry-blog-link":"Microsoft Foundry Blog","Common-microsoft365-link":"Microsoft 365","Common-i-t-ops-talk-link":"ITOps Talk","Common-intune-blog-link":"Intune Customer Success Blog","Common_Enntvz-view-all-products-link":"View All","Common-microsoft-global-community-initiative-link":"Microsoft Global Community Initiative (MGCI)","all-events-link":"Events","Common_Enntvz-microsoft-learn-for-educators-link":"Microsoft Learn for Educators","Common-external-link":"Community Hubs","Common-partner-community-link":"Microsoft Partner Community","Common-microsoft-learn-for-educators-link":"Microsoft Learn for Educators","Common_Enntvz-microsoft-teams-link":"Microsoft Teams","Common-exchange-blog-link":"Exchange Team Blog","driving-adoption":"Driving Adoption","microsoft-learn":"Microsoft Learn","Common-healthcare-and-life-sciences-link":"Healthcare and Life Sciences","Common-partner-events-link":"Partner Events","Common-microsoft365copilot-blog-link":"Microsoft 365 Copilot Blog","planner":"Outlook","Common_Enntvz-exchange-link":"Exchange","healthcare-and-life-sciences":"Healthcare and Life Sciences","Common-external-link-10":"View All","Common-driving-adoption-link":"Driving Adoption","ms-learn-ext-pp":"Power Platform","Common_Enntvz-windows-server-link":"Windows Server","Common-windowsserver-events-link":"Windows Server Events","Common-io-t-link":"Internet of Things (IoT)","Skills-Hub":"Skills Hub","microsoft-teams":"Microsoft Teams","Common-outlook-link":"Outlook","Common_Enntvz-public-sector-link":"Public Sector","Common-microsoft365insider-blog-link":"Microsoft 365 Insider Blog","Common-windows-link":"Windows","all-blogs-link":"Blogs","communities":"Products","Common_Enntvz-usergroups-link":"User Groups","Common_Enntvz-microsoft-global-community-initiative-link":"Microsoft Global Community Initiative (MGCI)","Skills-Hub-link":"Community","Common_Enntvz-io-t-link":"Internet of Things (IoT)","Common-microsoft365copilot-events-link":"Microsoft 365 Copilot Events","ms-learn-ext-m365":"Microsoft 365","Common-viewall-blogs-link":"View All","Common_Enntvz-microsoft-mechanics-link":"Microsoft Mechanics","microsoft-learn-community":"Community","partner-community":"Microsoft Partner Community","Common-microsoft-mechanics-link":"Microsoft Mechanics","Common_Enntvz-healthcare-and-life-sciences-link":"Healthcare and Life Sciences","microsoft-mechanics":"Microsoft Mechanics","Common-microsoft-security-link":"Microsoft Security","Common-education-sector-link":"Education Sector","Common-skillshub-blog-link":"The Skills Hub Blog","Skills-Hub-Blog":"Blog","i-t-ops-talk":"ITOps Talk","Common-microsoft-security-events-link":"Microsoft Security Events","microsoft-securityand-compliance":"Microsoft Security","Common-microsoft365-events-link":"Microsoft 365 Events","Common_Enntvz-microsoftintune-link":"Microsoft Intune","Common-azure-link":"Azure","Common-microsoftintune-link":"Microsoft Intune","Common_Enntvz-view-all-topics-link":"View All","Common-usergroups-link":"User Groups","Common-public-sector-link":"Public Sector","Common_Enntvz-microsoft-security-link":"Microsoft Security","Common_Enntvz-outlook-link":"Outlook","Common_Enntvz-mvp-link":"Microsoft MVP Program","exchange":"Exchange","topics-link":"Topics","io-t":"Internet of Things (IoT)","Common-microsoft365-copilot-link":"Microsoft 365 Copilot","Common-microsoft-teams-link":"Microsoft Teams","Common-viewall-events-link":"View All","s-m-b":"Nonprofit Community","Common_Enntvz-community-info-center-link":"Lounge","Common_Enntvz-microsoft365-copilot-link":"Microsoft 365 Copilot","Common-partnernews-blog-link":"Microsoft Partner News Blog","Common_Enntvz-microsoftfor-nonprofits-link":"Nonprofit Community","Common_Enntvz-microsoft365-link":"Microsoft 365","Common-content_management-link":"Content Management","ms-learn-ext-teams":"Teams","Common-marketplace-events-link":"Marketplace Events","Common-teams-blog-link":"Microsoft Teams Blog","s-q-l-server":"Content Management","products-services":"Products","Common-community-news-desk-link":"Community News Desk","Common-windowsitpro-blog-link":"Windows IT Pro Blog","ms-learn-ext-LD":"Skilling Room Directory","Common-exchange-link":"Exchange","Common-gxcuf89792-link":"Tech Community","windows":"Windows","public-sector":"Public Sector","Common_Enntvz-driving-adoption-link":"Driving Adoption","Common-microsoftfor-nonprofits-link":"Nonprofit Community","ms-learn-ext-net":".NET","ms-learn-ext-dynamics":"Dynamics 365","Common-techcommunitylive-events-link":"Tech Community Live","a-i":"AI and Machine Learning","outlook":"Microsoft 365 Copilot"},"localOverride":false},"CachedAsset:text:en_US-components/community/NavbarHamburgerDropdown-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarHamburgerDropdown-1787924119327","value":{"hamburgerLabelOpen":"Open Side Menu","hamburgerLabelClose":"Close Side Menu"},"localOverride":false},"CachedAsset:text:en_US-components/community/BrandLogo-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/community/BrandLogo-1787924119327","value":{"logoAlt":"Khoros","themeLogoAlt":"Brand Logo","linkAriaLabel":"Go to community home page"},"localOverride":false},"CachedAsset:text:en_US-components/community/NavbarTextLinks-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarTextLinks-1787924119327","value":{"more":"More"},"localOverride":false},"CachedAsset:text:en_US-components/search/SpotlightSearchIcon-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/search/SpotlightSearchIcon-1787924119327","value":{"search":"Search"},"localOverride":false},"CachedAsset:text:en_US-components/authentication/AuthenticationLink-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/authentication/AuthenticationLink-1787924119327","value":{"title.login":"Sign In","title.registration":"Register","title.forgotPassword":"Forgot Password","title.multiAuthLogin":"Sign In"},"localOverride":false},"CachedAsset:text:en_US-components/nodes/NodeLink-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/nodes/NodeLink-1787924119327","value":{"place":"Go back to {name}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageView/MessageViewStandard-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageView/MessageViewStandard-1787924119327","value":{"anonymous":"Anonymous","author":"{messageAuthorLogin}","authorBy":"{messageAuthorLogin}","board":"{messageBoardTitle}","replyToUser":" to {parentAuthor}","showMoreReplies":"Show More","replyText":"Reply","repliesText":"Replies","markedAsSolved":"Marked as Solution","messageStatus":"Status: ","statusChanged":"Status changed: {previousStatus} to {currentStatus}","statusAdded":"Status added: {status}","statusRemoved":"Status removed: {status}","labelExpand":"expand replies","labelCollapse":"collapse replies","unhelpfulReason.reason1":"Content is outdated","unhelpfulReason.reason2":"Article is missing information","unhelpfulReason.reason3":"Content is for a different Product","unhelpfulReason.reason4":"Doesn't match what I was searching for","clarification.answerRejected":"This answer was removed by a moderator","clarification.answerPending":"This answer is pending review"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageReplyCallToAction-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageReplyCallToAction-1787924119327","value":{"leaveReply":"Leave a reply...","leaveReply@board:BLOG@message:root":"Leave a comment...","leaveReply@board:TKB@message:root":"Leave a comment...","leaveReply@board:IDEA@message:root":"Leave a comment...","leaveReply@board:OCCASION@message:root":"Leave a comment...","repliesTurnedOff.FORUM":"Replies are turned off for this topic","repliesTurnedOff.BLOG":"Comments are turned off for this topic","repliesTurnedOff.TKB":"Comments are turned off for this topic","repliesTurnedOff.IDEA":"Comments are turned off for this topic","repliesTurnedOff.OCCASION":"Comments are turned off for this topic","infoText":"Stop poking me!"},"localOverride":false},"CachedAsset:text:en_US-components/community/NavbarDropdownToggle-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarDropdownToggle-1787924119327","value":{"ariaLabelClosed":"Press the down arrow to open the menu"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageCoverImage-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageCoverImage-1787924119327","value":{"coverImageTitle":"Cover Image"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/nodes/NodeTitle-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/nodes/NodeTitle-1787924119327","value":{"nodeTitle":"{nodeTitle, select, community {Community} other {{nodeTitle}}} "},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageTimeToRead-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageTimeToRead-1787924119327","value":{"minReadText":"{min} MIN READ"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSubject-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSubject-1787924119327","value":{"noSubject":"(no subject)"},"localOverride":false},"CachedAsset:text:en_US-components/users/UserLink-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/users/UserLink-1787924119327","value":{"authorName":"View Profile: {author}","anonymous":"Anonymous","ariaLabel.rank":"Rank: {rankName}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/users/UserRank-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/users/UserRank-1787924119327","value":{"rankName":"{rankName}","userRank":"Author rank {rankName}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageTime-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageTime-1787924119327","value":{"postTime":"Published: {time}","lastPublishTime":"Last Update: {time}","conversation.lastPostingActivityTime":"Last posting activity time: {time}","conversation.lastPostTime":"Last post time: {time}","moderationData.rejectTime":"Rejected time: {time}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageBody-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageBody-1787924119327","value":{"showMessageBody":"Show More","mentionsErrorTitle":"{mentionsType, select, board {Board} user {User} message {Message} other {}} No Longer Available","mentionsErrorMessage":"The {mentionsType} you are trying to view has been removed from the community.","videoProcessing":"Video is being processed. Please try again in a few minutes.","bannerTitle":"Video provider requires cookies to play the video. Accept to continue or {url} it directly on the provider's site.","buttonTitle":"Accept","urlText":"watch"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageCustomFields-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageCustomFields-1787924119327","value":{"CustomField.default.label":"Value of {name}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageRevision-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageRevision-1787924119327","value":{"lastUpdatedDatePublished":"{publishCount, plural, one{Published} other{Updated}} {date}","lastUpdatedDateDraft":"Created {date}","version":"Version {major}.{minor}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/QueryHandler-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/QueryHandler-1787924119327","value":{"title":"Query Handler"},"localOverride":false},"CachedAsset:text:en_US-components/tags/TagList-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/tags/TagList-1787924119327","value":{"showMoreFor":"Show more for {title}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageReplyButton-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageReplyButton-1787924119327","value":{"repliesCount":"{count}","title":"Reply","title@board:BLOG@message:root":"Comment","title@board:TKB@message:root":"Comment","title@board:IDEA@message:root":"Comment","title@board:OCCASION@message:root":"Comment"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageAuthorBio-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageAuthorBio-1787924119327","value":{"sendMessage":"Send Message","actionMessage":"Follow this blog board to get notified when there's new activity","coAuthor":"CO-PUBLISHER","contributor":"CONTRIBUTOR","userProfile":"View Profile","iconlink":"Go to {name} {type}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/users/UserAvatar-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/users/UserAvatar-1787924119327","value":{"altText":"{login}'s avatar","altTextGeneric":"User's avatar"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/ranks/UserRankLabel-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/ranks/UserRankLabel-1787924119327","value":{"altTitle":"Icon for {rankName} rank"},"localOverride":false},"CachedAsset:text:en_US-components/users/UserRegistrationDate-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-components/users/UserRegistrationDate-1787924119327","value":{"noPrefix":"{date}","withPrefix":"Joined {date}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/nodes/NodeAvatar-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/nodes/NodeAvatar-1787924119327","value":{"altTitle":"Node avatar for {nodeTitle}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/nodes/NodeDescription-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/nodes/NodeDescription-1787924119327","value":{"description":"{description}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/nodes/NodeIcon-1787924119327":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/nodes/NodeIcon-1787924119327","value":{"contentType":"Content Type {style, select, FORUM {Forum} BLOG {Blog} TKB {Knowledge Base} IDEA {Ideas} OCCASION {Events} other {}} icon"},"localOverride":false}}}},"page":"/blogs/BlogMessagePage/BlogMessagePage","query":{"boardId":"azure-ai-foundry-blog","messageSubject":"stop-letting-agents-run-the-workflow","messageId":"4550068"},"buildId":"CDzex8L7XdZh0JC2Htpha","runtimeConfig":{"buildInformationVisible":false,"logLevelApp":"info","logLevelMetrics":"info","surveysEnabled":true,"openTelemetry":{"clientEnabled":false,"configName":"o365","serviceVersion":"26.3.0","universe":"prod","collector":"http://localhost:4318","logLevel":"error","routeChangeAllowedTime":"5000","headers":"","enableDiagnostic":"false","maxAttributeValueLength":"4095"},"apolloDevToolsEnabled":false,"quiltLazyLoadThreshold":"3"},"isFallback":false,"isExperimentalCompile":false,"dynamicIds":["components_community_Navbar_NavbarWidget","components_community_Breadcrumb_BreadcrumbWidget","components_customComponent_CustomComponent","components_blogs_BlogArticleWidget","components_external_components_ExternalComponent","components_messages_MessageView_MessageViewStandard","components_messages_ModerationStatusBadge","components_customComponent_CustomComponentContent_TemplateContent"],"appGip":true,"scriptLoader":[{"id":"analytics","src":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/pagescripts/1751476272000/analytics.js?page.id=BlogMessagePage&entity.id=board%3Aazure-ai-foundry-blog&entity.id=message%3A4550068","strategy":"afterInteractive"},{"id":"mediusEmbed","src":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/pagescripts/1779272387000/mediusEmbed.js","strategy":"afterInteractive"}]}