<mxfile host="ai-architect-catalog"><diagram id="agentic-operations-workflow-gcp" name="Agentic operations workflow / gcp"><mxGraphModel grid="1" gridSize="10"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="requester" value="Requester
Person" data-role="user" data-service="external" data-class="internal" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#8AB4FF33;strokeColor=#8AB4FF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="40" y="220" width="252" height="112" as="geometry"/></mxCell><mxCell id="portal" value="Request portal
Cloud Run" data-role="experience" data-service="gcp.cloud-run" data-class="internal" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#8AB4FF33;strokeColor=#8AB4FF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="340" y="220" width="252" height="112" as="geometry"/></mxCell><mxCell id="api" value="Request API
Cloud Run" data-role="api" data-service="gcp.cloud-run" data-class="internal" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#B9A7FF33;strokeColor=#B9A7FF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="640" y="220" width="252" height="112" as="geometry"/></mxCell><mxCell id="workflow" value="Durable orchestration
Workflows" data-role="workflow" data-service="gcp.workflows" data-class="confidential" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#5EE6CF33;strokeColor=#5EE6CF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="940" y="220" width="252" height="112" as="geometry"/></mxCell><mxCell id="coordinator" value="Coordinator agent
Agent Runtime (Agent Platform)" data-role="orchestrator" data-service="gcp.agent-runtime" data-class="confidential" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#5EE6CF33;strokeColor=#5EE6CF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="940" y="40" width="252" height="112" as="geometry"/></mxCell><mxCell id="specialists" value="Specialist agents
ADK agents on Agent Runtime" data-role="agent" data-service="gcp.adk-agents" data-class="confidential" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#5EE6CF33;strokeColor=#5EE6CF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1240" y="40" width="252" height="112" as="geometry"/></mxCell><mxCell id="gateway" value="Model gateway
Apigee (AI gateway policies)" data-role="gateway" data-service="gcp.apigee" data-class="confidential" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#B9A7FF33;strokeColor=#B9A7FF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="640" y="40" width="252" height="112" as="geometry"/></mxCell><mxCell id="model" value="Reasoning models
Gemini 3.8 Flash (Agent Platform)" data-role="model" data-service="gcp.gemini" data-class="confidential" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#5EE6CF33;strokeColor=#5EE6CF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="340" y="40" width="252" height="112" as="geometry"/></mxCell><mxCell id="tools" value="Tool gateway (MCP)
MCP server on Cloud Run" data-role="tools" data-service="gcp.cloud-run-mcp" data-class="confidential" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#5EE6CF33;strokeColor=#5EE6CF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1240" y="220" width="252" height="112" as="geometry"/></mxCell><mxCell id="sandbox" value="Analysis sandbox
Cloud Run jobs (sandboxed)" data-role="sandbox" data-service="gcp.cloud-run-jobs" data-class="confidential" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#5EE6CF33;strokeColor=#5EE6CF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1540" y="40" width="252" height="112" as="geometry"/></mxCell><mxCell id="tasks" value="Task queue
Cloud Tasks" data-role="queue" data-service="gcp.cloud-tasks" data-class="confidential" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#5EE6CF33;strokeColor=#5EE6CF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1240" y="400" width="252" height="112" as="geometry"/></mxCell><mxCell id="run-ledger" value="Run ledger
AlloyDB for PostgreSQL" data-role="store" data-service="gcp.alloydb" data-class="confidential" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#FFC07A33;strokeColor=#FFC07A;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="940" y="400" width="252" height="112" as="geometry"/></mxCell><mxCell id="approver" value="Approver
Review console on Cloud Run" data-role="review" data-service="gcp.review-console" data-class="confidential" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#FF9FCB33;strokeColor=#FF9FCB;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="640" y="400" width="252" height="112" as="geometry"/></mxCell><mxCell id="erp" value="ERP and supplier systems
External system" data-role="system" data-service="external" data-class="confidential" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#8AB4FF33;strokeColor=#8AB4FF;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1540" y="220" width="252" height="112" as="geometry"/></mxCell><mxCell id="traces" value="Run traces
Cloud Logging, Monitoring, Trace" data-role="observability" data-service="gcp.observability" data-class="operational" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#FF9FCB33;strokeColor=#FF9FCB;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1540" y="400" width="252" height="112" as="geometry"/></mxCell><mxCell id="evals" value="Coordination evals
Evaluation service (Agent Platform)" data-role="evals" data-service="gcp.evaluation" data-class="internal" style="rounded=1;whiteSpace=wrap;html=0;arcSize=10;fillColor=#FF9FCB33;strokeColor=#FF9FCB;fontColor=#0f1017;fontSize=12;" vertex="1" parent="1"><mxGeometry x="340" y="400" width="252" height="112" as="geometry"/></mxCell><mxCell id="request" value="Need and constraints" data-kind="data" data-class="internal" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;" edge="1" source="requester" target="portal" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="open" value="Validated intake" data-kind="data" data-class="internal" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;" edge="1" source="portal" target="api" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="start" value="Start run with budget" data-kind="control" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;dashed=1;" edge="1" source="api" target="workflow" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="plan" value="Plan step" data-kind="control" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;dashed=1;" edge="1" source="workflow" target="coordinator" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="assign" value="Sub-tasks with dedup keys" data-kind="control" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;dashed=1;" edge="1" source="coordinator" target="tasks" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="work" value="Dispatch" data-kind="control" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;dashed=1;" edge="1" source="tasks" target="specialists" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="think" value="Calls within budget slice" data-kind="data" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;" edge="1" source="specialists" target="gateway" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="infer" value="Model call" data-kind="data" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;" edge="1" source="gateway" target="model" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="use-tools" value="Catalog, policy, quote requests" data-kind="data" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;" edge="1" source="specialists" target="tools" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="analyse" value="Generated cost model" data-kind="data" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;" edge="1" source="specialists" target="sandbox" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="findings" value="Findings with evidence" data-kind="data" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;" edge="1" source="specialists" target="run-ledger" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="approve" value="Approval request with merged findings" data-kind="control" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;dashed=1;" edge="1" source="workflow" target="approver" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="decision" value="Decision resumes run" data-kind="control" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;dashed=1;" edge="1" source="approver" target="workflow" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="order" value="Order create with idempotency key" data-kind="data" data-class="confidential" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;" edge="1" source="tools" target="erp" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="telemetry" value="Spend per agent" data-kind="telemetry" data-class="operational" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;dashed=1;dashPattern=1 3;" edge="1" source="gateway" target="traces" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="compare" value="A2 versus A4 replay" data-kind="control" data-class="internal" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=0;fontSize=10;dashed=1;" edge="1" source="evals" target="api" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell></root></mxGraphModel></diagram></mxfile>
