DEV Community

Cover image for Part 18: Build 3b — SAP: Joule agent and approvals in the ERP workflow (with scores)
Shakar Bisetty
Shakar Bisetty

Posted on

Part 18: Build 3b — SAP: Joule agent and approvals in the ERP workflow (with scores)

Part 18 · One Agent, Five Platforms

Part 17 put the nine tools on SAP Integration Suite, with S/4HANA as the system of record. This part builds the agent on top: when the ERP vendor builds the agent too, what changes? It covers Joule Studio, trust and governance, the approval in the ERP workflow, and SAP's provisional scores.

It's documentation-only, like the MuleSoft and Boomi builds. As in Part 17, it's based on SAP's published material as I read it on 6 November 2026: the SAP Architecture Center, SAP Learning and the Joule Studio product page, linked below. I couldn't check the SAP Help Portal, so fewer criteria have evidence than on the first two platforms, and the scores show that.

The invoice agent on SAP, drawn on the reference architecture

How the pieces map

Using the five layers from Part 3:

  • Channel: the AP exception queue and approvers' My Inbox in S/4HANA.
  • Agent: a custom Joule agent built in Joule Studio, running on SAP's managed runtime.
  • Tools: the nine tools from Part 17, on the MCP Gateway in Integration Suite.
  • Process layer: integration flows and API artifacts with the rules and the approval_id check.
  • System of record: S/4HANA, including its own flexible workflow for supplier invoices.

1. Building the agent in Joule Studio

The Joule Studio reference architecture describes it as "SAP's AI-native development environment for building custom agents, apps, and workflows", with two paths:

  • Low-code: a browser-based builder for agent instructions, tools, workflows and human-in-the-loop steps.
  • Pro-code: a jl CLI with a coding agent connected over MCP. Solutions deploy with jl solution deploy and "register automatically with Joule".

Agents run on an SAP-managed runtime, where "SAP handles scaling, monitoring, and operations". Models come from the generative AI hub. Another SAP Architecture Center page says custom agents use Integration Suite-managed MCP servers for tools, which is exactly what Part 17 set up.

On availability, the picture is mixed. An SAP Community post announced the agent builder as generally available, while the Joule Studio product page asks visitors to sign up "to be first to know when the trial opens". As Part 13 found, the SAP Build trial doesn't allow production deployment. Check what your licence includes.

As on the other platforms, rules run first. Following Part 2, the process layer runs the three-way match and duplicate check, and only real exceptions reach the agent.

2. Trust and governance

SAP spreads trust across a few places:

  • The model layer. The generative AI hub's orchestration service has content filtering and data masking, which can anonymise or pseudonymise sensitive data "before it is processed by generative AI models". For invoices, that's where supplier bank details would be masked.
  • The tool layer. The MCP Gateway from Part 17: OIDC authentication, rate limits, IP blocking and payload protection.
  • The runtime. The product page lists identity and access through SAP Cloud Identity Services, pre-launch testing, "continuous evaluation" and visibility into agent behaviour and failures.
  • The rules of access. SAP's API Policy from Part 17: agents reach SAP only through endorsed paths, MCP or A2A.

What I couldn't find in the pages I read: how to give one agent a narrower set of tools than another (the per-agent stages from Part 9), audit details, and how errors surface. The July 2026 Integration Suite update lists an AI Gateway for agent-to-LLM calls, with token budgets, as roadmap.

3. The approval in the ERP workflow

This is where SAP is different. The approval can live where the invoice lives.

S/4HANA has a flexible workflow for supplier invoices. According to SAP Learning, workflows can be one-step or multi-step, approvers are assigned by role, user or team and work in the My Inbox app, and steps can exclude restricted agents such as the document's creator. For supplier invoices, there's no automatic-release step type, so every step needs a person.

Joule Studio also has a Human in the Loop tool. SAP Learning's course on tools and MCP describes it as "pausing the workflow and requesting manual approval or input from a user", with the example of a finance agent asking a manager to approve an unusually large invoice.

For this agent, I'd use the ERP workflow as the approval and the Human in the Loop tool only as a pause. The reason is Part 6: the approval has to be checkable by the system that posts. So request_approval starts the invoice's flexible workflow, the approver acts in My Inbox, and post_invoice_adjustment checks the workflow's result before posting. No released approval, APPROVAL_MISSING. How the workflow result maps to an approval_id needs confirming in a build.

4. Inside SAP, and outside it

Strengths of being inside SAP:

  • The data, the approval and the posting are in one system, so the audit trail is in one place.
  • Approvers use an inbox they already know, with roles that already exist.
  • The vendor owns the protocols too: the A2A and MCP architecture exposes Joule agents over A2A 0.3.0 through Agent Gateway, and lets Joule call external agents.

Limits outside it:

  • Joule calling external agents supports text messages only, and expects a reply within 60 seconds.
  • Two-way communication with third-party and self-hosted agents through Agent Gateway isn't supported yet.
  • The more of the design that lives in SAP, the more the comparison depends on SAP's roadmap: principal propagation, AI Gateway and multi-artifact MCP servers are all still listed as coming.

Provisional scores

Documentation-only scores are capped at 4. Blank means no evidence in the sources I could read, as Part 5 requires.

  1. Tool exposure (MCP): 3. MCP Gateway with three ways to create servers and Streamable HTTP. Error handling, schema control and composing several API artifacts aren't confirmed or are on the roadmap.
  2. Agent build experience: blank.
  3. Multi-agent and A2A: 3. A2A 0.3.0 inbound and outbound through Agent Gateway, with limits: text only, 60-second replies, no full two-way support with third parties yet.
  4. Human-in-the-loop: 4. A Human in the Loop tool in Joule Studio plus the ERP's own multi-step flexible workflow with role-based approvers.
  5. Identity and access: 3. SAP Cloud Identity Services, IAS tokens for A2A and token-exchange guidance. Principal propagation through the gateway is on the roadmap.
  6. Governance and gateway: 3. Gateway security, content filtering, data masking and a clear API Policy. No per-agent tool filtering found, and the AI Gateway is roadmap.
  7. Observability: 3. Gateway logs, traces and analytics, and a managed runtime that SAP monitors. No agent trace or export details in what I read.
  8. Evaluation support: 3. The reference architecture lists "auto-generated unit tests and AI evals", and the product page lists continuous evaluation. Running the golden set from Part 10 is still my own harness.
  9. Deployment and CI/CD: 2. A CLI deploy and a managed runtime. Transport, versioning and rollback weren't covered in what I read.
  10. Cost transparency: blank. Nothing in the sources I could read.
  11. Data residency and on-prem: blank. Nothing in the sources I could read.

That's eight scores, averaging 3.0. Boomi averaged 2.8 across ten, and MuleSoft 3.3 across ten. With three blanks, SAP's average is the least comparable of the three, and it will change once the Help Portal details are checked.

What this sets up

SAP's advantage is the approval: the only one of the three where the human step lives in the system that posts the invoice. The cost is dependence: on SAP's roadmap, its API Policy and its runtime.

Part 19 steps back from the platforms to the system of record itself.

SAP teams: would you build this in Joule or outside SAP?


This series describes a reference build on a fictional company. This part is based only on SAP's published material as of 6 November 2026; no hands-on build has been run yet. Views are my own. Check current docs before you build.

Top comments (0)