Best practices for UI Integration Cards development
Rules an agent must follow when creating, modifying, validating, or previewing a UI Integration Card. Adherence is critical for working cards.
When to load each reference
If the trigger applies, load before producing any output. Do not work from memory.
1. Core rules
2. Data placement
sap.card/data/ is the only correct top-level location for the data request.
Forbidden: putting the request itself under sap.card/content/data/ or sap.card/header/data/.
Symptom — "No data to display": typically caused by a content/data block that overrides the primary data path. Verify 2. Data placement before debugging anything else.
3. Validation
4. Preview
If asked to preview, first check the card folder for an existing preview entry point — package.json start script, README.md, or an existing HTML file. Reuse it if present. Otherwise create an HTML page with a <ui-integration-card> element pointing at the manifest, and serve via an http server.
5. Configuration Editor
The editor lets the Administrator, Page/Content Administrator, and Translator personas customize a card without editing manifest.json directly.
Two pieces:
dt/Configuration.js— exports a function that returnsnew Designtime({ form: {...} }).manifest.json— references the file atsap.card/configuration/editor.
Design as the Administrator persona.
Load references/configuration_editor_example.md [blocked] for the canonical paired example.
6. Analytical cards
Load references/analytical_chart_types.md [blocked] for the full chart-type catalog (UIDs and per-type examples).
Minimal feeds example (donut/pie):

