Skip to Content
Technical Articles

Launch ByDesign UIs from External Applications

A common use case in business system landscapes with multiple applications is the navigation to business documents and master data objects across applications.

SAP Business ByDesign supports this use case by providing parameterized URLs, that can be used by external applications to launch ByD UIs and open ByD business documents. In ByD this integration point is called External Object-Based Navigation or short External OBN.

This document describes how to assemble parameterized URLs for External Object-Based Navigation.


URL Schema and Parameter

The URL schema for External Object-Based Navigation is

<hostname>/sap/public/ap/ui/runtime?bo_ns=<namespace>&bo=<business object name>&node=<business object node name>&operation=<OBN operation>&object_key=<BO instance key value>&key_type=<key type>&param=<additional parameter>

URL Parameter:


URL encoded BO namespace like specified in the OBN in-port


URL encoded BO name like specified in the OBN in-port


URL encoded node name like specified in the OBN in-port


URL encoded OBN operation like specified in the OBN in-port


optional: URL encoded BO instance UUID, no “-” separator is allowed and all characters must be upper case


optional: BO instance key type (technical name of the Global Data Type)


optional: any additional flat parameter that is required by the OBN in-port


optional: disable SSO


optional: specify the language to open the screen; for example:


SAP partners can get the URL parameter values using the UI Designer of the SAP Cloud Applications Studio. You find the URL parameter values in the Inport Configuration of the corresponding ByD UI screen.
Alternatively you get the parameter values from the ByD Debug-Console: press SHIFT+CTRL+ALT+D for 5 seconds and check the information provided on the Development Console.

Please note that ByD screens support external object-based navigation only if the UI screen provides a stable anchor and is released for external navigation.

The object key is typically the business document UUID. You get these UUIDs from ByD query and read web service APIs or the output management xml integration. If you create business documents using web service APIs, then you can pick the business document UUID from the web service response as well.

You find more information about ByD web service APIs and ByD integration scenarios on SAP Help: SAP Business ByDesign – SAP Help Portal Page.

The deprecated endpoints /sap/public/byd/runtime and /sap/byd/nav are still supported for compatibility reasons, but should not be used anymore.
New features will be supported for the new endpoint /sap/public/ap/ui/runtime only.
The endpoint /sap/byd/runtime is no valid endpoint for External OBN, but launches the “normal” ByD UI.



Launch supplier overview of supplier with UUID 0000000000011DEFBA9FCC99416B7576:

Some applications/browsers may require URLs without special characters. In this case replace the characters “:” and “/” in parameter bo_ns by the corresponding %-syntax:






Single Sign-On (SSO):

Logon using single sign-on can be implemented by using the corresponding single sign-on hostname.

Logon using SSO

Logon without SSO
with parameter &saml2=disabled

Logon without SSO by using the SSO hostname
with disabled SSO (not recommended)



Example URLs

Supplier Overview: Launch supplier factsheet of supplier Miller&Son (ID S100700, UUID 0000000000011DEFBA9FCC99416B7576):


Account Overview: Launch account factsheet of account Almika Inc. (ID 1000000, UUID 0000000000011DDFB9FF7CEB3214ABF2):


Business Partner Overview: Launch business partner factsheet of business partner HPA Sweden (ID CP100993, UUID 0000000000011DDFBA8490E446493CE3):


Contact Overview: Launch contact factsheet of contact Peter Shaw (ID 7, UUID 0000000000011DDFBA8490EA2E421CE3):


Material: Launch material factsheet of material P100101 – Heater (22.8 KW) (ID P100101, UUID 0000000000011DEFBAEA3D295D4F87A6):


Service Overview: Launch service factsheet of service product 300002 – Engineer (ID 300002, UUID 0000000000011ED083A11BE19763A75F):


Purchase Order Overview: Launch purchase order factsheet of purchase order 225 using the PO UUID 0000000000011EE18AFB8B871861C45F:


Supplier Invoice Overview: Launch supplier invoice factsheet

… using the invoice ID 820:

… using the invoice UUID 0000000000011DEFBEB1F2413765FEA4:


Opportunity: Launch opportunity UI

… using the opportunity 1171:

… using the opportunity UUID 00163E04F79D1EE3AFC592CAFF2317D0:


Sales Quote: Launch the factsheet of sales quote 421:


Sales Order Overview: Launch sales order factsheet

… using the sales order ID 1096:

… and using the sales order UUID 0000000000011ED087AC4D40499ADB24:


Customer Invoice Overview: Launch customer invoice factsheet

… using the invoice ID 1INV-88-2015:

… using the invoice UUID 00163E0E25A61ED5A3C0CE5B77268C36:


Project Overview: Launch project factsheet

…using the project ID CPSO3:

… using the project UUID 00163E04472B1EE2B28E10DAAC413856:


Project Task Overview: Launch project task factsheet of project task CPSO3_3110 – Software Set-Up & Configuration with UUID 00163E04472B1EE2B28E10DAAC44B856:


Outbound Delivery Overview: Launch outbound delivery overview of outbound delivery 55 with UUID 00163E0658BA1EE69DB1D65F7DD94321:


Incoming Cash Payment Overview: Launch incoming cash payment overview of the payment monitor:


Edit Time Sheet: Launch the screen to edit time sheets:


Business configuration change project: Launch the project overview of a change project:


External OBN for ByD Add-on Screens

You can as well launch custom screens created for a ByD Add-on with the SAP Cloud Applications Studio. This chapter describes how to enable custom factsheet screens and quick activity screens for external object-based navigation and how the parameterized URL looks like.

Quick Activity Screens:

  1. Create the business object quick activity screen. Here I assume you used the option “Create New Screens > Screens Scenario with Navigation“.
  2. Open the quick activity screen using the UI Designer and look for the Event Handler with parameters
    – Type: BOOperation
    – BO Operation Type: Read
    – Parameters > Type: keyNavigation
    Example: Event Handler EditHandlerSysPTP:
  3. Get the values of the properties BO, Namespace, Node and Operation from the Inport:

    Note: Alternatively you can as well open the quick activity screen on the ByD UI and get the parameter values from the ByD Debug-Console: press SHIFT+CTRL+ALT+D for 5 seconds and check the information provided on the Development Console.

Launch the Add-on Quick Activity screen using the URL:<Namespace>&bo=<BO>&node=<Node>&operation=<Operation>&object_key=<UUID>&key_type=APC_V_UUID


Factsheet Screens:

  1. Create the business object factsheet screen using the option “Create New Screens > Screen Type > Fact Sheet (FS)“.
  2. Open the related Work Center View screen using the UI Designer and assign the factsheet screen to the work center view screen (work center view properties > Assigned Objects). This step is required to be able to add the factsheet to the authorization profile of users.
  3. Open the factsheet screen using the UI Designer.
  4. Open the factsheet screen Data Model and create a field OBN_NAV_KEY on root level.
    For example:
  5. Create a factsheet Event Handler with the following properties:
    – Type: BOOperation
    – BO Operation Type: Read
    – Parameters > Type: keyNavigation
    – Parameters > Bind: /Root/OBN_NAV_KEY
  6. Create a factsheet Inport with the following properties:
    – Check box OBN Inport
    – Select BO Based
    Select Namespace: <your solution namespace>
    Select BOModel: <your business object name>
    Select Operation: Open
    PortType Package: <your business object port type package>
    PortType Reference: OpenByKey
    ParameterName: Key
    ParameterBinding: Root/Root/OBN_NAV_KEY
    In the factsheet Inport properties, enter the event:
    OnFire: <your event handler from step 5>
  7. Get the values of the properties BO, Namespace, Node and Operation from the factsheet Inport.
    Note: Alternatively you can as well open the quick activity screen on the ByD UI and get the parameter values from the ByD Debug-Console: press SHIFT+CTRL+ALT+D for 5 seconds and check the information provided on the Development Console.

Launch the Add-on Factsheet screen using the URL:<Namespace>&bo=<BO>&node=<Node>&operation=<Operation>&object_key=<UUID>&key_type=APC_V_UUID


You must be Logged on to comment or reply to a post.
    • Hi Sven,

      the following URL-pattern should do the job:

      where the object key contains the payment order UUID.

      Best regards,

  • Hi Knut,

    Could you advice on this method but using -sso.

    First I tried to use this URL:
    but it show me proposal to enter login/password

    After some checks how -sso URL looks for me after login, I came to this variant with word “public” deleted:
    In this case it works. First variant worked only if I already have existing session to that tenant opened. Is it my tenant-sso specific behavior?

    But more important topic for me, is it possible to change this URL not to simply open sales order, but for example open it with “pressing”  “Preview” button, or “View All” mode”, or open existing outputs in this Sales Order?

    Best regards,

  • Hi Knut,

    Im trying to get the URL for Custom BO,

    we tried the same as you mentioned in the blog, facing the problem in &key_type=.

    I.e where to find the technical name(&key_type) for Custom BO


    • Hi Rudha,

      the customer is named "account" on the ByD UI. You can use the follwing URL pattern:

      Launch account factsheet of account Almika Inc. with UUID 000000000011DDFB9FF7CEB3214ABF2:

      Best regards,

  • Hi Knut. We're glad to see the new HTML5 parameter!

    I have a very specific question and I don't know if the following is possible as we do not have access to the cloud studio.

    I mentioned this in a question but was directed back here. We have an external email notification scenario - the message content and send time is defined outside of ByDesign but we want to link directly to system work lists and functionality without a specific object ID.

    With some direct links we'd be able to save time and clicks, in general across our organization over time that could be a huge benefit.

    We want to prepare hyperlinks directly to the following functions:

    • Edit Time Sheet - from the home work center, self services
    • Approvals as under the Project Management work center
    • Approvals as under Managing My Area
    • Hi Matt,

      the 3 UIs that you are referring to do follow the pattern that I described in my blog post and hence I don’t know how reliable the information is that I can give you. However, the following proposals seem to work, but they might be subject of changes and may need to be adapted in future releases.

      Edit Timesheet (Home > Time > Edit Time Sheet):
      You can access the new HTML5-UI as well by simply appending the parameter &client_type=html.

      You can open the Manage My Area and Project Management Approvals work list screens directly using the link displayed by your browser (simply open the ByD UI and copy the link), but these links contain software-version dependend parts, such that you may have to update the link frequently.

      However, providing stable parameterized URLs to access work center views and work lists directly might be a requirement that is worth to be submitted in the ByD Idea Place.

      Best regards,

      • Hi Knut, Thanks for your answer.

        We understand the drawbacks to using this simple "just copy the URL" method but when testing we noticed that users that are not logged in are redirected to a login page although we are using SSO links. Is there any workaround for this problem?

        We noticed the same problem with the time sheet link too, but removing /public/ from the URL seems to work.

        • Hi Matt,

          as mentioned above the copied URLs are not intended for deep linking and I don't know how to use them with SSO.

          Please feel welcome to submit the requirement to provide deep linking on static UIs via ByD Idea Place.

          Best regards,

  • Hello, very interesting answers. I am trying to launch via URL a specific individual customer in SAP C4C. Do you know of anyway of achieving this? Thanks in advance, regards. Rigoberto Soto

  • Hello. Very interesting post. I am trying to open a specific individual customer via URL in C4C. Do you know of any way to achieve this? Thanks in advance for your quick reply. Regards.

    Rigoberto Soto

  • Hello, Knut

    Clould you tell me how can link to custom BO from mail.


    I tried this URL want to enter to Edit Screen.


    As a result, I could not enter the edit screen.

    Could you tell me how to write URL?

    Thank you

    Best regards,

    Mu Zhou

  • Dear Knut,


    I would like to come back to the question of Andrey Rybakov "is it possible to change this URL not to simply open sales order, but for example open it with “pressing”  “Preview” button, or “View All” mode”, or open existing outputs in this Sales Order?" Of special importance to me is "preview" of a sales quote.


    Looking forward to your response,


  • Hi There.

    Has anyone managed to get this working on chrome (using html5 ?)

    shows message (an exception was raised)

    if I change the url to

    it asks for silverlight to be installed

    This 3rd attempt


    it opens the HTML5 but does not redirect to the 0000-ABCDE Supplier Invoice.


    Any suggestions ?

    • Hi Marcelo,

      what is your default UI (the UI which opens if you enter the URL without any extensions in the browser): HTML5 or Silverlight?

      If HTML5 is already your default UI, then the following URL should do the job:

      Please note: I'm using the Supplier UUID as object key. You can get this UUID via Soap service QuerySupplierIn or OData service on business object Supplier. I'm not sure if you can launch the supplier overview using the business partner ID as object key.

      Best regards,

  • Hello Knut,


    Thank you very much for all the well documented examples for showing ByD data into external applications.

    I was wondering, is this also pssible for screens in which a transaction is executed trough a different system? Eg we have a external CRM application and we want to make an update to a sales order in Bydesign. Can we use a simular technique for this?


    Hope to hear from you,


    Kind regards,



    • Hi Yvonne,

      basically yes you can update sales orders as well.

      In general you need a user with access to ByD and sufficient authorizations to update sales orders. If this is the case, you can use the link above to open the fact sheet and then click on "View All" to edit the sales order.

      If you are using an external CRM application you may consider updating sales orders using web services as well. You have the possibility to use OData Services (you can create, update ad read sales orders via OData) or Soap services (compare blog post Create ByD Sales Orders using Web Services).

      Best regards,


      • Hi Knut,


        Thanks for your response.

        Yes we are using webservices to create sales orders from CRM. But incase of updates, Business Bydesign has much more validation rules then a CRM system does. (Like after a sales order is released, you cannot delete an item, cannot change an item, can only add etc)

        These validations are difficult to copy to an external CRM (or will require a lot of work). So in case of updates, the above situation you describe sounds much more convenient.

        Kind regards,



  • Hi Knut,

    I saw someone above asking the same question I have, but without answer. In our case we want to navigate to a custom screen based on a custom BO. The BOs alternative key is of type BusinessSystemID. How can we find out the technical name of the data type?

    We also tried with another port that uses the NodeID (which should be the UUID) as key, there at least the correct screen opens, but the BO instance identified by the passed key is not loaded. That is, an emtpy screen opens where the user could then enter data to create a new instance. Any hint?

    Best regards,


    • Hi Daniel,

      did you try to add a UUID as alternative key to the custom BO and then use the URL parameter

      • node = "Root"
      • key_type = "APC_V_UUID"
      • param empty

      Best regards,

      • Hi Knut,

        yes I tried this to get it running at all, but this also does not work with a custom BO. I also tried with escaped special chracters in the namespace and also with different browsers. The correct screen opens, but the BO instance is not loaded.

        However, we have multi customer solution already deployed to customers and now they start asking for the parameters on how to navigate directly to certain objects. That is, the type of the alternative key is settled to BusinessSystemID and cannot be changed.

        So basically I see two issues right now:

        1. Get the navigation running for custom BOs with alternative key of type UUID.
        2. Get the navigation running for custom BOs with alternative key of type BusinessSystemID.

        Any help would be appreciated.



      • Hi Knut,

        Any further idea how we could get this working. We as SAP partner are acutally having multiple requests from customers that would like to navigate to screens of our AddOn from external systems, but are not abel to.

        Best regards,


          • Hi Knut,

            I followed exactly your steps, but same behaviour as before. The correct screen opens, but no instance is read. Any idea what could be the issue? The screen I am using is a generated one using Cloud Application Studio's Screen Scenario.

            Best regards,


          • Hi Daniel,

            looks like the screen does not trigger the event. Please check if you entered the right event (Events > OnFire) in your Inport.

            Best regards,

          • Hi Knut,

            it wasn't the event handler, but after detailed checking I found several issue with field bindings. After fixing those it works now. Thanks for you support!


            Best regards,


  • Hello Knut,

    first of all, thanks for this great blog post and for keeping it updated!

    Is there a possibility/parameter to open the target screen with the full nav bar on the left? So that users are able to edit/save that target screen and then navigate directly somewhere else?

    Best wishes,


  • Dear Knut,

    Thank you for this very valuable post.

    I am trying to launch a Project Fact Sheet using the provided URL pattern.

    However, I would like the Object Key to be the Project ID instead of the UUID (Key type APC_S_BTD_ID instead of APC_V_UUID).


    It seems like for some documents, it’s possible i.e. Sales Order, but it does not seem to be the case for Projects. Can you please assist.

    Thank you,


    • Hi Thanh,

      currently we do not support opening the project factsheet using the project ID, but we plan to enable to open the project factsheet using the project ID in release 1905; the URL would then look like:

      Best regards,

  • Update:

    • Added example to launch project factsheets using the project ID
    • Get parameter values using the ByD Debug-Console
    • Removed example for HTML5 which is not relevamnt anymore, because HTML5 is the default ByD UI
    • Added parameter to specify the language to open the ByD screen
  • Update: Added examples for external object-based navigation to custom quick activity and factsheet screens that have been created using the SAP Cloud Applications Studio.

  • Hi Knut,


    Could you advise the URL to open a Journal Entry (General Ledger - Journal Entries) for a specific Company ID.


    Many thanks,


    • Hi Lee,

      are you missing anything to form the URL by yourself according to the blog post? Or do you face any specific issues when you try to form the URL?

      Thanks and best regards,


      • Hi Sisse,

        No specific issues when trying, but the URL pattern isn't specified in the blog so i just wondered if an example could be provided.

        Many thanks,


  • Hi Knut,

    it's could be a nice feature to connect other applications (e.g. CRM).

    But is it really not included to create an URL for a specific Sales Quote?

    The phrase "bo=SalesQuote" orrurs just an error.

    My target is to create Sales Quotes via OData Service and create a link to the just created Sales Quote into our CRM system.

    Thank you a lot, Markus.

    • Hi Markus,

      the following URL pattern does the job:

      Best regards,

      • Hi Knut, great job, works very nice.
        But is there on a source where I could find all object names or fields to figure out a better way next time?

        Best regards, Markus

  • Hi,

    I'm trying to create an URL for a Journal Entry (General Ledger - Journal Entry). I took the information from the Debug Console. The URL opens a blank Journal Entry UI instead the Journal Entry I defined in the object_key -part. What am I doing wrong? I think the operation= part might be wrong, because with the Project example, the correct operation is "OpenByProjectID" but where can i view the correct operation for the Journal Entry?

    My current URL:

    Thanks for the assistance!