Skip to Content
Product Information
Author's profile photo Moritz Gysler

Enabling Change & Deployment Management in SAP Cloud ALM for SAP Integration Suite – Cloud Integration

To use the transport capabilities of SAP Cloud ALM in conjunction with the SAP Cloud Transport Management Service (CTMS), you’ve to establish a connection between SAP Cloud ALM and the SAP Cloud Transport Management service.

This guide will lead you through the steps that are needed to establish the connection for the SAP Cloud Integration use case.


Please note that all the steps below only refer to an exemplary setup for Cloud Integration as part of the SAP Integration Suite. For other integration solutions, the steps are similar but may differ in certain aspects. In this case, refer to the documentation of your integration solution.

Subscribe to SAP Cloud Transport Management Service


For newly provisioned SAP Cloud ALM tenants the SAP Cloud Transport Management Service is already subscribed in your SAP BTP subaccount. In this case you can skip the following steps for manual subscription.

To use the SAP Cloud Transport Management Service in SAP Cloud ALM, you have to subscribe to the service in your SAP Cloud ALM subaccount in SAP BTP. Before you subscribe, check if you’re entitled to use the SAP Cloud Transport Management service.

1) Go to your SAP BTP global account and choose your SAP Cloud ALM subaccount.

2) To check your entitlements, go to Entitlements and choose Configure Entitlements.



3 ) Search for the Cloud Transport Management Service in the search bar. If no results are shown in the service list, choose Add Service Plans.



4) Select Cloud Transport Management, check the Standard (Application) Standard Plan checkbox and choose Add 1 Service Plan.



5) Now, the Cloud Transport Management service appears in the service list. Choose Save.



6) Go to Instances and Subscriptions and choose Create.

In the New Instance or Subscription, select service Cloud Transport Management and the standard plan. Then choose Create.Select%20Service%20and%20Plan


7) You’re now subscribed to the SAP Cloud Transport Management service.

8) Now, you can assign members of your team to roles. Usually, the two roles you need are TMS_Viewer_RC and TMS_LandscapeOperator_RC and can be found in the Custom Roles section.

You can assign the roles in the User Management app in SAP Cloud ALM.



9) You can access the Cloud Transport Management service from within your subaccount in the SAP BTP cockpit by choosing “Go to Application”.


Set Up Cloud Integration

Create Service Instances

As a first step, you’ve to enable content transport in the Cloud Foundry environment by subscribing to the Content Agent (using the ContentAssemblyService) and Service Broker (using the Process Integration Runtime). Please follow the steps described in the Enabling Content Transport, Cloud Foundry Environment guide.


Not every step is required in every case. For example, if you already created a space for transport management within your subaccount, you can skip certain steps.

After you’ve followed all the steps in this guide, please proceed with the next step.

Creating HTTP Destinations, Cloud Foundry Environment

In the next step, you need to create destinations in your SAP BTP subaccount where your source Cloud Integration tenant is hosted, in order to transport integration packages from a source tenant to the target tenant.

Please follow the steps described in the Creating HTTP Destinations, Cloud Foundry Environment guide.


The URLs you’ve extracted in step a. and that you’ve to use in step b. are structured in the following way: 

The URL you can find in the section uaa in the JSON file relates to the token endpoint. You can identify this URL by checking if the term “authentication” is included in the URL. The URL above the uaa section of the JSON file relates to the service endpoint. (see screenshot below)


Make sure that the following destinations are available now:





Set Up SAP Cloud ALM API Instance

In order to perform the following steps please make sure that your user has the role Global Account Administrator in the global account that was created when you requested SAP Cloud ALM, and is a member of the subaccount containing your SAP Cloud ALM subscription.For further information please check the SAP Help Portal page Setup and Administration for SAP Cloud ALM.Carry out the following steps to enable SAP Cloud ALM API:

Create a Space

1) Open the SAP BTP cockpit.

2) Select the global account that contains your SAP Cloud ALM entitlement, which was created when you requested SAP Cloud ALM.

3) Under Subaccounts, select the subaccount that contains your SAP Cloud ALM subscription.

4) Choose Cloud Foundry > Spaces.

5) Choose Create Space in case no space available yet.


6) Enter a space name, such as sap_cloud_alm_space, and select the roles that you want to assign to your user for this space. To perform the following steps, your user needs at least Space Developer.

7) Choose Create.

Configure Entitlements

An entitlement is your right to provision and consume a resource.

1) Choose Entitlements and check for Service SAP Cloud ALM API. In case you are already entitled to that service you can move to Create a New Instance.

Note: You can increase your global quota, that is, your maximum allowed consumption of this service plan, in the control center.

2) If the service is missing you can click Configure Entitlements.


3) Choose Add Service Plans.

4) Add the required service plan as follows:

  • Select the entitlement SAP Cloud ALM API.
  • Under Available Plans, check the option standard.
  • Choose Add 1 Service Plan.


4) Choose Save.

Create a New Instance

1) Choose Cloud Foundry > Spaces.

2) Select the created or already existing space. You now see the application list of your created space.

3) Choose Services > Instances.


4) Choose the Create dropdown and click on Service Instance.


5) Under Basic Info provide the following details:

  • Service: SAP Cloud ALM API
  • Plan: standard
  • Instance Name: Enter a meaningful name, e.g. CALMFeatureDeployment


6) Choose Next.

7) When creating a service instance for feature deployment, the following configuration in json format is needed in order to assign the required scopes to the service instance.

  • Paste the following json code into the text editor:
    "xs-security": {
        "xsappname": "<Your Instance Name>",
        "authorities": [
  • Replace <YourInstanceName> with your actual instance name. Make sure it’s not already used in another service instance and doesn’t contain spaces or special characters.
  • Authorities: Make sure to use exactly the string provided above.

8) Choose Create.

9) When your instance has been created, it’s added to the instance list. To show the details of the instance click on the newly created instance.

Create a Service Key

The service key allows you to configure the transport management in the managed system so that it can connect to an SAP Cloud ALM API service instance.

1) Choose the Actions icon and select Create Service Key.


2) Enter a name for your service key, such as sap_cloud_alm_key.

3) Choose Create.

4) Next to your newly created service key, choose the Actions icon and select View.


5) You can now see your service key in JSON format.

  • The service key is structured in the following way:
    • Endpoints: e.g.,
    • OAuth URL: Service Key parameter
    • Client ID: Service key parameter clientid
    • Client secret: Service key parameter clientsecret

Copy this newly created service key in JSON format to the clipboard because it’s needed later in the Maintain HTTP Destination section of this guide.


Outside of the SAP BTP cockpit, service keys must be stored securely. If you need a service key, create the service key directly in the SAP BTP cockpit, and access it from there whenever you need it.

Set Up HTTP Destinations and Transport Routes with SAP Cloud ALM Pass-through

In the SAP BTP subaccount where your source Cloud Integration tenant is hosted, create a destination targeted at the Cloud Transport Management service.

In the Destination Configuration section, enter values in fields based on the description provided in the following table.




TransportManagementService (this value is case-sensitive)



Description (optional)

You can provide a description for your reference.


Enter the URL (“Api”) of the service key of your SAP Cloud ALM API instance and append /imp-cdm-transport-management-api/v1. That follows a pattern like this:

Proxy Type




Client ID

clientid from the service key of your SAP Cloud ALM API instance.

Client Secret

clientsecret from the service key of your SAP Cloud ALM API instance.

Token Service URL

Enter the value of url (uaa section) from the service key of your SAP Cloud ALM API instance. Append /oauth/token at the end of URL fetched from the service key.

Additional Properties

Choose New Property.

Enter sourceSystemId (this value is case-sensitive) as the key and provide a value of your choice. Reuse the same value as the name of the source transport node in a later step.


The connection test can lead to an “404: Not found” error due to the fact that the endpoints address will only be completed by the actual export call, hence no resource can be found at the root address. This error can be ignored and you can go ahead. (error screenshot in the comments area)

In your SAP BTP Cloud Foundry subaccount (where you’ve subscribed to Cloud Transport Management service), create a new destination to create a destination targeted at the SAP BTP  subaccount where your target Cloud Integration tenant is hosted.

In the Destination Configuration section, enter values in fields based on the description provided in the following table.




Provide a name for the destination.



Description (optional)

You can provide a description for your reference.


To address the Cloud Deployment service, you have the following options:

Using the name of your org and space


Note: You need to escape special characters in your org and space name
with a proper URL encoding. For example, replace space characters
with %20, and commas with %2C.


Using the GUID of your space


Note: To retrieve the GUID of your space, use the Cloud Foundry Command Line Interface (cf CLI). Log on to your org, and execute the following command: cf space <my-space-name> –guid. For more information, see Working with the Cloud Foundry Command Line Interface.


The Cloud Deployment service is available on the default domain of your subaccount. Usually, the default domain is the first shared domain that is listed by the command cf domains of the cf CLI. If multiple shared domains are listed, validate the URL by issuing a GET request for the listed shared domains. The response for the correct (default) domain is 200.

Example: Request: GET
Response: 200 OK.

Proxy Type



Basic Authenticaton


Specify the name of the platform user that is used for the deployment.

Note: The user used for the destination must be a valid user on Cloud Foundry environment, and it must have the role SpaceDeveloper in the target space. The user used for the destination isn’t subject to any Data Protection and Privacy requirements.


Specify the password of the platform user.

You’ve created the necessary destinations. The next steps are to create transport nodes and routes.

  1. In Cloud Transport Management service, create the source node. The name for the source node must be the same as the value of the additional property SourceSystemId you defined in your TransportManagementService destination.

  2. Then create the target transport node and select the destination you created for your target tenant / subaccount before. (CPI_PROD_CF in screenshot above)

  3. In a last step you define your transport routes in your Cloud Transport Management.


  • You have to configure auto forward mode for the transport nodes in order to make use of Cloud ALM in conjunction with Cloud Transport Management.
  • SAP Cloud ALM currently only supports linear landscapes.

It could look like this:


Find more information about the destination and transport routes creation in the Creating HTTP Destinations and Transport Route guide. When you open the guide, choose the blue box called Cloud Transport Management to see the information relevant to you


To check whether your scenario works you can do a configuration check for the “Transport Mode: Transport Management Service” in your “Settings” area in Cloud Integration.


Looking forward to receiving feedback. For latest updates and notifications you can follow me by clicking Moritz Gysler.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Radar Lei
      Radar Lei

      Hi Moritz Gysler ,

      Very nice blog, currently in my project we also using the cloud transport management but does not integrate with Cloud ALM yet.

      Could you help to provide more details in your case that: 'What is the real usage of Cloud ALM'? From the steps I could not see the reason to include 'Cloud ALM', in this case if the real transport and import later directly happen in the 'Cloud Transport Management'.

      Thanks and regards,


      Author's profile photo Harald Stevens
      Harald Stevens

      Hi Radar,

      I would see two important reasons for using Cloud ALM to manage your transports:

      1. Integrate cloud transports into a higher level change management process, for example to connect the transports with features and the features with requirements.
      2. Enable synchronized transports of cloud and on premise content in hybrid projects. It is possible to add on premise ABAP transports (based on classic CTS) to a feature and invoke the transports synchronously for the corresponding target systems.

      Kind regards



      Author's profile photo Moritz Gysler
      Moritz Gysler
      Blog Post Author

      Hi Radar,

      Thanks for your query.

      In SAP Cloud ALM we start with the capturing of business requirements, breaking those down into user stories and linking features to manage deploying changes to production. This is very valuable when it comes down to traceability and fulfillment of the audit trail.

      But in case you are mainly looking at the technical aspects of deploying your changes to the production tenant(s) Cloud Transport Management is fully sufficient. SAP Cloud ALM can be seen as the orchestrating layer on top to synchronize deployment of changes to production for several SAP Solutions. Means, if you are looking into options like side-by-side extensions where e.g. configuration changes in SAP S/4HANA Cloud, private edition, are linked to changes to your SAP BTP application, then the business object "Feature" in SAP Cloud ALM can be the vehicle to deploy the changes to production together.

      Please let me know if that helps.

      Best regards,


      Author's profile photo Mark Wagener
      Mark Wagener

      Hi Moritz,

      is it also possible to enhance the deployment options from the customer side (API?!) for example to trigger a pipeline or the deployment of non-SAP objects? If we take the Integration Suite example, with a non-SAP (third party) system. Or will this be possible in the future?



      Author's profile photo Moritz Gysler
      Moritz Gysler
      Blog Post Author

      Hi Mark,

      With a combination of Cloud TMS, Alert Notification Service (ANS) and AutoPi there is already an option available to trigger e.g. a pipeline via script.

      In addition we are planning to provide APIs in 2023 to support the use cases mentioned by you. In the What's New section of SAP Cloud ALM in the SAP Help Portal you can find newly released APIs easily.

      Best regards,



      Author's profile photo Marc Guillem Gallego
      Marc Guillem Gallego

      Hi Moritz Gysler

      We are trying to configure cTMS as per your guide but we encounter the following error:

      While configuring the Transport Management Service destination we are getting the "404:Not found" error


      Transport Management Service Destination


      The following API Endpoint have been generated in the Service Keys:


      ALMAPI Service Keys

      ¿Could you please help us here?

      Kind Regards and thank you very much,

      Author's profile photo Moritz Gysler
      Moritz Gysler
      Blog Post Author

      Hi Marc,

      You can ignore this error and go ahead.

      Since the endpoints address will only be completed by the actual export call no resource can be found at the root address. But the connection is established successfully.

      Best regards,


      Author's profile photo Marc Guillem Gallego
      Marc Guillem Gallego

      Thank you very much for the quick reply Moritz!

      It might be good to add it to the guide so other customers don't get stuck as we did.

      Kind Regards,

      Author's profile photo Moritz Gysler
      Moritz Gysler
      Blog Post Author

      Hi Marc,

      Added the info to the guide.



      Author's profile photo Dirk Siemer
      Dirk Siemer

      Hello Moritz,

      thank you for this great blog.

      Unfortunately the link in the section "Set Up Cloud Integration" does not work (anymore).


      Dead Link

      Best regards,


      Author's profile photo Moritz Gysler
      Moritz Gysler
      Blog Post Author

      Hi Dirk,

      Thanks a lot for the information.

      I have updated the link.

      Best regards,


      Author's profile photo Varun Chhibber
      Varun Chhibber

      Hello Moritz,

      Thank you for this great blog.

      Just wanted to check is there any way to disable export and import package in SAP BTP Integration Suite.

      We want to move the packages through Cloud Transport Management only.


      Varun Chhibber

      Author's profile photo Moritz Gysler
      Moritz Gysler
      Blog Post Author

      Hi Varun,

      Thanks for the feedback and your query.

      At the moment I only see the option to authorize the users properly for Integration Suite.

      I would recommend to separate the transport creation from the developer role. Then developers can only import files to the export source and the admin can create transports in Cloud Transport Management for the packages.

      Hope that helps.

      Best regards,


      Author's profile photo Hema Cherukuri
      Hema Cherukuri

      such a great information ! Thank you so much.

      Author's profile photo Vishal Bagherwal
      Vishal Bagherwal

      Hello, thanks for great blog, im just wondering, id there is any difference in using transport service from BTP subaccount than from ALM tenant subaccount?

      Our aim is use transport service, CI/CD and Notification with Github for INtegrationSuite Transaport Automation. I understand we can deploy those service in both BTP Platform of Integrationusite as well on ALM tenant? however not sure the diffrence of impact on doing each?

      Can you help understand?


      Author's profile photo Harald Stevens
      Harald Stevens

      Hi Vishal,

      there is no difference in functionality of Cloud Transport Management, whether provided within the Cloud ALM subaccount or in a 'normal' CPEA or Pay-as-you-go subaccount.

      However, to my knowledge it is not possible to activate the CI/CD or Alert Notification service in the Cloud ALM subaccount, because it belongs to a separate global account specifically dedicated to Cloud ALM.

      So these services have to run in a 'normal' BTP subaccount. They can of course still be connected to the Cloud Transport Management instance running in the Cloud ALM subaccount.

      As the service key needed to 'talk to' Cloud Transport Management in this case is provided by Cloud ALM and looks a bit different from the standard Cloud Transport Management service key, you have to do some manual adjustment when configuring the CI/CD service connection (credential) to Cloud Transport Management (it expects a 'normal' cTMS service key).

      Kind regards