PersonSAP
Daniel Schlachter
Contributes to
Agent evalsCAPBTPABAPAgent evalsKnowing whether an AI feature still behaves after a model, prompt or schema change. Regression testing for non-deterministic output, against fixtures that reflect real business data.Agent guidanceCAPUI5BTPABAPAgent guidancePackaged 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.AttachmentsCAPUI5ABAPBTPAttachmentsStoring 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.NotificationsCAPABAPNotificationsTelling a person something happened when they are not looking at the screen — a notification in the launchpad, an email, a message somewhere they already are.
Entries
Group by10 of 10 entries
EntrySignals
Contributes to
@cap-js/attachments@cap-js/attachmentsAn official CAP Node.js plugin for attachment handling, with local database storage and AWS S3, Azure Blob or GCP Object Store integration.sap official, cap
CAP Node.js attachments with database, S3, Azure or GCP storage
@cap-js/notifications@cap-js/notificationsPublishes business notifications to SAP Build WorkZone from the application, so a user is told something happened without the UI polling for it.sap official, cap
Business notifications from CAP to SAP Build WorkZone
cap-microservices-workshopcap-microservices-workshopA reCAP 2025 hands-on workshop on cutting a CAP application into microservices, and on when to do it at all, built up over six exercises from a solution monorepo to deployment and test.sap official, cap
reCAP 2025 workshop on cutting a CAP app into microservices
capire/docscapire/docsThe sources of capire itself, in the repository it is built from: the documentation every core_coverage claim in this graph is checked against, so a claim can be dated against a commit.sap official, cap
Sources of capire, the CAP documentation
capire/incidents-appcapire/incidents-appThe Incident Management reference application — the one SAP's own tutorial paths build, step by step, and the model cds add incidents-sample drops into a project.sap official, cap
Incident Management reference application for CAP
capire/skillscapire/skillsSAP's own skill set for coding agents working on CAP — cap-developer, cap-add-remote-service, cap-upgrade and cap-trivia, each a SKILL.md with references beside it.sap official, cap
Agent skills for CAP development, each a SKILL.md with references
SAP-samples/cap-service-integration-codejamSAP-samples/cap-service-integration-codejamA CodeJam on integrating and consuming external services from a CAP project over twelve exercises, from importing and mocking an OData service to the SAP Cloud SDK covering connectivity and destinations.sap official, cap
CodeJam on consuming external services from a CAP project
SAP-samples/cap-sflightSAP-samples/cap-sflightA travel-booking reference application built with CAP and SAP Fiori elements, whose same UIs run against a Node.js and a Java backend so the two stacks can be compared directly.sap official, cap
Travel-booking reference app on CAP Node.js and Java backends
SAP-samples/fiori-elements-v4-cap-advancedSAP-samples/fiori-elements-v4-cap-advancedBranch-by-branch solutions for the UX405 e-learning course, each one an exercise in the advanced concepts of a Fiori elements app on a CAP OData V4 service.sap official, cap
Exercise solutions for the UX405 course on Fiori elements with CAP
xtravelsxtravelsA travel-booking application built on the master data that xflights publishes, composing another package's schema into its own rather than owning master data itself.sap official, cap
CAP travel-booking app built on xflights master data
Writing and topics
9 of 9 pieces
Piece, what it offersStill applies
CAP in the age of AI #6 - vector embeddingsCAP in the age of AI #6 - vector embeddingsVector embeddings put to work in the incident management sample, answering whether this problem has been seen before. An embedding element of type Vector is calculated and stored from the vector_embedding function, so the database refreshes it whenever the text behind it changes, and cosine_similarity compares it with a freshly embedded string; because a title says little, a scheduled action first summarises each incident's conversation through a model on SAP AI Core and the embedding is taken from that summary. The similar-incidents list is a view joining incidents to themselves, with order and limit set in a before handler on the expanded query, and the vector element excluded from the service, since OData knows nothing about vectors — on SAP HANA Cloud the function is native, while SQLite needs packages added to the project.published 2026-10-09
CAP in the age of AI #5 - agents wrap-upCAP in the age of AI #5 - agents wrap-upThe agents topic closed out on what sits around the agent rather than inside it, now that the documentation has moved into capire. The chat preview's session is persisted in the database rather than kept in memory, traces go out through @cap-js/telemetry to a self-hosted MLflow under the OpenTelemetry conventions for generative AI, and the panel is explicit that @agent reuses the MCP adapter's code programmatically without serving an MCP endpoint. It ends in the xtravels sample, where a travel agent delegates to a hotel-service sub-agent and reaches a separately started flight service over MCP through the service binding CAP resolves anyway. Earlier in the hour the same agent answers from a model running on the presenter's laptop, reached as an OpenAI-compatible endpoint.published 2026-10-02
CAP in the age of AI #1 - the MCP adapterCAP in the age of AI #1 - the MCP adapterThe episode that opens the series and the first pass over @cap-js/mcp, with four of the people building it on the call. Two of the adapter's tools are worked through: describe, the one an MCP client reaches for first to get the overview of what it may do, and query, which the panel establishes as read-only. It also writes the server entry into a local agent's own configuration file, which episode three comes back to as auto-wiring.published 2026-08-07
CAP in the age of AICAP in the age of AISeven live episodes of Hands-on SAP Dev in which DJ Adams works through CAP's AI features with the people who build them, each one a screen-share against a sample project. The first three are @cap-js/mcp: the @mcp annotation on a service, the describe, query and call tools, CQL as the query format, and what authorisation takes out of the tool list. From episode three the run moves to A2A and @cap-js/agents — human approval of an action, agents.md and skills, session persistence, telemetry and sub-agents — and the last two episodes are vector embeddings in CDS, local on SQLite and native on SAP HANA Cloud.published 2026-08-07
The fastest way to a deployable CAP app on SAP BTP Cloud FoundryThe fastest way to a deployable CAP app on SAP BTP Cloud FoundryThe gap between an application that runs locally and one that runs deployed — binding, bundling, the database connection, authorization — treated as the problem rather than as setup. Since updated for cds up, which is the shortest answer the core now offers, and the post carries that update inline rather than leaving the original standing.published 2025-02-13
Reusable components for CAP with cds-pluginReusable components for CAP with cds-pluginThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius Barrionuevo credits this post as the thing that gave him the idea for sap-cap-sdm-plugin, and it is hard to read the plugin ecosystem in this graph without it.published 2023-04-30
CAP Node.js Expert Session #6 - The MCP AdapterCAP Node.js Expert Session #6 - The MCP AdapterDaniel Schlachter and DJ Adams add @cap-js/mcp to a bookshop service, inspect its describe, query and action tools, and query the catalogue through an AI agent. The session distinguishes this runtime adapter from the development-time MCP server and demonstrates automatic registration of the running service with a local agent. The recording describes the adapter as beta in July 2026, with read-only queries and writes through unbound actions.
Everything new: Try out the latest features in CAPEverything new: Try out the latest features in CAPCAP (@sap/cds) gains the features this hands-on session works through: declarative constraints, which is the input validation concern, status flows as status transition flows, a cds REPL, extensibility through @sap/cds-oyster, and HCQL, which SAP's abstract calls CAP's native query-over-HTTP protocol, after an opening stretch of AI-driven app development. The abstract names the features and stops there; what each one does is not described. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Daniel Hutzel, Daniel Schlachter, Marc Huber and Tim Back, written here from SAP's abstract; the recording is not yet published.
Agentic CAP: Build MCP servers and enterprise AI agentsAgentic CAP: Build MCP servers and enterprise AI agentsCAP applications become AI agents over the Model Context Protocol and the Agent2Agent protocol, which is the serve your application over MCP concern, and SAP AI Core is the LLM integration through which AI is embedded in a CAP app, with recommendations from the SAP-RPT-1 model as the abstract's example. The abstract names the two protocols and the one model and does not say which packages carry them. A two-hour TechEd 2026 session in a hands-on room (Tuesday 27 October, Berlin), presented by Daniel Hutzel, Daniel Schlachter, Marc Huber and Sami Lechner, written here from SAP's abstract; the recording is not yet published.
Details
For your agent
- Ref
actor:danschlachter- JSON
- /actors/danschlachter.json
- MCP
- Connecting an agent