OrganisationSAP

SAP

Provides 75
ABAP Cloud readinessABAPABAP Cloud readinesscapabilityWhether code can run in ABAP Cloud — released APIs only, no direct table access, no obsolete statements — and what to do with the code that cannot.AccessibilityUI5AccessibilitycapabilityMaking a UI usable with a screen reader, with a keyboard alone and without seeing the layout: accessible names on controls, a heading order, landmarks, focus handling and announcements. Target size for a finger is [touch operation](capability:ui5-touch-uis).Account provisioningBTPAccount provisioningcapabilitySetting up cloud accounts, their organisational structure, resource entitlements, subscriptions and access assignments so the setup can be repeated from code. [Deployment](capability:deployment) puts an application onto a runtime that this account structure makes available.Agent access to your codeCAPABAPUI5BTPAgent access to your codecapabilityLetting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from [MCP servers](capability:mcp-servers), which is a protocol adapter on your own running service, and from [agent guidance](capability:agent-guidance), which is knowledge handed over as files rather than read from the thing itself.Agent guidanceCAPUI5BTPABAPAgent guidancecapabilityPackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from [agent access to your code](capability:agent-code-access), where the agent reads the real project instead of being handed a file about it.Agent toolingCAPBTPAgent toolingcapabilityBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.Agent workspacesBTPAgent workspacescapabilityGiving people a workspace to direct agents, retain the context of a task and interact with its results across connected applications. This is the user-facing experience around agents; building their logic belongs to [Agent tooling](capability:agent-tooling), and controlling their calls belongs to [Tool governance](capability:tool-governance).App hostingBTPUI5CAPApp hostingcapabilityWhere a built frontend lives and what serves it — the static files of a frontend application after the build, reachable behind a login and beside the API it talks to, without a web server of your own.Application runtimesBTPApplication runtimescapabilityThe environments that execute application code and manage its processes, containers or managed language runtime. Getting a build onto one is [deployment](capability:deployment); serving a frontend’s built static files is [app hosting](capability:app-hosting).Architecture diagramsBTPArchitecture diagramscapabilityDrawing the architecture and components of a solution so another person can understand their responsibilities and connections. Shared notation makes diagrams readable across teams.AttachmentsCAPUI5ABAPBTPAttachmentscapabilityStoring a file somebody uploaded next to the record it belongs to, and getting it back out — where the bytes actually live, who may read them, and what the UI shows while they are being scanned.AuthenticationCAPBTPABAPUI5AuthenticationcapabilityEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. [Authorization](capability:authorization) decides what that identity may do; [identity provisioning](capability:identity-provisioning) manages its lifecycle across systems.AuthorizationCAPBTPABAPAuthorizationcapabilityDeciding who may read or change what, at service, entity and instance level — role checks, forwarded user context, and restrictions evaluated as query filters rather than after the fact.B2B message mappingBTPB2B message mappingcapabilityDefining the structure of business messages exchanged between partners using different standards, and mapping one structure onto another. This includes interface specifications, schemas and transformations; executing them in middleware belongs to [integration flows](capability:integration-flows).Browsing table dataABAPBrowsing table datacapabilityLooking at what a system holds while developing or supporting it: the rows behind a key, the reference data a field points at, the tables that carry data for one object. Editing configuration records through maintenance screens is a different job, even where the same transaction does both.Build and dev-server toolingUI5Build and dev-server toolingcapabilityServing an app locally and building it for deployment — proxying a backend, transpiling, bundling, and shaping the result for whatever will host it.Certificate managementABAPBTPCertificate managementcapabilityKeeping the certificates a system trusts and presents over TLS current: importing root and intermediate CAs, requesting and importing its own signed certificate, and replacing one before it expires. Storing and rotating passwords and keys an application reads is [secrets rotation](capability:secrets-rotation).Change promotionABAPBTPCAPUI5Change promotioncapabilityMoving a change through the environments of a landscape, from development through test to production, and knowing which change has reached which environment. A [CI/CD pipeline](capability:ci-cd) builds and tests on each source change, [deployment](capability:deployment) puts a build onto its runtime, and getting source into git is [source control](capability:abap-source-control).CI/CD pipelinesBTPCAPCI/CD pipelinescapabilityA pipeline that builds, tests and delivers an application each time its source repository changes, with a build log that shows which step failed. [Deployment](capability:deployment) describes getting the build onto its target runtime.Clean code conventionsABAPClean code conventionscapabilityThe naming, structure and language-subset conventions that make source code readable across a team — and the question of which of them a checker can enforce.Consumption monitoringBTPConsumption monitoringcapabilityKnowing what a cloud account consumes as it runs, in credits, capacity units and cost per service and organisational unit, and being warned before a budget is spent. [Logging](capability:logging) and [telemetry](capability:telemetry) watch what an application does; this watches what it costs.Content filteringBTPCAPContent filteringcapabilityChecking what goes into a model and what comes out of it against content rules, and stopping or flagging a request that fails them. Distinct from [data masking](capability:data-masking), which hides values: a filter refuses content.Data bindingUI5Data bindingcapabilityKeeping a control and a model in step in both directions, including the formatting, type conversion and validation that sit between the two.Data federationCAPBTPData federationcapabilityReading data that lives in another system as if it were local — by federating the query, by copying the rows, or by caching what was read. Three different answers to one question, and the choice is about how stale you can afford to be.Data maskingBTPCAPData maskingcapabilityReplacing the personal or confidential values in a prompt with placeholders before it leaves for a model, and putting them back in the answer. Anonymisation, where the values are gone for good, and pseudonymisation, where they return, are the two forms; which fields count as sensitive is the application's question, not the module's.Data privacyCAPABAPBTPData privacycapabilityDoing what the law requires with personal data — knowing which fields are personal, answering a subject's request about them, and deleting them when the reason for holding them expires.Database connectorsCAPBTPABAPDatabase connectorscapabilityConnecting an application’s data model and queries to a database, including the differences in supported queries, types and schema management between database implementations. Changing an existing schema belongs to [schema evolution](capability:schema-evolution).DeploymentCAPBTPDeploymentcapabilityGetting an application onto a runtime and keeping it there: build descriptors, deployment topology, service bindings and lifecycle operations. The target runtime determines how the application is packaged and configured.Deployment and operatorCAPBTPDeployment and operatorcapabilityAutomating the build and deployment of a project with multiple modules: generating deployment descriptors and coordinating build, migration, deployment and validation commands. [Deployment](capability:deployment) describes the target runtime and lifecycle; this concerns the tooling that drives those steps.DestinationsCAPBTPUI5DestinationscapabilityReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.Document outputCAPABAPBTPDocument outputcapabilityProducing a document a person receives — a printed form, a generated PDF, a filled template — and getting it to a printer or a queue rather than returning it as a payload.DocumentationCAPUI5BTPABAPDocumentationcapabilityFinding the answer in what has already been written, and writing it where it has not — first-party documentation made searchable by something other than a person scrolling it, including by an agent, and a document of custom code produced from the code itself.Editor supportCAPABAPBTPUI5Editor supportcapabilityWorking in source code with the editor helping rather than treating it as text — completion, go-to-definition, inline errors, refactoring and preview.Encryption and signingABAPBTPEncryption and signingcapabilityEncrypting, decrypting and signing data from application code: a document wrapped for one recipient, a payload signed so its origin can be checked, a value enciphered with a key both sides hold. Encryption of a connection, TLS, is set up in the system and is outside this concern.Event MeshCAPBTPABAPEvent MeshcapabilityEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to [async processing](capability:async-processing).Fiori annotationsCAPUI5ABAPFiori annotationscapabilityDescribing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic.GeneratorsCAPABAPUI5GeneratorscapabilityGetting from nothing to a project that runs, and from a project that runs to one that has the piece you just decided you need. Two different moments: the first is a one-time decision about layout, the second recurs for the life of the project.Health data interoperabilityBTPHealth data interoperabilitycapabilityExchanging health-related data using the HL7 FHIR standard: FHIR resources profiled and stored for a project's own business and localization needs, reached over REST APIs, and connected to an external system through FHIR-specification messaging rather than a bespoke integration built per source.Identity provisioningBTPIdentity provisioningcapabilityGetting users, groups and role assignments into every system that needs them, and out again when a person leaves, through provisioning jobs or SCIM APIs. [Authentication](capability:authentication) answers who is calling one request; provisioning decides whether the user exists in that system at all.Integration flowsBTPIntegration flowscapabilityMoving and transforming messages between systems in middleware instead of in application code: an integration flow with its adapters and mappings, and the runtime it executes on. Reaching a remote system from application code is [destinations](capability:destinations), and brokering events between systems is [Event Mesh](capability:event-mesh).Integration scenario setupBTPIntegration scenario setupcapabilityWalking through the technical configuration that connects systems — cloud to on-premise, or one cloud solution to another — as a guided, role-assigned checklist rather than a configuration guide followed by hand. [Integration flows](capability:integration-flows) move and transform the messages once the connection exists; this is the setup that runs before that.Key-user adaptationUI5ABAPBTPKey-user adaptationcapabilityChanging a delivered app without modifying it — moving, hiding and adding elements as a layered set of changes that survive an upgrade.Launchpad and site contentBTPUI5Launchpad and site contentcapabilityGetting apps, cards, pages and workspaces in front of users in an application launchpad or portal, including content providers, content packages and access roles. Serving the application’s files is [app hosting](capability:app-hosting); extending the surrounding shell is [launchpad plugins](capability:launchpad-plugins).Launchpad pluginsUI5ABAPBTPLaunchpad pluginscapabilityExtending an application launchpad’s shell rather than an individual app: adding header buttons, user-menu entries, frame areas or background behaviour shared across the apps it hosts. A development sandbox for launching an app is a separate concern.LintingCAPUI5LintingcapabilityCatching in the editor what would otherwise be caught at deploy time, or not at all — problems in source code and models and in the project's configuration, found by rules rather than by review.LLM integrationCAPUI5BTPABAPLLM integrationcapabilityCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.Local developmentCAPABAPLocal developmentcapabilityRunning the whole stack on a laptop against real bindings — the service, the UI and the routing in front of it — without deploying to see a change.LocalizationCAPABAPBTPUI5LocalizationcapabilityServing labels, messages and translated content per user locale, including translatable model elements and per-tenant text overrides.Location servicesBTPCAPLocation servicescapabilityPutting a place on business data from a location provider: an address turned into coordinates or corrected, a base map to draw on, and a route with its distance and duration between two or more points. Storing geometries in the database and querying them there is [graph, spatial and document data](capability:multi-model-data).LoggingCAPBTPABAPUI5LoggingcapabilitySeeing what a running service did, in a form something can read afterwards — levels, a formatter that suits a laptop and one that suits a log service.Low-code appsBTPLow-code appscapabilityBuilding an application by arranging UI components, logic flows and formulas in a visual editor instead of writing its code, backend included. Starting a coded project from a template is [generators](capability:generators), and building a native mobile client is [mobile apps](capability:mobile-apps).Mobile appsBTPMobile appscapabilityBuilding a native iOS or Android app over business data: onboarding, offline sync against an OData service, device features, and the client that runs on the phone. Distinct from a web app opened in a phone's browser; operating a web app with a finger is [touch operation](capability:ui5-touch-uis).Operations automationBTPOperations automationcapabilityActing on a running landscape without someone at the console: an alert routed to where a person or a system will pick it up, and a command that troubleshoots or remediates when it arrives. [Logging](capability:logging), [telemetry](capability:telemetry) and [health checks](capability:health-checks) observe; this acts on what they report. Running an application's own recurring work is [job scheduling](capability:job-scheduling).Predictive modelsBTPPredictive modelscapabilityTraining, deploying and calling a model that predicts a value from tabular business data: a classification, a regression, a forecast. Distinct from [LLM integration](capability:llm-integration), where a language model generates text, even where both run on the same service.Process automationBTPProcess automationcapabilityModelling and running a business process: the process flow, the forms people fill in, decision tables, bots for repetitive steps, and dashboards over the instances that run. Starting a process from an application and reacting to it is [workflow integration](capability:workflow-integration), and the screen a person approves a task on is [task and approval UIs](capability:task-uis).Prompt managementBTPCAPPrompt managementcapabilityKeeping the prompts an application sends to a model as templates with placeholders, stored and versioned apart from the code that calls them, so a change of wording is not a deployment. What people conflate under it: the template filled at runtime, the registry it lives in, and the orchestration step that fills it.Rate limitingCAPBTPRate limitingcapabilityCapping how many requests a service will accept per tenant or per caller, so one consumer cannot exhaust a shared deployment, whether enforced by a policy in front of the application or inside its own process.Responsibility assignmentBTPResponsibility assignmentcapabilityResolving who owns a business process, document or work item — a person or a team, from a condition-based rule or from a lookup mapped to an external system — and notifying them, so a framework can ask rather than hard-code an agent. Running the process itself is [process automation](capability:process-automation); the screen the responsible person acts on is [task and approval UIs](capability:task-uis).Retrieval-augmented generationCAPABAPBTPRetrieval-augmented generationcapabilityGrounding a model's answer in data retrieved at question time: text split into chunks, each chunk embedded as a vector, and the chunks nearest to the question placed into the prompt. Semantic search is the same retrieval with a person reading the matches, and fine-tuning changes the model's weights, not its input.RFC connectivityCAPBTPABAPRFC connectivitycapabilityCalling ABAP function modules from outside the system over RFC, with destinations and connection pooling handled rather than hand-wired on the calling side.Routing and navigationUI5Routing and navigationcapabilityTurning a URL hash into a view, and a view change back into a URL — so a deep link, a browser back button and a refresh all land where the user expects in a single-page app.SerialisationABAPSerialisationcapabilityTurning typed in-memory data into a text or binary format such as JSON, CSV or protobuf and reading it back, including the mapping of names and types the language does not do for you. The protocol that carries the payload is a separate concern: an HTTP or OData client moves the bytes, and serialisation decides what they say.Serve your application over MCPCAPBTPABAPServe your application over MCPcapabilityExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through [service integration](capability:service-integration), connecting its exposed contract with [agent access to your systems](capability:agent-systems-access). Development assistance belongs to [agent access to your code](capability:agent-code-access).Source controlABAPSource controlcapabilityKeeping source code and development objects in version control, comparing their revisions, and moving them between development environments. Managed delivery of changes belongs to [transport management](capability:change-promotion).Static analysisABAPStatic analysiscapabilityCatching problems in code before it runs: naming, obsolete statements, security findings, and compatibility with a target environment. Style linting, security scanning and cloud-readiness checks are often treated as one concern.TelemetryCAPABAPBTPTelemetrycapabilitySeeing what a running service did — traces across handlers and database calls, metrics, and correlation that survives an async boundary.TestingCAPBTPTestingcapabilityProving the service still does what it did — against the model and the handlers, without a deployed system and without a database somebody has to keep clean.ThemingUI5ThemingcapabilityApplying a consistent visual identity across every control, including the parameters an app may read and the custom themes an organisation may build.Third-party connectorsBTPThird-party connectorscapabilityReaching a non-SAP cloud application through a prebuilt connector instead of coding against that vendor's API: the connector holds the credentials and presents the application's resources in one common REST form. Pointing at an endpoint whose API you call yourself is [destinations](capability:destinations), and moving and mapping the messages is [integration flows](capability:integration-flows).Tool governanceCAPABAPBTPTool governancecapabilityControlling what an agent may call, with which authorisations, and leaving an audit trail of what it did. The authorisation question that MCP exposure raises but does not answer.Trading partner agreementsBTPTrading partner agreementscapabilityKeeping track of who business documents are exchanged with and what is set up with each partner: a profile per partner with its contact person, identifiers, communication protocol and B2B standards, an agreement per partner, and one generic flow parameterised from them in place of a flow per partner. What a message looks like and how it maps is [B2B message mapping](capability:b2b-message-mapping), and executing the exchange is [integration flows](capability:integration-flows).TypeScript supportUI5TypeScript supportcapabilityWriting apps and libraries in TypeScript — the type definitions, the module syntax the loader expects, and the build step that gets from one to the other.UI5 testingUI5UI5 testingcapabilityProving a UI still works — unit tests over controllers and formatters, integration tests that drive real controls, and end-to-end runs against a served app.Vulnerability scanningBTPCAPUI5Vulnerability scanningcapabilityFinding known vulnerabilities in the open-source components an application depends on, in the project's dependency tree before it is deployed and in the application once it runs, and following each one until it is fixed. Checking a file somebody uploaded is [malware scanning](capability:malware-scanning), and checking an application's own source for flaws is [static analysis](capability:abap-static-analysis).Web Components interopUI5Web Components interopcapabilityUsing standards-based custom elements inside an app, and the question of which control set an app should be built from at all, two concerns that are often answered as one.
Demonstrates 1
Architecture diagramsBTPArchitecture diagramscapabilityDrawing the architecture and components of a solution so another person can understand their responsibilities and connections. Shared notation makes diagrams readable across teams.

Entries137

Group by137 of 137 entries
EntrySignals
Maintains129
@openui5/sap.ui.corev1.153.0
none

Framework core: module loader, MVC runtime, binding, routing, theming

@sap_oss/vscode-mta-toolsv1.4.10
none

VS Code Multi-Target Application tools

@sap-ai-sdk/ai-apiv2.17.0
none

AI Core control plane API surface of SAP's AI SDK

@sap-ai-sdk/corev2.17.0
none

Shared internals of SAP's AI SDK

@sap-ai-sdk/foundation-modelsv2.17.0
none

Client for foundation models via SAP AI Core and Generative AI Hub

@sap-ai-sdk/orchestrationv2.17.0
none

Orchestration Service client for templating, grounding and masking

@sap-ai-sdk/prompt-registryv2.17.0
none

Client for prompts kept in SAP's prompt registry

@sap-cloud-sdk/connectivityv4.9.1
none

Destination lookup and connectivity proxy for the Cloud SDK

@sap-cloud-sdk/http-clientv4.9.1
none

HTTP client carrying a destination's credentials

@sap-cloud-sdk/odata-commonv4.9.1
none

Shared machinery under the Cloud SDK's OData and OpenAPI clients

@sap-cloud-sdk/openapiv4.9.1
none

Generated OpenAPI clients for the Cloud SDK

@sap-cloud-sdk/resiliencev4.9.1
none

Timeouts, retries and circuit breaking around remote calls

@sap-cloud-sdk/utilv4.9.1
none

General utilities shared across the Cloud SDK packages

@sap-theming/theming-base-contentv11.36.5
none

Colour, font and metric definitions of the SAP themes

@sap-ux/cap-config-writerv1.0.45
Functional boundary

Writer module for changing a CAP project's configuration from code

@sap-ux/cds-annotation-parserv1.1.1
none

Parser for annotations in CDS source

@sap-ux/cds-odata-annotation-converterv1.1.1
none

Converter from CDS annotations to their OData form

@sap-ux/createv1.5.5
none

Command line for changing features of an existing Fiori project

@sap-ux/eslint-plugin-fiori-toolsv10.17.3
none

ESLint rules for projects the Fiori tools generators produce

@sap-ux/fe-fpm-writerv1.3.25
none

Writer of flexible programming model elements into Fiori elements apps

@sap-ux/fe-mockserver-plugin-cdsv1.2.6
none

Fiori Elements mock server plugin taking a CDS file as metadata

@sap-ux/fiori-annotation-apiv1.1.4
none

Programmatic API for reading and writing project annotations

@sap-ux/fiori-docs-embeddingsv1.2.8
none

Fiori documentation indexed as embeddings

@sap-ux/fiori-generator-sharedv1.2.23
none

Shared functions and types of the Fiori generators

@sap-ux/fiori-mcp-serverv1.15.15
none

MCP server for creating and editing Fiori applications

@sap-ux/i18nv1.0.6
none

Reader and writer for i18n bundles of UI5 or CAP projects

@sap-ux/odata-service-writerv1.0.26
none

Writer that adds an OData service to an existing UI5 project

@sap-ux/odata-vocabulariesv1.1.3
none

OASIS and SAP OData vocabularies with a VocabularyService

@sap-ux/telemetryv2.0.12
none

Library for sending usage telemetry data

@sap-ux/ui5-application-writerv2.1.6
none

Writer of the base structure of a UI5 project from Node code

@sap/amsv3.10.0
none

Authorization from DCL policies for Node.js apps on SAP Cloud Identity

@sap/ams-devv3.0.2
Functional boundary

Compiler from AMS DCL policies to DCN for local runs and tests

@sap/approuterv23.3.0
none

SAP's Node.js application router in front of business applications

@sap/e2e-tracev6.2.2
none

SAP Passport handling for Node.js components

@sap/hana-clientv2.30.27
none

SAP's Node.js driver for SAP HANA

@sap/joule-studio-cliv2.0.4
none

CLI for Joule digital assistants and Joule Studio solutions

@sap/joule-work-dev-cli-early-adoptersv0.1.20-alpha.25
none

Pro-code CLI for building and deploying Joule Studio solutions

@sap/mdk-mcp-serverv0.4.2
Functional boundary

MCP server with five tools for Mobile Development Kit work

@sap/ux-cds-compiler-facadev1.25.0
none

Wrapper around the CDS compiler for annotation handling

@sap/ux-cds-odata-language-server-extensionv1.33.0
none

OData annotation features for the @sap/vscode-cds extension

@ui5/cliv4.0.71
none

UI5 Tooling command line for project setup, dev server and build

@ui5/loggerv4.0.2
none

Internal logger of the UI5 CLI

@ui5/tooling-webcv0.3.1
Archived

Deprecated UI5 Tooling extensions for UI5 Web Components wrappers

ABAP AI SDK
none

SAP reuse library for calling large language models from ABAP

ABAP Development Tools for Eclipse
Functional boundary

SAP's Eclipse plugins for ABAP development over ADT

ABAP Development Tools for VS Code
none

SAP's ABAP tools in VS Code for editing, debugging, ATC and transports

ABAP to JSON serializer and deserializer
none

Open-source Z* version of /UI2/CL_JSON for ABAP to JSON

Agent Activation for Dynatrace Service for SAP BTP
none

Injects the Dynatrace agent into Java applications on SAP BTP

Agentry
none

BTP service for building and running Agentry mobile apps

aicore-skills
none

Four agent skills for SAP AI Core in SAP's AI Skills Library

API Management
none

API proxies with security and traffic policies and Developer Hub

Application Autoscaler
none

Scales Cloud Foundry app instances by policy rules and schedules

Application Vulnerability Report
none

Tracks vulnerabilities in open-source components of BTP apps

btp-setup-automator
Archived

Containerised script setting up an SAP BTP account from JSON config

cds-textmate-grammar
Functional boundary

TextMate grammar for the CDS language

Cloud Connector
none

SAP's on-premises agent linking SAP BTP to customer-network systems

Cloud Integration
none

Builds and runs integration flows between cloud and on premise

Cloud Integration Automation
none

Guided workflow for configuring SAP cloud solution integration

code pal for ABAP
Functional boundary

ATC and Code Inspector checks for Clean ABAP

code pal for ABAP — Cloud Edition
none

Clean ABAP check set for ABAP Cloud

Data Attribute Recommendation
none

ML models that classify records and predict attributes

hdbv2.30.1
Functional boundary

Pure JavaScript SAP HANA driver for Node.js

Integration Advisor
none

B2B interface and mapping specification in Integration Suite

Intelligent Situation Automation
none

Rule-based resolution of SAP S/4HANA business situations

Joule in SAP Build Code
none

Joule's generative AI inside SAP Build Code

Joule Studio
none

SAP's managed environment for building custom agents and workflows

Joule Studio, classic edition
none

Low-code SAP Build capability for custom Joule skills and agents

Joule Work
none

SAP's workspace for conversations, Spaces and directing agents

OAuth 2.0 on SAP BTP
none

OAuth 2.0 grant flows for applications and APIs in Neo regions

Open Connectors
none

Prebuilt connectors to non-SAP cloud applications as REST APIs

Personalized Recommendation
none

Machine learning recommendations over browsing history via REST

SAP AI Core
none

AI runtime on BTP with the Generative AI Hub

SAP Alert Notification service for SAP BTP
none

Publishing and subscribing to alerts about BTP resources and apps

SAP ASE Service
none

Managed SAP ASE databases on BTP for Java applications

SAP Automation Pilot
none

Runs operations commands on BTP by hand, schedule or event

SAP BTP ABAP environment
Some service plans deprecated

ABAP runtime on BTP for the ABAP Cloud model

SAP BTP, Cloud Foundry Runtime
none

Cloud Foundry runtime of SAP BTP for polyglot applications

SAP BTP, Kyma runtime
none

Managed Kubernetes runtime on SAP BTP based on Kyma

SAP Build Apps
none

Low-code platform for web and native mobile apps

SAP Build Code
none

Development environment on BTP for UI5, Fiori, mobile and CAP

SAP Build Process Automation
none

Low-code and no-code tool for business processes and RPA bots

SAP Build Work Zone, advanced edition
none

Business sites and digital workspaces with collaboration tools

SAP Build Work Zone, standard edition
none

Role-based business site for SAP and third-party apps

SAP Business Application Studio
none

Browser-based development environment with dev spaces

SAP Cloud Application Event Hub
none

Distributes business events between SAP cloud applications

SAP Cloud Identity Services - Identity Provisioning
none

Provisioning jobs carrying users and groups between systems

SAP Cloud Logging
none

OpenSearch-based store for logs, metrics and traces

SAP Cloud Management Service for SAP BTP
none

REST APIs for administering a BTP account

SAP Cloud Portal Service
none

Role-based portal sites with pages, apps and widgets

SAP Cloud Transport Management
none

Moves MTA archives and content between SAP BTP accounts

SAP Content Agent Service
none

Assembles BTP service content into an MTAR for transport

SAP Continuous Integration and Delivery
none

Predefined CI/CD pipelines for SAP development projects

SAP Custom Domain Service
none

Serves BTP applications under the customer's own domain

SAP Customer Identity and Access Management for B2C
none

Registration, login and consent for customer-facing sites

SAP Data Privacy Integration
none

APIs for retention, deletion and personal data reports

SAP Data Quality Management, microservices for location data
none

APIs for address cleansing, geocoding and suggestions

SAP Data Retention Manager
none

Retention rules triggering blocking, deletion and archiving

SAP Document Management service, application option
none

Ready-to-use web application for enterprise content

SAP Document Management service, integration option
none

APIs and a UI5 component for document management in apps

SAP Forms Service by Adobe
none

Adobe Document Services on BTP for print and interactive PDFs

SAP HANA Service (SAP Regions) for SAP BTP
none

Managed SAP HANA 2.0 databases in fixed sizes on SAP BTP

SAP HANA Spatial Services for SAP BTP
none

APIs for geocoding, map tiles and routing

SAP Health Data Services for FHIR
none

HL7 FHIR implementation for storing and exchanging health data

SAP Integration Suite, Event Mesh
none

Event broker inside SAP Integration Suite

SAP Joule
none

SAP's AI engagement layer across SAP applications

SAP Joule for Developers, ABAP AI capabilities
none

SAP's AI for ABAP development in ADT for Eclipse and VS Code

SAP Keystore Service
none

Key and certificate repository in SAP BTP's Neo data centres

SAP Master Data Integration
none

Cloud service replicating master data across a hybrid landscape

SAP Mobile Services
Some service plans deprecated

SAP BTP service for native and cross-platform mobile apps

SAP Monitoring Service for SAP BTP
none

Metrics, availability checks and alerts for apps in Neo regions

SAP Personal Data Manager
none

Service answering data subjects about their stored personal data

SAP Print service
none

Print queues between cloud applications and local printers

SAP Private Link Service
none

Private network link between a BTP service and a partner cloud

SAP Responsibility Management service
none

Resolves who is responsible for a process or item, and notifies them

SAP Service Manager
none

Registry for service brokers, instances and environments on SAP BTP

SAP Solution Lifecycle Management service for SAP BTP
none

Deploys and manages MTA-based Solutions in the Neo environment

SAP Translation Hub
none

Translation service for software texts and documents

SAP Usage Data Management Service for SAP BTP
none

REST APIs for SAP BTP usage per metric and monthly cost

SAP Web IDE Full-Stack
none

IDE service on SAP BTP for SAPUI5, Fiori and full-stack apps

sap-fiori-guidelines
none

Agent skill built from the Fiori Design Guidelines

sap-fiori-ios
none

Agent skill mapping Fiori iOS UI Kit nodes in Figma to SwiftUI

sap-tutorials-content
none

Agent skill mapping the developers.sap.com content API

SAP/automation-pilot-agent-skills
Functional boundary

Eight skills for writing and operating SAP Automation Pilot content

SAP/leanix-ai-plugins
Functional boundary

Claude Code plugin with two skills for SAP LeanIX scripting

SAP/ui-theme-designer-plugins-for-coding-agents
Functional boundary

Agent plugin on the SAP Design System and theming parameters

Terraform Provider for SAP BTP
none

Terraform and OpenTofu provider for SAP BTP global accounts

Trading Partner Management
none

Partner profiles and agreements for B2B exchange in Integration Suite

UI flexibility service
none

Key-user adaptation and personalisation for UI5 apps on SAP BTP

vscode-ui5-language-assistantv0.0.1-security
none

VS Code extension for SAPUI5 and OpenUI5 XML views and manifest

Maintains: samples, sketches and references8
abap-file-formats
none

SAP's specification for serialising ABAP objects to files

ADT resources
Functional boundary

HTTP endpoint under /sap/bc/adt exposing ABAP development objects

API Composition
none

Business data graph queried with OData V4 or GraphQL

Clean ABAP
none

Open, versioned style guide for ABAP

Cloudification Repository
Functional boundary

SAP's list of released APIs for SAP Cloud ERP with successors

SAP AI Launchpad
none

SaaS front end over SAP AI Core

SAP BTP Solution Diagram Guidelines
none

SAP's visual language and templates for BTP solution diagrams

SAP/architecture-center
none

Source repository of SAP's reference architectures

Writing and topics14

14 of 14 pieces
Piece, what it offersStill applies
Access to Generative AI Models
SAP BTP AI Best Practices, SAPThe reasoning
nothing recorded
Agentic AI Security & Governance
SAP BTP AI Best Practices, SAPThe reasoningA reference
nothing recorded
Content Filtering
SAP BTP AI Best Practices, SAPThe reasoning
nothing recorded
Custom Joule Skills
SAP BTP AI Best Practices, SAPThe reasoning
nothing recorded
Data Masking
SAP BTP AI Best Practices, SAPThe reasoningA reference
nothing recorded
Document Grounding
SAP BTP AI Best Practices, SAPThe reasoningA reference
nothing recorded
Content-based Agents with SAP Joule Studio Agent Builder
SAP BTP AI Best Practices, SAPThe reasoning
nothing recorded
Model Context Protocol (MCP)
SAP BTP AI Best Practices, SAPThe reasoningA reference
nothing recorded
Pro-Code AI Agents
SAP BTP AI Best Practices, SAPThe reasoning
nothing recorded
Prompt Templating
SAP BTP AI Best Practices, SAPThe reasoningA reference
nothing recorded
Vector RAG vs Graph RAG
SAP BTP AI Best Practices, SAPThe reasoning
nothing recorded
Configure an MCP Server Created from an HTTP Endpoint
SAP Help Portal, SAPA referenceA recipe
nothing recorded
MCP Server — SAP Integration Suite
SAP Help Portal, SAPThe reasoningA reference
nothing recorded
API Policy - FAQ
SAP website, SAPA reference
nothing recorded

Details

History102
  • @openui5/sap.ui.coreprovides[capability:ui5-testing] → The same sentence with where each part runs, three sources and the test_level propertyThe edge carried no source, so what the package answers for this capability was an unattributed claim. The three parts are each stated by SAP's own documentation, and the level the package covers, unit and integration, is the comparison the capability now declares. End-to-end is left absent rather than entered as a no: the OPA page's restrictions are the capability's boundary and are recorded there. The other six edges were not read for this job and are unchanged.
  • @sap-ai-sdk/foundation-modelsprovides[llm-integration].facets, what_it_does, sources → the stream method named, the foundation-models chat-completion page cited, and both properties the capability declarescapability:llm-integration declared model_access and response_streaming on 2026-10-15. The package's own chat-completion page, read the same day, states that its chat client streams over server-sent events, which is the fact that decides whether a chat surface can show an answer as it is written; the edge rested on the repository README alone before.
  • @sap-ai-sdk/orchestrationprovides[llm-integration].facets, what_it_does, sources → the model choice and the stream method named, two further sources, and both properties the capability declarescapability:llm-integration declared model_access and response_streaming on 2026-10-15. The orchestration chat-completion page, read the same day, states that the model is the name property of the promptTemplating configuration and that the harmonised API behind it lets a different model be used without the client code changing, and that the client streams over server-sent events. Both facts decide something for a reader and neither was on the edge.
  • @sap-ux/telemetryprovides → what it does for telemetry, from its own READMETelemetry curation for the CAP door. The entry stood among the options a reader compares for observing a running CAP service, and its own README places it elsewhere: a library SAP Fiori tools use to collect anonymous usage data. The sentence is recorded so the page states what it is; whether the edge, the cds-plugin type and the CAP door are right is left for review rather than changed here.
  • @sap/approuterprovides[capability:authentication] → the login and where it stopsThe edge said the router logs the user in and propagated the user information, which on a capability page reads as though the backends were covered. The README's two sentences on that are now quoted on the edge, and the property the BTP door compares on, whether an option passes the signed-in user onward, rests on SAP's own architecture page for the gateway.
  • @sap/approuterrequires[0].sources[0].checked → 2026-10-15The UAA sentence was read again in the 23.0.0 README during this pass and was still there.
  • @sap/joule-studio-clidescription, provides, links.docs → both joule and jl in the published packageCurrent npm README for 2.0.4, published 2026-10-07, says "Installing `@sap/joule-studio-cli` gives you two commands:" and lists joule and jl. SAP Help now installs this package for the new Studio workflow. The historical alpha package stays separately indexed; no unverified rename or lineage relationship is inferred.
  • aicore-skillsprovides.agent-guidance.facets.installs_into → Claude Code, Codex, Cursor, Gemini CLIcapability:agent-guidance declared the installs_into property on the BTP door, and the README's Installation section names the harnesses in one sentence. The entry's own description already carried the same four; the value puts it where the door's options can be compared on it. Two sentences from the lifecycle skill were read on the same day and added as sources for the edge, since they state how an operation is run and what a mutating script requires.
  • Cloud Connectorprovides[capability:authentication] → propagation among three types, and what selects itThe edge read as though the connector propagated the user by itself. SAP's own page names three authentication types towards an internal system and says the calling application's destination configuration picks one, and that trust to the cloud entities whose tokens are accepted has to be configured explicitly. The property the BTP door compares on rests on the same sentence.
  • Joule Studioecosystem → umbrellaThe product overview describes "Workflows and integrations for both SAP and non-SAP systems." It also names CAP development; RA0029 places customer agents on BTP. These establish served views, while the new SAP-managed environment has no separate BTP catalogue listing established by this intake.
  • Joule Studioartifact_type, links.docs, provides → web-tool; product tutorial; MCP and A2A statedThe browser builder and managed runtime do not establish a separately subscribed and bound BTP service. Keep CAP and BTP as served views: the product overview names CAP development, and the current SAP Help tutorial requires "An SAP S/4HANA system configured with an SAP BTP destination." The architecture chapter is titled "Building AI Agents with SAP Joule Studio on SAP BTP" while distinguishing the SAP-managed runtime from Bring Your Own Agent in a customer subaccount. The CLI link is backed by the current npm README, which now ships both joule and jl; its atlas record is revised in the same batch. The positive basis for web-tool is SAP’s description of a visual browser-based builder with no local setup. It identifies the hosted development interface, including provisioned access; it does not classify the runtime as an unbound or customer-hosted service.
  • Joule Workecosystem → umbrellaRA0029 describes the workspace across SAP and non-SAP systems: "Users express a goal and Joule orchestrates actions across SAP and non-SAP systems to get it done." Its customer-managed BTP agents connect to Joule, establishing the BTP served view; no separate BTP catalogue listing for Work was established.
  • Joule Workartifact_type, ecosystem → web-tool; umbrella retainedThe three-record acceptance on 2026-10-15 established the workspace as a separate part of SAP Joule. Retain that family split: SAP Joule records the BTP formation and identity integration, while Work records the user-facing experience across systems. RA0029 says "The experience is available across web, desktop and mobile"; there is no separate BTP subscription or binding documented for Work. Its BTP served view describes interaction with customer-managed agents connected to Joule, not a BTP runtime or core-coverage claim.
  • OAuth 2.0 on SAP BTPlifecycle → retirement-announced, effective 2028-12-31The announced end was only in the paragraph, so a reader comparing the authentication options behind the BTP door met this one as an equal of the others. SAP's catalogue record states it, and the field is where the statement is shown as the maker's own.
  • OAuth 2.0 on SAP BTPprovides[capability:authentication].facets → no_user_tokenThe BTP door now compares its authentication options on whether a token can be had with no person present. The catalogue sentence about the client credentials grant states it for this service, and it was read again on this date.
  • SAP/automation-pilot-agent-skillsprovides.agent-guidance.facets.installs_into → Claude Codecapability:agent-guidance declared the installs_into property on the BTP door. The README's prerequisites table names Claude Code as required to use the skills and names no other host, so the value is one entry rather than a list.
  • SAP/automation-pilot-agent-skillsdescription.what_it_solves → Installed by cloning the repository and opening it in Claude Code, which the prerequisites name as required, with `curl` and `jq` beside it for the API calls.The README read on 2026-10-15 lists `curl` and `jq` in the same prerequisites table as Claude Code, for the API calls and the JSON parsing, and the entry named neither. The two API sentences read the same day are added as sources on the edge, since what the skills do through the Content Management and Executions APIs was described in the entry without a quote behind it.
  • SAP/leanix-ai-pluginsprovides.agent-guidance.facets.installs_into → Claude Code, Cursor, GitHub Copilot, Codex, Gemini CLIcapability:agent-guidance declared the installs_into property on the BTP door. The README's setup section states the skills follow the open Agent Skills standard and links one loading guide per client, so each value carries the line that names it. The plugin marketplace route is Claude Code's alone, which is why that client is both in the install command and in the list.
  • SAP/leanix-ai-pluginsrequires.sap-leanix-mcp-server.sources → The setup sentence that says the server connects on first use.The edge rested on one phrase, "designed to work with the LeanIX MCP Server", which says the skills are written for it but not that a reader has to do anything. The sentence read on 2026-10-15 states the connection and the sign-in flow, which is what makes the requirement concrete.
  • SAP/ui-theme-designer-plugins-for-coding-agentsprovides.agent-guidance.facets.installs_into → Claude Code, GitHub Copilotcapability:agent-guidance widened the installs_into property to the UI5 door. The plugin's own README carries two install commands, one for the Claude Code marketplace and one for the Copilot one, and a third route through the skills command line that names no client.
  • SAP/ui-theme-designer-plugins-for-coding-agentsdescription.what_it_solves → The same sentence with parameter inheritance named, followed by the three install routes.The plugin's own README read on 2026-10-15 lists parameter inheritance beside component consumption in the design-tokens skill, and the entry said nothing about how the plugin gets in front of an agent. Both are facts a reader needs before the parameter mapping is any use to them.
  • API Managementprovides[mcp-servers].facets and what_it_does → [{"key":"mcp_exposure_source","value":"Integration Cell OData/REST API artifact, classic API proxy, HTTP OpenAPI 3.0.0–3.0.3 or selected RFC backend"},{"key":"mcp_operations","value":"Selected source-API operations become tools; retrieval/create/update/delete depend on that API contract"},{"key":"mcp_context","value":"Resource URI/MIME schemas, prompt templates and API-operation tool input/output schemas"},{"key":"mcp_execution_path","value":"MCP gateway routes backend API calls; MCP server deployment is Integration Cell-only even when the source proxy uses the classic runtime"},{"key":"mcp_exposure_control","value":"Select API operations/resources for tools and configure resources/prompts; HTTP-endpoint configuration requires Authentication and Authorization policies"}]The comparison distinguishes execution and surface selection at the stated runtime, retaining conditional operations and target restrictions.
  • API Managementprovides.mcp-servers.facets.mcp_exposure_source.value → API artifact; API proxy; HTTP/OpenAPI endpoint; RFC backendConverts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained.
  • API Managementprovides.mcp-servers.facets.mcp_context.value → MCP resources; MCP prompts; Tool input/output schemasConverts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained.
  • API Managementprovides.mcp-servers.facets.mcp_execution_path.value → Remote backend callsConverts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained.
  • API Managementprovides.mcp-servers.facets.mcp_exposure_control.value → API operation selectionConverts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained.
  • API Managementdescription.when_not_to_use → A deployment with a hard tool-count requirement needs its limit confirmed: the API-artifact and HTTP-endpoint creation guides state 30 tools, while the HTTP-endpoint configuration guide states 50.Preserves the documented 30/50 tool-limit conflict as a condition for selecting a deployment; the HTTP creation-guide quotation is now attached explicitly alongside the API-artifact and configuration citations.
  • API Managementprovides[mcp-servers].what_it_does → Creates an MCP server from an Integration Cell OData/REST API artifact, a classic API proxy, an HTTP OpenAPI endpoint or an RFC backend, with selected operations exposed through the MCP gateway. MCP deployment requires Integration Cell even when a source proxy runs on the classic runtime; API-artifact sources must use OAuth and the HTTP specification must be OpenAPI 3.0.0–3.0.3. The gateway routes backend API calls, and selected API operations become tools with input/output schemas. Resources have URI/MIME schemas and prompts use templates. HTTP-endpoint configuration requires Authentication and Authorization policies.Resolves the requested review findings while preserving the structured comparison values, runtime scopes and implementation restrictions.
  • API Managementdescription.when_not_to_use → Removed; the documented 30/50 MCP tool-limit discrepancy is retained on provides[mcp-servers].what_it_does.Independent review found that the MCP-specific uncertainty does not describe a situation in which the whole API gateway service is the wrong choice.
  • API Managementprovides[mcp-servers].what_it_does → Creates an MCP server from an Integration Cell OData/REST API artifact, a classic API proxy, an HTTP OpenAPI endpoint or an RFC backend, with selected operations exposed through the MCP gateway. MCP deployment requires Integration Cell even when a source proxy runs on the classic runtime; API-artifact sources must use OAuth and the HTTP specification must be OpenAPI 3.0.0–3.0.3. The gateway routes backend API calls, and selected API operations become tools with input/output schemas. Resources have URI/MIME schemas, prompts guide agent interactions with tools, and HTTP-endpoint configuration requires Authentication and Authorization policies. The API-artifact and HTTP-endpoint creation guides state a limit of 30 tools per MCP server, while the HTTP-endpoint configuration guide states 50.Independent source review supports prompts guiding agent interaction rather than templates; retains both sourced tool-count limits as an explicit MCP-specific discrepancy.
  • aicore-skillsdescription → four skillsThe SAP AI Skills Library registry snapshot of 2026-10-09 lists a fourth skill under plugins/aicore-skills, genai-hub-tabular-orchestration, and plugin.json names four skill directories where the entry of 2026-09-25 described three. Read from that skill's own SKILL.md and plugin.json: the Context Registry layers, the sap-rpt tabular prediction models and the BTP command line it wants for HDL access are added, and the sentence about the DO NOT USE FOR clauses is corrected, because the new skill sends what it declines to genai-hub-orchestration, which plugin.json does not list.
  • sap-tutorials-contententry → createdA repository the SAP AI Skills Library collection cache carries as processedBy baseline-2026-09-18 and that was never drafted into the atlas, so the changed registry record of 2026-10-09 is the first occasion to enter it; first_seen keeps the baseline date and no revises flag applies, since there is no published entry to revise. One of the three skills the repository registers: the other two name no SAP stack and stay out. Written from the skill's own SKILL.md and GitHub's record for the repository and the sap-tutorials organisation, which GitHub marks verified with the email sapdocs@sap.com and the tutorial navigator as its site. Hard rule 7: skills are indexed, never authored here.
  • sap-fiori-guidelinesentry → createdRead out of the SAP AI Skills Library repository, which the atlas holds as source:sap-ai-skills-library rather than as an artifact because the registry keeps other people's code in their own repositories. This skill is SAP's own code in that repository, so it is entered from its SKILL.md, README and references directory, as plugins/aicore-skills was on 2026-09-25. Hard rule 7: skills are indexed, never authored here.
  • sap-fiori-iosentry → createdRead out of the SAP AI Skills Library repository, which the atlas holds as source:sap-ai-skills-library rather than as an artifact because the registry keeps other people's code in their own repositories. This skill is SAP's own code in that repository, so it is entered from its SKILL.md, README and references directory, as plugins/aicore-skills was on 2026-09-25. The BTP door is where the atlas answers native iOS work (capability:mobile-apps names the SAP BTP SDK for iOS), and capability:agent-guidance exists on that door. Hard rule 7: skills are indexed, never authored here.
  • @sap_oss/vscode-mta-toolslinks.repo → https://github.com/SAP/app-studio-toolkit/tree/main/projects/vscode-mta-toolsThe old repository's README says it has moved to the app-studio-toolkit monorepo; the edge now cites the README at the new address.
  • API Compositionentry → createdAn impact assessment of CostingGeek/sap-mcp found the API the whole entry rests on had no node: the prose named SAP Graph and nothing pointed at it. Written from SAP's own API Composition documentation in SAP-docs/btp-integration-suite, pinned at commit 33f3395. No provides edge yet — the capabilities the atlas holds for serving OData and GraphQL are scoped to the CAP and ABAP doors and describe serving your own model, which is a different concern from composing several systems' APIs; whether this answers an existing capability or needs one is an editorial call.
  • Cloud Integrationprovides[integration-flows].facets.protocols → HTTP, SFTP, SMTP, OData V2, OData V4, SOAP, RFC, AMQP, Kafka, TCP, WebSocket, GraphQL, SQLThe option states the protocols its adapters speak, one sentence per value, from SAP Help's introduction page: its transport-channel sentence and its adapter table, which names each of the others one adapter at a time (docs/concepts/design-roles-and-interfaces.md, P2). JMS is an adapter name there and no sentence names it as a protocol, so it stays out.
  • SAP Cloud Management Service for SAP BTPinterfaces → the Accounts, Entitlements, Provisioning and Events services, each at 1.0 as the hub lists it under the core services for SAP BTP, REST by the catalogue's service codeSAP's page on account administration through this service's APIs names the four and says they are included in the core services for SAP BTP; the hub's catalogue states each one's title, version and state (docs/concepts/design-roles-and-interfaces.md §3.2, P7). What an application reaches this service over is then a named surface with a page. No status is entered: the hub's state is a crawled claim reported beside the interface.
  • aicore-skillsentry → createdRead out of the SAP AI Skills Library repository, which the atlas holds as source:sap-ai-skills-library rather than as an artifact. The plugin was added there on 2026-09-21 and the registry front end at skills.cloud.sap had not listed it when the registry was crawled on 2026-09-25, so it is entered from its own plugin.json, README and three SKILL.md files. Hard rule 7: skills are indexed, never authored here.
  • SAP Build Work Zone, advanced editionbundles → btp-cloud-identity-services, btp-html5-application-repository, btp-task-centerSAP's Discovery Center lists these among the plan's included services, and npm run check:catalogue listed the relation with no edge. An entitlement and not a dependency: a bundles edge, read by the commercial perspective (vocab PERSPECTIVES, 2026-09-22), listed and never drawn. Mobile Services and UI theme designer are listed too and have no entry.
  • SAP Build Work Zone, standard editionbundles → btp-cloud-identity-services, btp-html5-application-repository, btp-task-centerSAP's Discovery Center lists these among the plan's included services, and npm run check:catalogue listed the relation with no edge. An entitlement and not a dependency: a bundles edge, read by the commercial perspective (vocab PERSPECTIVES, 2026-09-22), listed and never drawn. Mobile Services and UI theme designer are listed too and have no entry.
  • SAP Private Link Servicerequires → btp-cloud-foundry-runtimeSAP's Discovery Center lists the runtime as a required service of the plan, and npm run check:catalogue listed the relation with no edge. Basis entitlement: the catalogue says a plan cannot be bought without it, which is commercial and is not drawn as a runtime dependency (vocab PERSPECTIVES, 2026-09-22).
  • API Managementprovides → capability:mcp-servers, capability:tool-governanceMoved here from SAP Integration Suite. SAP files MCP Server under API Management in its documentation, and every creation path read lists the activated API Management capability as a prerequisite.
  • Cloud Integrationconnects → kafkaThe use case for receiving Kafka messages lists the Kafka sender adapter as a documented contribution, and the graph held no edge from Cloud Integration to Kafka. From SAP's adapter pages, which name the Kafka protocol and, in the adapter's General tab, TCP as its transport.
  • @sap/approuterconnects → btp-authorization-and-trust-management, btp-cloud-identity-services, btp-destination, btp-html5-application-repository, btp-connectivityThe router's five service bindings said that it needs each service and not how it talks to it. Each is now also a connection, with what the README states about it and nothing it does not: OAuth2 is named for the UAA and for no other.
  • Cloud Connectorconnects → btp-connectivityThe Connectivity service required the Cloud Connector, and nothing said which of the two opens the connection. SAP's documentation does: the connector registers with the service.
  • SAP Cloud Identity Services - Identity Provisioningpart_of → btp-cloud-identity-servicesSAP's catalogue names Identity Provisioning as one of the services SAP Cloud Identity Services include. The first `part_of` on an artifact.
  • SAP Document Management service, integration optionserves_ecosystems → ui5, capAdd CAP to served ecosystems from documented CAP integration; preserve the existing BTP/UI5 contribution and source dates. CAP plugin restrictions do not apply to the service itself.
  • @sap/approuterrequires → btp-authorization-and-trust-management, btp-cloud-identity-services, btp-destination, btp-connectivity, btp-html5-application-repositoryThe description already named the services the router binds to, so a reader could see them and not walk to them. Each is now an edge resting on the README sentence that states the binding.
  • @sap/approuteralternative_to → btp-application-frontendSAP's own Application Frontend service page names the HTML5 Application Repository and the application router as what to stay on where those meet your needs better, and the service entry already carries the edge to the repository.
  • @sap-ai-sdk/orchestrationprovides → capability:llm-integration, capability:prompt-management, capability:data-masking, capability:content-filteringPrompt management, data masking and content filtering entered as capabilities on 2026-09-14, each an orchestration module in SAP AI Core; this package is the client for all three and carried only the broader LLM integration edge.
  • @sap-ai-sdk/prompt-registryprovides → capability:llm-integration, capability:prompt-managementPrompt management entered as a capability on 2026-09-14 with SAP AI Core's Prompt Registry as the core answer; this package is that registry's client and had only the broader LLM integration edge.
  • @ui5/loggerprovides → capability:ui5-build-toolingFiled under logging, which is a running service's log output. This is the UI5 CLI's internal logger, described by its own README as internal — it answers nothing a reader would pick for logging, and belongs where the tooling that depends on it lives.
  • @sap-ux/fiori-mcp-serverprovides → capability:agent-code-accessMCP is how this is delivered, not what it answers — artifact_type carries the transport. It helps an agent work on real code rather than exposing a running service to one, which is a different capability.
  • @sap-ux/fiori-mcp-serverecosystem → ui5It creates and edits Fiori applications and ships from SAP/open-ux-tools; nothing about it is CAP's. Typed cap by placement, which defaults every candidate to the primary door. serves_ecosystems keeps it behind the CAP door, where a CAP developer building a Fiori front end still finds it.
  • @sap-ux/fiori-mcp-serverlinks.docs → https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-mcp-serverlinks.repo is the whole of SAP/open-ux-tools, which carries much else besides this. Naming the package directory says which part of the monorepo the artifact is — and it is what lets a sweep tell this entry apart from the next package in the same repository.
  • @sap/mdk-mcp-serverentry → createdEntered from the sap-ai-mcp-servers catalogue, which is credited as the source; the description is written from the project's own README and documentation rather than from the catalogue's line about it.
  • SAP/automation-pilot-agent-skillsentry → createdEntered from the sap-ai-mcp-servers catalogue, which is credited as the source; written from the repository's own README rather than from the catalogue's line about it. Hard rule 7: skills are indexed, never authored here.
  • SAP/leanix-ai-pluginsentry → createdEntered from the sap-ai-mcp-servers catalogue, which is credited as the source; written from the repository's own README rather than from the catalogue's line about it. Hard rule 7: skills are indexed, never authored here. Filed under btp for the same reason its MCP server is: hard rule 9 allows one ecosystem and there is no door for enterprise architecture.
  • SAP/ui-theme-designer-plugins-for-coding-agentsentry → createdEntered from the sap-ai-mcp-servers catalogue, which is credited as the source; written from the repository's own README rather than from the catalogue's line about it. Hard rule 7: skills are indexed, never authored here.
  • @sap-ai-sdk/ai-apiartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ai-sdk/ai-apidescription.one_line → The AI Core API surface of SAP's AI SDK — deployments, configurations and the rest of the control plane, as opposed to calling a model.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ai-sdk/coreartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ai-sdk/coredescription.one_line → The shared internals of SAP's AI SDK, which its own readme says is not meant to be depended on directly.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ai-sdk/foundation-modelsartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ai-sdk/foundation-modelsdescription.one_line → Calls foundation models through SAP AI Core and the Generative AI Hub, which is the package an application actually reaches for.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ai-sdk/orchestrationartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ai-sdk/orchestrationdescription.one_line → The Orchestration Service client — templating, grounding, filtering and masking applied around a model call rather than in the application.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ai-sdk/prompt-registryartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ai-sdk/prompt-registrydescription.one_line → Prompts kept in SAP's registry rather than in the codebase, so changing one is not a deployment.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-cloud-sdk/connectivityartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-cloud-sdk/connectivitydescription.one_line → Destination lookup and the connectivity proxy — the package that turns a destination name into a reachable endpoint with credentials attached.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-cloud-sdk/http-clientartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-cloud-sdk/http-clientdescription.one_line → The HTTP client that carries a destination's credentials, so an outbound call inherits the authentication rather than assembling it.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-cloud-sdk/odata-commonartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-cloud-sdk/odata-commondescription.one_line → The shared machinery under the SDK's OData and OpenAPI client generators; a dependency of the generated clients rather than something written against directly.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-cloud-sdk/openapiartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-cloud-sdk/openapidescription.one_line → Generated OpenAPI clients for the Cloud SDK, so a REST API described by a specification is called through typed functions.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-cloud-sdk/resilienceartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-cloud-sdk/resiliencedescription.one_line → Timeouts, retries and circuit breaking around a remote call, so one slow downstream system does not take the application with it.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-cloud-sdk/utilartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-cloud-sdk/utildescription.one_line → General utilities shared across the Cloud SDK packages — a dependency, not a thing to reach for on its own.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ux/cds-annotation-parserartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ux/cds-annotation-parserdescription.one_line → Parses annotations out of CDS source, so tooling can read what a model says about its UI without compiling it.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ux/cds-odata-annotation-converterartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ux/cds-odata-annotation-converterdescription.one_line → Converts CDS annotations into their OData form, which is the translation Fiori tooling needs to reason about a service the way a client sees it.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ux/eslint-plugin-fiori-toolsartifact_type → build-toolTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ux/eslint-plugin-fiori-toolsdescription.one_line → ESLint rules from the Fiori tools team, aimed at the parts of a project their generators produce.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ux/fe-mockserver-plugin-cdsartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ux/fe-mockserver-plugin-cdsdescription.one_line → Lets the Fiori Elements mock server take a CDS file as its metadata source, so a UI is developed against the real model before a service exists.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ux/fiori-annotation-apiartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ux/fiori-annotation-apidescription.one_line → The programmatic API Fiori tooling uses to read and write annotations on a project, rather than editing the files as text.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ux/fiori-docs-embeddingsartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ux/fiori-docs-embeddingsdescription.one_line → Fiori documentation indexed as embeddings, which is what makes it searchable by something other than a person scrolling it.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ux/fiori-generator-sharedartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ux/fiori-generator-shareddescription.one_line → The shared functions and types the Fiori generators are built from; a dependency of theirs rather than a generator itself.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @sap-ux/fiori-mcp-serverartifact_type → mcp-serverTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @sap-ux/fiori-mcp-serverdescription.one_line → SAP's Fiori MCP server, run as `fiori-mcp`, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @ui5/loggerartifact_type → packageTyped cds-plugin by placement, which defaults every candidate to that. It is not one.
  • @ui5/loggerecosystem → ui5Placement assumes cap for everything it accepts.
  • @ui5/loggerdescription.one_line → UI5 CLI's internal logger, described by its own readme as internal — it appears here because other UI5 tooling depends on it.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • First entry seenDiscovered via bestofui5, npm registry, The discovery pass, npm registry · npm:sap cap plugin, GitHub API · SAP/open-ux-tools, GitHub API · SAP, npm registry · npm:scope:@sap, npm registry · npm:cds-plugin, Added by hand, sap-ai-mcp-servers, npm registry · npm:cds-, GitHub API, SAP AI Skills Library · github.com/SAP/ai-skills-library, SAP AI Skills Library · github.com/SAP/ai-skills-library — skills/sap-fiori-guidelines, SAP AI Skills Library · github.com/SAP/ai-skills-library — skills/sap-fiori-ios, SAP AI Skills Library · skills.cloud.sap.
For your agent