01Built on the SAP standard
All core functions run on interfaces that SAP documents for customers, and SAP code stays untouched.
Documented SAP interfaces only, no modifications to SAP code
In line with the SAP standard
What it means. Flow-R-Bridge uses interfaces that SAP documents for customers: SAPUI5, the SAP Fiori launchpad and SAP Fiori elements. It does not change SAP code or SAP applications. The few functions for which SAP offers no dedicated extension point are listed openly in section 3.
Why it matters. Flow-R-Bridge is built to stay stable across regular SAP updates, and installing it does not affect SAP support for the system.
Same extension approach as an SAP adaptation project
In line with the SAP standard
What it means. Flow-R-Bridge extends the frontend the same way an SAP adaptation project does. Its code is kept separate from the standard applications and is applied in the browser at runtime, using public SAPUI5 and SAP Fiori elements APIs. The standard applications stay exactly as SAP delivers them.
Why it matters. Adaptation projects are SAP's standard way to extend SAP Fiori applications without modifications, so the approach and its risks are well known. Section 2 compares the two side by side.
Installed as a standard launchpad plugin
In line with the SAP standard
What it means. Flow-R-Bridge is deployed like any other SAP Fiori app and switched on for user roles in the launchpad configuration. It works in applications built with SAP Fiori elements, SAP's standard framework for business applications.
Why it matters. IT decides who sees the plugin and can switch it off at any time, without touching anything else.
Requirement. SAPUI5 1.120 or later; applications built with SAP Fiori elements.
Header button through the official Extension service
In line with the SAP standard
What it means. The Flow-R-Bridge button in the launchpad header is added through the Extension service that SAP provides for exactly this purpose. An older method that SAP has marked as deprecated is no longer used.
Why it matters. The button stays in place after launchpad updates.
Documents through the application's own service, checks and authorisations
In line with the SAP standard
What it means. When an email or PDF is dropped on a list such as sales orders, Flow-R-Bridge creates the document through the application's own data service. If the application has its own "Create" action (for example, one that asks for the order type), the plugin starts that action exactly as the "Create" button does.
Why it matters. Backend checks, defaults and required fields apply exactly as for a manual entry, and no database table is written directly. The plugin works in the user's own session, so the user's SAP authorisations apply unchanged.
02Same approach and risk profile as an SAP adaptation project
Flow-R-Bridge extends SAP Fiori the way an adaptation project does, so its update risk is of the same well-documented kind, and kept small by design.
An adaptation project creates an app variant on top of a standard SAP Fiori app. The original app stays unchanged, while the variant adds its own changes and, where needed, controller code. Flow-R-Bridge follows the same principle: its code is stored separately, runs on top of the standard applications in the browser, and leaves SAP code untouched.
| Aspect | SAP adaptation project | Flow-R-Bridge |
|---|---|---|
| Changes to SAP code | None: the app variant is stored separately and the original app stays unchanged | None: the plugin is stored separately and all applications stay unchanged |
| How it extends | SAPUI5 flexibility changes, fragments and controller extensions on top of one app | One launchpad plugin on top of SAP Fiori elements applications |
| Interfaces used | Public SAPUI5 and SAP Fiori elements APIs | Public SAPUI5 and SAP Fiori elements APIs, the launchpad Extension service and the application's own data service |
| Business rules and authorisations | Unchanged in the backend | Unchanged: documents go through the application's own service, with the user's own authorisations |
| Update-sensitive part | Controller code that depends on the structure of the original app; SAP calls controller extensions "powerful but potentially fragile" | Drop handling on lists and upload fields, which depends on the structure of the open application |
| Check after an update | Each app variant is checked against the updated base app and adjusted where needed | One central retest of about 15 minutes for the plugin, instead of one check per app variant |
| If something no longer fits | Changes that no longer fit are not applied; controller code may need an adjustment | Only the drop function can be affected; outside a drag, all applications work exactly as before |
| Switching off | Remove the app variant from the role | Switch the plugin off for the role |
Changes to SAP code
- SAP adaptation project
- None: the app variant is stored separately and the original app stays unchanged
- Flow-R-Bridge
- None: the plugin is stored separately and all applications stay unchanged
How it extends
- SAP adaptation project
- SAPUI5 flexibility changes, fragments and controller extensions on top of one app
- Flow-R-Bridge
- One launchpad plugin on top of SAP Fiori elements applications
Interfaces used
- SAP adaptation project
- Public SAPUI5 and SAP Fiori elements APIs
- Flow-R-Bridge
- Public SAPUI5 and SAP Fiori elements APIs, the launchpad Extension service and the application's own data service
Business rules and authorisations
- SAP adaptation project
- Unchanged in the backend
- Flow-R-Bridge
- Unchanged: documents go through the application's own service, with the user's own authorisations
Update-sensitive part
- SAP adaptation project
- Controller code that depends on the structure of the original app; SAP calls controller extensions "powerful but potentially fragile"
- Flow-R-Bridge
- Drop handling on lists and upload fields, which depends on the structure of the open application
Check after an update
- SAP adaptation project
- Each app variant is checked against the updated base app and adjusted where needed
- Flow-R-Bridge
- One central retest of about 15 minutes for the plugin, instead of one check per app variant
If something no longer fits
- SAP adaptation project
- Changes that no longer fit are not applied; controller code may need an adjustment
- Flow-R-Bridge
- Only the drop function can be affected; outside a drag, all applications work exactly as before
Switching off
- SAP adaptation project
- Remove the app variant from the role
- Flow-R-Bridge
- Switch the plugin off for the role
SAP states openly that extensions of delivered apps may need adjustments when the base app changes, and provides checks for adaptation projects after base app upgrades. Several of SAP's upgrade-safe rules for controller extensions are built into Flow-R-Bridge: no deprecated API for the header button, a check before a list is touched, and no document when the page cannot be identified.
03Behaviour after SAP updates
Everything that runs on public APIs is covered by SAP's compatibility rules, which exclude incompatible changes to public APIs in SAPUI5 minor and patch releases. A few convenience functions work with the visible elements of the open application, where SAP offers no dedicated extension point. One short retest after a major update covers them.
Drag and drop into the lists of other applications
Known limitation, mitigated and under control
What it means. To accept a dropped email, Flow-R-Bridge attaches drop handling to the visible lists of the open application. It does this only while a drag is in progress and removes it as soon as the drag ends. Lists that already accept such drops themselves are left untouched.
Why it matters. Outside a drag, every list behaves exactly as before. Because SAP offers no dedicated extension point for this, it is the first function to retest after a major update.
Mitigation. A short retest after each major SAP update, about 15 minutes: drop an email, a PDF and a file.
Files into attachment lists and upload fields
Known limitation, mitigated and under control
What it means. Attachments can be dropped straight onto an application's attachment list or upload field. The upload field receives the file through the browser's standard file field, which is not an SAP extension point either.
Why it matters. This is covered by the same short retest after an update.
Roadmap. Verify the upload into attachment lists on the target system, and remove the empty attachment entry automatically if a content upload fails.
Recognising the current page
Known limitation, mitigated and under control
What it means. Flow-R-Bridge identifies the application page that received the drop. On SAP Fiori elements pages this works reliably. On pages that an application adds as its own custom extension, the page may not be recognised.
Why it matters. In that case, Flow-R-Bridge shows a message and creates nothing, so no data is created by mistake.
Two cosmetic details: drop highlight and header logo
Known limitation, mitigated and under control
What it means. The drop highlight uses SAP's standard visual style. If SAP renames that style, the highlight may also appear over the plugin's own panel. The launchpad header shows only plain icons in the theme colour, so the plugin adjusts the look of its own button to let the logo follow the theme; if SAP changes the header, the logo may appear in its original colours.
Why it matters. Both are purely visual. No function is affected.
Automated regression tests
On the roadmap
What it means. Today, the short manual retest above covers the main scenarios after an update. Automated tests for these scenarios are on the roadmap.
Why it matters. The check after an update will then run automatically.
04Security
Emails and attachments are handled with several layers of protection, and the mailbox is only ever read.
Email content shown in an isolated area
In line with the SAP standard
What it means. Emails are displayed in a sealed-off area of the page where scripts inside an email cannot run.
Why it matters. A malicious email cannot act on the user's behalf in SAP.
Internet images only after a click (configurable)
In line with the SAP standard
What it means. Images that an email loads from the internet can tell the sender that the email was opened. By default, Flow-R-Bridge shows them only after the user clicks "Show images"; this can be switched to "always show".
Option. A server-side image proxy on the SAP system works like Outlook's: the sender sees the server, not the user.
Only safe file types open in the browser
In line with the SAP standard
What it means. PDFs and common image formats (PNG, JPEG, GIF, WebP) open in a browser tab. All other attachment types, including formats that can contain active content, are only downloaded.
Why it matters. An attachment cannot run code in the SAP session.
Read-only mailbox access
In line with the SAP standard
What it means. Flow-R-Bridge only reads emails and attachments through Microsoft's official interface, Microsoft Graph. It never sends, changes or deletes emails.
Secured PDF reading
In line with the SAP standard
What it means. PDFs are read directly in the browser by pdf.js, the widely used open-source component that also powers the PDF viewer in Firefox. A known weakness of the included version is closed by a protective setting.
Why it matters. PDF text is extracted locally in the browser, without an additional server component.
Sign-in to the mailbox
Known limitation, mitigated and under control
What it means. In the current version, the user pastes a Microsoft access token once per browser session. The token is kept only for that session and is forgotten as soon as the browser tab is closed.
Roadmap. Single sign-on with the company's Microsoft account (Microsoft Entra ID), so that users sign in without handling a token. Only the sign-in part of the plugin changes.
05Data and AI
The AI sees only what a single drop needs, can run entirely inside the company network, and the user checks every proposal.
Data minimisation by design
In line with the SAP standard
What it means. The AI is called only when a user drops an email; nothing is sent otherwise. For products, customers and similar fields, only the matching entries found in the system are sent, never the whole list.
Why it matters. Only the data needed for the current document reaches the AI model.
Which data goes to the AI
Known limitation, mitigated and under control
What it means. When an email is dropped, the configured AI model receives the email text and the text of its PDF attachments; the fields of the target document, with the allowed values of fields that have short value lists (for example, order types); the matching entries for products, customers and similar fields; and the application, page and parent document the email was dropped on.
Why it matters. Besides the email, some SAP master data reaches the model. With a cloud model, the provider's data protection terms apply, so this should be agreed with the data protection officer. With a model on the company's own servers, the data stays inside the company network.
Access key of the AI service
Known limitation, mitigated and under control
What it means. If the AI service is called directly from the browser, its access key is part of the plugin settings, where technically skilled users could read it.
Recommendation. For productive use, route AI calls through the company's own server (for example, SAP Web Dispatcher or SAP BTP), which adds the key. Users then never see it.
Your choice of AI model
In line with the SAP standard
What it means. Flow-R-Bridge works with any AI service that offers the common industry interface, whether a cloud model or a model on the company's own servers.
Why it matters. With a model on the company's own servers, email content and master data never leave the company network.
The user stays in control
In line with the SAP standard
What it means. The AI only fills in a proposal, and the user sees the document straight away to check it. In applications with drafts, nothing is saved until the user saves it; in applications without drafts, the document is saved and opened at once for checking. Optionally, the email text can be reviewed and extended before it is transferred.
Protection against manipulated emails
In line with the SAP standard
What it means. Fixed rules tell the AI to treat the email only as data. Instructions hidden in an email (such as "set the price to zero") are ignored, and the user is told about them. These rules can be switched on or off in the settings.
Why it matters. Together with the user's check of every proposal, this gives two lines of defence against manipulated emails.
06Operation and what IT needs to allow
IT approves network access once in the browser security policy, and the settings are deployed together with the plugin.
Network and browser security policy
Known limitation, mitigated and under control
What it means. The launchpad's browser security policy needs to allow three things: the address of the AI service (unless it runs behind the launchpad's own address), Microsoft Graph (graph.microsoft.com) for emails, and the display of PDFs and email images that the plugin prepares in the browser.
Why it matters. This is a one-time configuration. Without it, the plugin loads but cannot read emails or call the AI.
Settings are part of the deployment
Known limitation, mitigated and under control
What it means. The settings (AI service, default values, display options) are a file deployed together with the plugin. Changing them means deploying the plugin again.
Roadmap. Keep the settings in a table of the SAP system, so that they can be changed without a new deployment.
07Usability and languages
The interface is ready for further languages today, and accessibility improvements are on the roadmap.
Ready for additional languages
In line with the SAP standard
What it means. The user interface is delivered in English. Its texts are kept in a central translation file, so new languages can be added without changing the code.
Accessibility and final translation steps
On the roadmap
What it means. Drag and drop needs a mouse or touchpad. Some fields still lack labels for screen readers, and a few error messages are not yet in the translation file.
Roadmap. Add the missing screen-reader labels, move the remaining messages to the translation file, and document that drag and drop needs a mouse or touchpad.
08Summary
Flow-R-Bridge meets the SAP standard in all core areas; the remaining points have a defined mitigation or are on the roadmap.
- SAP standard interfaces, no modifications to SAP code
- In line with the SAP standard
- Extension approach
- Same principles as an SAP adaptation project, with a comparable risk profile
- Documents through the application's own service, checks and authorisations
- In line with the SAP standard
- Security of emails and attachments
- Isolated display, safe file types, read-only mailbox, secured PDF reading
- Data and AI
- Data minimisation, model of your choice, user in control
- Agree data flows with the data protection officer and route the key through your own server
- Languages and accessibility
- Ready for additional languages
- Screen-reader labels
- Robustness after SAP updates
- Drag and drop into lists and upload fields: 15-minute retest after each major update
- Automated tests
- Applications without drafts
- The document is saved at once and opened straight away for checking
- Mailbox sign-in
- Access token per browser session
- Single sign-on with Microsoft Entra ID
- Prerequisites
- SAPUI5 1.120 or later, SAP Fiori elements applications, network approval for the AI service and Microsoft Graph
09SAP references for frontend extensions
These SAP documents back the extension approach and the update behaviour described above.
- Add a Shell Plugin
Shell plugins are an SAP extension type that extends the launchpad's functions and UI (described for SAP Build Work Zone, advanced edition) (section 1)
- sap.ushell.services.Extension
The launchpad service for adding items to the shell header (section 1)
- Using the ExtensionAPI: OData V4
The public extension API of SAP Fiori elements pages (section 1)
- Using the ExtensionAPI: OData V2
The public extension API of SAP Fiori elements pages (section 1)
- SAPUI5 Flexibility: Adapting UIs Made Easy
SAP's concept for upgrade-safe, modification-free changes to SAP Fiori UIs (section 2)
- Extending Apps
SAP's extension mechanisms, with SAPUI5 flexibility as the preferred, modification-free way to extend SAP Fiori elements apps (section 2)
- Extending Delivered Apps Using Adaptation Projects
App variants extend delivered SAP Fiori elements apps while the original app stays unchanged (section 2)
- Extension Stability Across Application Updates
SAP's own assessment of update risks per extension type, the basis for the comparison (section 2)
- Upgrade Safe Compatibility Rules
SAP's rules for upgrade-safe controller extensions in adaptation projects (section 2)
- Check Whether Your Adaptation Project Is Up-To-Date with Base App Upgrades
SAP's check for adaptation projects after base app updates (section 2)
- Compatibility Rules
No incompatible changes to public APIs in SAPUI5 minor and patch releases (section 3)