<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Microsoft-Copilot on Marian Zeis Blog</title>
    <link>https://blog.zeis.de/tags/microsoft-copilot/</link>
    <description>Recent content in Microsoft-Copilot on Marian Zeis Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 04 May 2026 09:00:00 +0200</lastBuildDate>
    <atom:link href="https://blog.zeis.de/tags/microsoft-copilot/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ARC-1 with Copilot Studio: SAP System Context Beyond Developers</title>
      <link>https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/</link>
      <pubDate>Mon, 04 May 2026 09:00:00 +0200</pubDate>
      <guid>https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/</guid>
      <description>&lt;p&gt;Series note: This post is part of my &lt;a href=&#34;https://blog.zeis.de/tags/ai-abap-development-series/&#34;&gt;AI ABAP development series&lt;/a&gt;, where I go from AI development in general, to ABAP-specific problems, and then to ARC-1.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://blog.zeis.de/posts/2026-04-29-arc-1-btp/&#34;&gt;previous post&lt;/a&gt;, I wrote about running &lt;a href=&#34;https://github.com/marianfoo/arc-1&#34;&gt;ARC-1&lt;/a&gt; on SAP BTP. That was the architecture part: central deployment, XSUAA, destinations, Cloud Connector, Principal Propagation, roles, and auditability.&lt;/p&gt;&#xA;&lt;p&gt;This post is the next step. If ARC-1 is already deployed centrally on BTP, then it does not have to be used only from developer tools like VS Code, Claude, Cursor, or Eclipse. It can also be used from &lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/&#34;&gt;Microsoft Copilot Studio&lt;/a&gt; and then published into &lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams&#34;&gt;Teams or Microsoft 365 Copilot&lt;/a&gt;. That changes the audience quite a bit.&lt;/p&gt;&#xA;&lt;p&gt;For developers, ARC-1 is mainly an ADT MCP gateway for code, packages, activation, transports, diagnostics, and system context. MCP is the protocol that lets an AI client call external tools, and ADT is the API layer behind &lt;a href=&#34;https://help.sap.com/docs/btp/sap-business-technology-platform/abap-development-user-guides&#34;&gt;ABAP Development Tools&lt;/a&gt;. But this SAP system access is not only useful for developers. &lt;a href=&#34;https://marianfoo.github.io/arc-1/tools/&#34;&gt;ARC-1 tools&lt;/a&gt; can also expose table structures, selected data, messages, transaction metadata, API release state, feature toggles, FLP content, dumps, transport information, and more. Depending on the enabled ARC-1 tools and SAP authorizations, that can become useful for functional consultants, solution architects, testers, security people, and support teams.&lt;/p&gt;&#xA;&lt;p&gt;The question for this post is: what happens if the SAP system context is not only available inside an IDE?&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-copilot-studio-fits-here&#34;&gt;Why Copilot Studio fits here&lt;/h2&gt;&#xA;&lt;p&gt;Functional consultants usually do not live in a local IDE. They work in Teams, Excel, Word, SharePoint, Jira, SAP GUI, Fiori, and many other tools around the actual system. So if the only AI access pattern is &amp;ldquo;install an MCP server locally and configure your IDE&amp;rdquo;, then we miss a large part of the SAP project team.&lt;/p&gt;&#xA;&lt;p&gt;Copilot Studio fits here because it is already close to where many business users work. An agent can be &lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams&#34;&gt;published into Teams and Microsoft 365 Copilot&lt;/a&gt;. It can use &lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-add-sharepoint&#34;&gt;SharePoint as a knowledge source&lt;/a&gt;. It can use connectors for systems like &lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-365/copilot/connectors/jira-cloud-deployment&#34;&gt;Jira Cloud&lt;/a&gt;, and the same idea also applies to other enterprise sources like Confluence if there is a connector or MCP server for it. I did not use Confluence in this test, but the architecture would be the same. And since Copilot Studio can &lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent&#34;&gt;connect to existing MCP servers&lt;/a&gt;, it can also call ARC-1 when the server is deployed to BTP.&lt;/p&gt;&#xA;&lt;p&gt;That does not mean everyone should get write access to SAP from Teams. Quite the opposite. For this kind of usage I would start read-only and very controlled. But even read-only is already powerful if the agent can combine:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A business specification from SharePoint.&lt;/li&gt;&#xA;&lt;li&gt;SAP documentation from the separately deployed &lt;a href=&#34;https://mcp-sap-docs.marianzeis.de/&#34;&gt;mcp-sap-docs&lt;/a&gt; MCP server.&lt;/li&gt;&#xA;&lt;li&gt;Real system context from ARC-1.&lt;/li&gt;&#xA;&lt;li&gt;Tickets or tasks from Jira.&lt;/li&gt;&#xA;&lt;li&gt;The conversation interface in Teams.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;the-architecture-stays-the-same&#34;&gt;The Architecture Stays The Same&lt;/h2&gt;&#xA;&lt;p&gt;Copilot Studio should not create a second SAP access architecture. It should use the same &lt;a href=&#34;https://marianfoo.github.io/arc-1/phase4-btp-deployment/&#34;&gt;BTP-deployed ARC-1 endpoint&lt;/a&gt; from the previous post.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Copilot Studio / Teams&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; ARC-1 MCP endpoint on SAP BTP&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; XSUAA / OAuth&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Destination Service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Cloud Connector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; SAP ABAP system&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This means the security story does not change only because the client changes. ARC-1 still has the &lt;a href=&#34;https://marianfoo.github.io/arc-1/authorization/#the-model-in-one-picture&#34;&gt;server ceiling&lt;/a&gt;. &lt;a href=&#34;https://marianfoo.github.io/arc-1/xsuaa-setup/&#34;&gt;XSUAA roles&lt;/a&gt; still control what the user can do in ARC-1. If &lt;a href=&#34;https://marianfoo.github.io/arc-1/principal-propagation-setup/&#34;&gt;Principal Propagation&lt;/a&gt; is active, ARC-1 does not call SAP as one shared technical user. The signed-in user&amp;rsquo;s identity is propagated to the ABAP backend, so SAP checks the request with that user&amp;rsquo;s normal SAP authorizations, for example object, package, transport, table, or &lt;code&gt;S_DEVELOP&lt;/code&gt; permissions.&lt;/p&gt;&#xA;&lt;p&gt;In simpler words: Copilot calls ARC-1 over HTTPS, BTP authenticates the user and resolves the SAP destination, and the Cloud Connector forwards the request to the ABAP system. The server ceiling is the maximum ARC-1 capability the admin enabled for this instance, so a user role can never enable more than the server allows.&lt;/p&gt;&#xA;&lt;p&gt;For Copilot Studio I would be extra conservative with the first setup:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;read/search/diagnose only&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;data preview only for selected users&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;free SQL only for selected users&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;writes disabled by default&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;transport writes disabled&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A Copilot Studio agent can be much more accessible to non-developers than an IDE tool, so the safety model matters even more.&lt;/p&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup&lt;/h2&gt;&#xA;&lt;p&gt;I would keep the setup simple and reuse the BTP deployment from the previous post:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Deploy ARC-1 on BTP with &lt;a href=&#34;https://marianfoo.github.io/arc-1/xsuaa-setup/&#34;&gt;XSUAA&lt;/a&gt;, &lt;a href=&#34;https://marianfoo.github.io/arc-1/btp-destination-setup/&#34;&gt;BTP destinations&lt;/a&gt;, and ideally &lt;a href=&#34;https://marianfoo.github.io/arc-1/principal-propagation-setup/&#34;&gt;Principal Propagation&lt;/a&gt;. The detailed steps are in the &lt;a href=&#34;https://marianfoo.github.io/arc-1/phase4-btp-deployment/&#34;&gt;BTP deployment guide&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Keep ARC-1 read-only first, or at least very restricted with &lt;a href=&#34;https://marianfoo.github.io/arc-1/authorization/&#34;&gt;ARC-1 authorization and roles&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;In Copilot Studio, add ARC-1 as an &lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent&#34;&gt;existing MCP server&lt;/a&gt; with the public HTTPS endpoint from BTP, for example &lt;code&gt;https://arc1-ecc-dev.cfapps.eu10.hana.ondemand.com/mcp&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Use OAuth 2.0 for the MCP server authentication. Copilot Studio supports manual OAuth configuration for MCP servers, and ARC-1 on BTP can use XSUAA for that.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-add-sharepoint&#34;&gt;SharePoint as a knowledge source&lt;/a&gt;, add the &lt;a href=&#34;https://mcp-sap-docs.marianzeis.de/&#34;&gt;SAP documentation MCP server&lt;/a&gt; with its public MCP endpoint &lt;code&gt;https://mcp-sap-docs.marianzeis.de/mcp&lt;/code&gt;, and then add other enterprise sources only where they make sense.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams&#34;&gt;Publish the agent to Teams or Microsoft 365 Copilot&lt;/a&gt; after testing.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent&#34;&gt;existing MCP server page&lt;/a&gt; also documents Streamable transport and the API key or OAuth 2.0 authentication options. For SAP system access I would not start with API keys unless it is a very controlled automation scenario, because OAuth gives a better identity story.&lt;/p&gt;&#xA;&lt;p&gt;In my test agent I used ARC-1 on BTP, a Jira MCP server, and SAP Docs as tools. For knowledge, I added SharePoint locations for specifications and IT documents, plus a Jira connector. For this showcase I enabled the available read and write tools.&lt;/p&gt;&#xA;&lt;p&gt;Microsoft&amp;rsquo;s own &lt;a href=&#34;https://learn.microsoft.com/en-us/graph/mcp-server/use-enterprise-mcp-server-copilot-studio&#34;&gt;MCP Server for Enterprise&lt;/a&gt; points in a similar direction for Microsoft Graph: enterprise context should come through governed endpoints, not random local scripts.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Copilot Studio SAP Agent tools screen showing ARC-1 BTP, Jira MCP Server, and SAP Docs as MCP tools.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/copilotstudio-tools.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Copilot Studio SAP Agent knowledge screen showing SharePoint knowledge sources and a Jira connector.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/sapcopilot-knowledge.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;sharepoint-and-sap-documentation&#34;&gt;SharePoint And SAP Documentation&lt;/h2&gt;&#xA;&lt;p&gt;The most natural non-developer setup is probably SharePoint plus SAP docs plus SAP system context. SharePoint is where many specifications and project documents already live, and Copilot Studio can use &lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-add-sharepoint&#34;&gt;SharePoint as a knowledge source&lt;/a&gt; while Microsoft authentication keeps the normal document permissions in place.&lt;/p&gt;&#xA;&lt;p&gt;But SharePoint alone is not enough. A specification can say what should happen, but it often does not know how the SAP system actually works today. This is where ARC-1 comes in. The agent can ask ARC-1 for current ABAP objects, CDS views, table structures, message texts, service bindings, transaction metadata, or selected table data, depending on what is enabled and authorized in the &lt;a href=&#34;https://marianfoo.github.io/arc-1/authorization/&#34;&gt;ARC-1 tool and role model&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Then I would add the separately deployed &lt;a href=&#34;https://mcp-sap-docs.marianzeis.de/&#34;&gt;mcp-sap-docs&lt;/a&gt; server as the documentation layer, using the public MCP endpoint &lt;code&gt;https://mcp-sap-docs.marianzeis.de/mcp&lt;/code&gt;. It can search SAP documentation, ABAP keyword docs, RAP samples, style guides, DSAG guidelines, SAP Community, and also released object information. That gives the agent a much better chance to not only say &amp;ldquo;this is possible&amp;rdquo;, but also explain what SAP recommends and where the current system differs.&lt;/p&gt;&#xA;&lt;p&gt;This combination is more useful than any single source alone:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;SharePoint = what the project wants&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Jira = what needs to be solved&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mcp-sap-docs = what SAP recommends&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ARC-1 = what the SAP system actually does&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Of these four, ARC-1 is the only one that can read or write actual ABAP in actual SAP. Everything else is orchestration around it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-real-use-cases-i-tested&#34;&gt;The Real Use Cases I Tested&lt;/h2&gt;&#xA;&lt;p&gt;I created a few small demo scenarios and tested them in Copilot Studio with ARC-1. The screenshots below are from those conversations.&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-case-1-bug-fix-from-a-jira-ticket&#34;&gt;Use Case 1: Bug Fix From A Jira Ticket&lt;/h2&gt;&#xA;&lt;p&gt;The first scenario is still a developer scenario, but it shows the complete loop very well. The Jira ticket &lt;code&gt;KAN-2&lt;/code&gt; only says that a customer with exactly EUR 1,000,000.00 revenue gets the wrong discount tier. Copilot reads the ticket, searches the SAP system, reads &lt;code&gt;ZARC1_DEMO_DISCOUNT&lt;/code&gt;, compares the implementation with the header comment specification, and proposes the one character patch.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Look at KAN-2, propose a patch, but don&amp;#39;t apply it yet.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The important part for me is the confirmation step. The agent does not immediately write to SAP. It first shows the root cause and the diff. Only after the follow-up prompt it updates and activates the report.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Jira ticket KAN-2 describing the wrong discount tier for exactly EUR 1,000,000.00 revenue.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/conversations/01/jira-ticket.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Copilot Studio proposing a patch for Jira ticket KAN-2 after reading the ABAP report ZARC1_DEMO_DISCOUNT.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/conversations/01/patch-proposal.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Copilot Studio confirming that the patch for ZARC1_DEMO_DISCOUNT was applied and activated.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/conversations/01/patch-applied.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;full-answer-viewer.html?case=Use%20Case%201&amp;amp;title=Bug%20fix%20from%20a%20Jira%20ticket&amp;amp;answer=conversations/01/full-answer.txt&#34;&gt;Open the formatted full answer&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This captured run shows both steps: first the patch proposal, then the explicit follow-up to apply and activate it. In a safer setup, the first step alone can already be enough. The developer can copy the suggested diff, review it, test it manually, and keep ARC-1 read-only for that scenario.&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-case-2-sharepoint-change-request-to-impact-analysis&#34;&gt;Use Case 2: SharePoint Change Request To Impact Analysis&lt;/h2&gt;&#xA;&lt;p&gt;The second use case is more interesting for architects. A short SharePoint memo asks to widen &lt;code&gt;ZARC1_DEMO_AMOUNT_DOM&lt;/code&gt; from &lt;code&gt;CURR 13,2&lt;/code&gt; to &lt;code&gt;CURR 23,2&lt;/code&gt;. Copilot reads the memo and then uses ARC-1 to walk the dependency chain in SAP.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Read the change request in IT/Clean Core/ and tell me what would break.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The answer is not just &amp;ldquo;yes, change the domain&amp;rdquo;. It lists the dependency chain from domain to data element to table to report, then explains the risks: activation order, possible table lock, output length, and the hardcoded report layout.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Copilot Studio showing an impact analysis for a SharePoint change request to widen an ABAP amount domain.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/conversations/02/impact-analysis.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;full-answer-viewer.html?case=Use%20Case%202&amp;amp;title=SharePoint%20change%20request%20impact%20analysis&amp;amp;answer=conversations/02/full-answer.txt&#34;&gt;Open the formatted full answer&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is where a solution architect or functional consultant benefits from SAP system context without needing an IDE. It turns a business change request into a better technical discussion.&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-case-3-build-a-cds-view-from-a-sharepoint-specification&#34;&gt;Use Case 3: Build A CDS View From A SharePoint Specification&lt;/h2&gt;&#xA;&lt;p&gt;The third use case combines SharePoint, SAP documentation, and ARC-1. The input is a small SharePoint specification for a sales order KPI CDS view. Copilot reads the spec, uses &lt;a href=&#34;https://mcp-sap-docs.marianzeis.de/&#34;&gt;mcp-sap-docs&lt;/a&gt; for SAP documentation and CDS conventions, reads the source table from SAP, and then creates and activates the views.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Build the CDS view from IT/Specifications/spec-orders-kpi.md.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;What I liked in this example is that the agent had to adapt to the system. The first simple idea did not work because the system did not allow arithmetic expressions directly inside aggregate functions. The final result was a two-layer CDS design: a base view for line revenue and a KPI view for aggregation.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Copilot Studio explaining that it created and activated a two-layer CDS view design from a SharePoint specification.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/conversations/03/cds-view-built.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;full-answer-viewer.html?case=Use%20Case%203&amp;amp;title=CDS%20view%20from%20a%20SharePoint%20specification&amp;amp;answer=conversations/03/full-answer.txt&#34;&gt;Open the formatted full answer&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is where Copilot Studio becomes more than a chatbot over documents: SharePoint for the requirement, mcp-sap-docs for the SAP pattern, and ARC-1 for the real table and activation.&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-case-4-code-quality-report&#34;&gt;Use Case 4: Code Quality Report&lt;/h2&gt;&#xA;&lt;p&gt;The fourth scenario is reporting only. The prompt asks Copilot to audit the &lt;code&gt;$TMP&lt;/code&gt; &lt;code&gt;ZARC1_DEMO_*&lt;/code&gt; ABAP programs and post a quality report. The captured answer shows the generated Markdown report, not the SharePoint write-back step.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Audit our $TMP ZARC1_DEMO_* ABAP programs and post a quality report.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Copilot searches the SAP system, reads the programs, runs both SAP ATC checks and abaplint, and produces a per-program report with the two findings axes scored against an overall Risk column. It also catches things pure linting would not flag on its own: SQL injection in the dump-trigger report, full-table scans in the invoice list, and table-buffer bypass on &lt;code&gt;USR02&lt;/code&gt;. The same output could then be written to SharePoint, Word, or another document store depending on the connectors and permissions.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Copilot Studio showing an ABAP code quality audit report for ZARC1_DEMO programs.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/conversations/04/code-quality-report.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;full-answer-viewer.html?case=Use%20Case%204&amp;amp;title=ABAP%20code%20quality%20report&amp;amp;answer=conversations/04/full-answer.txt&#34;&gt;Open the formatted full answer&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is not mainly a coding example. It gives an architect, technical lead, or quality manager a faster first view: which programs are risky, which findings are only style, and which ones would block a promotion.&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-case-5-short-dump-diagnosis-from-a-jira-ticket&#34;&gt;Use Case 5: Short Dump Diagnosis From A Jira Ticket&lt;/h2&gt;&#xA;&lt;p&gt;The fifth example starts from an intentionally weak Jira ticket. It only says that &lt;code&gt;ZARC1_DEMO_DUMP_RPT&lt;/code&gt; short dumped overnight and that ST22 has the dump. This is close to how many real support tickets start.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Investigate KAN-3 and apply a defensive fix.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Copilot reads the Jira ticket, uses ARC-1 to read short dumps, identifies &lt;code&gt;DBSQL_SQL_ERROR&lt;/code&gt;, reads the report, explains the root cause, and applies a defensive fix. In this demo it adds validation before a dynamic &lt;code&gt;SELECT FROM (p_table)&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Jira ticket KAN-3 with a short description that the ABAP report ZARC1_DEMO_DUMP_RPT short dumped overnight.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/conversations/05/jira-dump-ticket.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Copilot Studio showing ST22 short dump analysis and the defensive fix for ZARC1_DEMO_DUMP_RPT.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/conversations/05/short-dump-fix.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;full-answer-viewer.html?case=Use%20Case%205&amp;amp;title=Short%20dump%20diagnosis%20from%20Jira&amp;amp;answer=conversations/05/full-answer.txt&#34;&gt;Open the formatted full answer&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;In bug fixing, the analysis is often the biggest part. If the agent can collect the ticket, dump, source code, and related objects, then the developer starts much further ahead.&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-case-6-clean-core-readiness-check&#34;&gt;Use Case 6: Clean Core Readiness Check&lt;/h2&gt;&#xA;&lt;p&gt;The last scenario is about clean core readiness. The prompt is simple:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Is ZCL_ARC1_DEMO_CCORE clean-core ready?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Copilot reads the class through ARC-1 and finds direct selects on &lt;code&gt;USR02&lt;/code&gt; and &lt;code&gt;BUT000&lt;/code&gt;. Then it uses two different context sources for the assessment. ARC-1&amp;rsquo;s &lt;code&gt;API_STATE&lt;/code&gt; read capability asks the SAP system for release state and successor information. The SAP documentation source adds the official guidance around clean core, released APIs, ABAP Cloud readiness, and why direct table access to internal SAP tables is problematic. When SAP documentation returned no entry at all for &lt;code&gt;USR02&lt;/code&gt;, the agent treated that as &amp;ldquo;strictly internal, find a released alternative&amp;rdquo; rather than &amp;ldquo;unknown, assume fine&amp;rdquo;, and inferred the right successor anyway. Based on that combined context, Copilot proposes released successor APIs like &lt;code&gt;I_BUSINESSUSERBASIC&lt;/code&gt; and &lt;code&gt;I_BUSINESSPARTNER&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Copilot Studio showing a clean core readiness analysis for class ZCL_ARC1_DEMO_CCORE.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/conversations/06/clean-core-readiness.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;full-answer-viewer.html?case=Use%20Case%206&amp;amp;title=Clean%20core%20readiness%20check&amp;amp;answer=conversations/06/full-answer.txt&#34;&gt;Open the formatted full answer&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;ARC-1 provides the real custom code and the system-specific release state, while SAP documentation provides the official target direction. That makes the result useful for architecture and modernization planning, not only for a developer sitting in an IDE.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-this-matters&#34;&gt;Why This Matters&lt;/h2&gt;&#xA;&lt;p&gt;The important change is not that Copilot Studio can call one more tool. The important change is that a centrally deployed ARC-1 endpoint can make SAP system context available in places where more project roles can use it.&lt;/p&gt;&#xA;&lt;p&gt;Developers still need IDEs, and Copilot Studio does not replace ABAP development tools. But it can become a useful layer for analysis, specification, support, documentation, and architecture work, especially when it combines SAP system context, SAP documentation, SharePoint, Jira, and Microsoft 365 through governed tools and connectors. Without that central architecture, this would again become a local tool story. With BTP, it becomes an enterprise agent story.&lt;/p&gt;&#xA;&lt;h2 id=&#34;references--links&#34;&gt;References &amp;amp; links&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/marianfoo/arc-1&#34;&gt;ARC-1 on GitHub&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://marianfoo.github.io/arc-1/&#34;&gt;ARC-1 Documentation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://marianfoo.github.io/arc-1/tools/&#34;&gt;ARC-1 Tools&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://marianfoo.github.io/arc-1/enterprise-auth/&#34;&gt;ARC-1 Authentication Overview&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://marianfoo.github.io/arc-1/phase4-btp-deployment/&#34;&gt;ARC-1 BTP Cloud Foundry Deployment&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://marianfoo.github.io/arc-1/xsuaa-setup/&#34;&gt;ARC-1 XSUAA Setup&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://marianfoo.github.io/arc-1/btp-destination-setup/&#34;&gt;ARC-1 BTP Destination Setup&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://marianfoo.github.io/arc-1/principal-propagation-setup/&#34;&gt;ARC-1 Principal Propagation Setup&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://marianfoo.github.io/arc-1/authorization/&#34;&gt;ARC-1 Authorization and Roles&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/marianfoo/mcp-sap-docs&#34;&gt;mcp-sap-docs&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://help.sap.com/docs/btp/sap-business-technology-platform/abap-development-user-guides&#34;&gt;SAP Help: ABAP Development Tools for Eclipse: User Guides&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/&#34;&gt;Microsoft Learn: Copilot Studio documentation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent&#34;&gt;Microsoft Learn: Connect your agent to an existing MCP server&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-create-new-server&#34;&gt;Microsoft Learn: Create a new MCP server&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-add-sharepoint&#34;&gt;Microsoft Learn: Add SharePoint as a knowledge source&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams&#34;&gt;Microsoft Learn: Connect and configure an agent for Teams and Microsoft 365 Copilot&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/microsoft-365/copilot/connectors/jira-cloud-deployment&#34;&gt;Microsoft Learn: Jira Cloud connector for Microsoft 365 Copilot&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/graph/mcp-server/use-enterprise-mcp-server-copilot-studio&#34;&gt;Microsoft Learn: Use Microsoft MCP Server for Enterprise from Copilot Studio&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
    </item>
  </channel>
</rss>
