Setup
From an empty SAP BTP subaccount to the first answer in SAP Joule. Most of it runs as two deployments in Boidra Platform, the SAP operations platform and the agent; the steps around them are done once per subaccount.
We set it up with you
The setup is part of onboarding. We run the deployments with you and map the agent to your systems; this page shows what happens and what you prepare.
Checklist
| # | Step | Who | Once per |
|---|---|---|---|
| 1 | Prepare the subaccount | SAP BTP administrator | subaccount |
| 2 | Deploy the SAP operations platform | Boidra Platform | release |
| 3 | Connect your SAP systems | SAP BTP and SAP Basis administrators | system |
| 4 | Add the apps to SAP Build Work Zone | Work Zone administrator | new app |
| 5 | Deploy the agent | Boidra Platform | release |
| 6 | Configure the agent in the Agents app | Agent administrator | agent |
| 7 | Connect the agent to SAP Joule | Joule administrator | release |
| 8 | Assign roles and check it works | SAP BTP administrator | user |
1. Prepare the subaccount
A Cloud Foundry environment with a space for the platform and the agent, and these entitlements:
| Service | Plan | Used by |
|---|---|---|
| SAP Authorization and Trust Management service (XSUAA) | application | the landscape service, the MCP server and the agent: one instance each |
| SAP Destination service | lite | the connections to your systems and to SAP Joule |
| SAP Connectivity service | lite | on-premise systems through the Cloud Connector |
| HTML5 Application Repository | app-host, app-runtime | the four apps |
| SAP Audit Log service | oauth2 | changes, decisions, restarts and knowledge base reads |
| SAP AI Core | extended | the language model, the knowledge base and the error forecast |
| PostgreSQL, hyperscaler option | your plan | the landscape service's data (SAP HANA Cloud is planned) |
| SAP Build Work Zone, standard edition | standard | the launchpad for the apps |
| SAP Cloud Identity Services | sign-in, and Joule's user tokens for answers that arrive later |
In SAP AI Core, create one resource group for the agent and deploy the models it uses: gpt-4.1 through the generative AI hub, an embedding model for the knowledge base, and SAP-RPT-TS if you want error forecasts.
2. Deploy the SAP operations platform
The platform is one deployment: the landscape service (lsx-srv), the SAP operations MCP server (aif-mcp-server), the apps and their service instances. In Boidra Platform, deploy the SAP operations platform asset to your space. Its settings are chosen per subaccount, for example:
- the PostgreSQL instance (an existing one, or a new one);
- the destination of the AIF OData service and of your SAP Integration Suite tenant;
- the SAP AI Core instance, resource group and grounding collections;
- the knowledge base collection;
- whether restarts and cancels of AIF messages are allowed (off by default).
The deployment creates the SAP BTP destinations the agent finds the platform by: SAP_OPS_AGENT_CONFIG for its configuration and one SAP_OPS_MCP_* destination per MCP endpoint. See Architecture.
3. Connect your SAP systems
Done once per system, in the SAP BTP cockpit and in your SAP systems:
- SAP S/4HANA (AIF). A technical user with the AIF authorizations, the AIF OData service (
AIF_SRV) active, and an SAP BTP destination to it. For an on-premise system, expose it through the Cloud Connector and useProxyType: OnPremise. - SAP Integration Suite. A destination to your tenant's API, for the Integration Suite tools and for the landscape pulls.
- The landscape. Extract your system landscape with the Landscape connector and confirm the snapshot in the Connectors app. The agent only uses confirmed landscapes.
- Your knowledge. Upload runbooks, specifications and error guides in the Knowledge Base app. Personal data and secrets are masked before anything reaches SAP AI Core.
To route a tool through the SAP Integration Suite MCP Gateway instead of calling the MCP server directly, point that tool's SAP_OPS_MCP_* destination at the gateway. See Choose your connectors.
4. Add the apps to SAP Build Work Zone
After the first platform deployment, and again when a release brings a new app:
- In the Channel Manager, refresh the HTML5 apps content provider.
- In the Content Explorer, add the apps: Connectors, Agents, Known Solutions and Knowledge Base.
- Put them into a group and a role of your site.
When a release only changes an app, refreshing the content provider is enough; reload the browser with Ctrl+F5, since Work Zone keeps an app by its version.
5. Deploy the agent
In Boidra Platform, deploy the Boidra Interface Resolution Agent to the same space. The deployment binds its SAP AI Core, XSUAA and Destination instances, and creates the SAP BTP destination SAP Joule uses to reach the agent. See Create, register & deploy an agent.
Every request is traced with OpenTelemetry in Boidra Platform, so you see each tool call, its time and its tokens.
6. Configure the agent
In the Agents app:
- Choose its type under Settings.
- Add its tools:
aif,landscape,cis,groundingandsolutions. - Add its grounding collections, such as your runbooks.
- Add its connectors: the systems it may read.
- Adjust the settings: restarts, cancels, known solutions, reports and the morning briefing.
- Restart the agent so it reads the configuration. No redeploy is needed.
7. Connect the agent to SAP Joule
Choose the path that matches where Joule runs. See SAP-managed or customer-managed Joule.
Customer-managed Joule: deploy the capability
The Joule capability ships with the agent. Deploy it with the Joule CLI (@sap/joule-studio-cli), signed in as a user with the capability developer and release administrator roles:
npm install -g @sap/joule-studio-clijoule login -a https://<your-ias-tenant>.accounts.ondemand.com --apiurl https://<subdomain>.<region>.sapdas.cloud.sap --sso-passcodejoule lint ./joulejoule compile ./joule ./buildThen deploy it. For a new assistant:
joule deploy --compile ./jouleTo add it to an assistant that already exists (joule list shows them):
joule update <assistant-name> --capability-file ./build/<capability>.daarRaise the capability's version for every change: Joule deploys only a higher version. If a deploy fails for another capability of the same assistant (for example an MCP toolkit whose server is no longer reachable), fix or remove that capability first: Joule deploys an assistant as a whole.
For answers that arrive later (a restart's result, an improved proposal), Joule calls the agent with a user token from SAP Cloud Identity Services, and the agent answers through Joule's callback. Set up once: an application for the agent in SAP Cloud Identity Services with a dependency on Joule's API, and a destination for the callback. We do this with you during onboarding.
SAP-managed Joule: connect through the SAP Agent Gateway
In the SAP-managed Joule runtime, including Joule Work, the agent is connected through the SAP Agent Gateway: the gateway discovers the agent from its agent card (/.well-known/agent-card.json on the agent's route) and invokes it over A2A. No capability is deployed in a subaccount of yours; the agent still accepts only tokens from your SAP BTP subaccount.
8. Assign roles and check it works
- Assign the role collections for administrators and users. See Roles & access.
- Open the agent card,
https://<agent-route>/.well-known/agent-card.json: it lists the skills. - In Joule, say "Hello Operation Monitoring" for the morning briefing, then try "Show me the AIF errors of the last 7 days" and "resolve #1".
- In Boidra Platform, open the trace of that request: every tool call is listed.
More prompts are in Skills & example prompts.
Updating
- Platform or agent release: deploy the new version in Boidra Platform. Deploy the platform first when the release notes say the agent needs a new tool.
- Joule capability: deploy it after the agent version it needs, with a higher capability version.
- Settings: change them in the Agents app and restart the agent.
