Skip to Content
Technical Articles

Introducing SAP Content Agent service: Enhanced Transport Capabilities for SAP Cloud Integration Content


The SAP Cloud Integration service helps you to connect cloud and on-premise applications with other SAP and non-SAP cloud and on-premise applications. This service has the capability to process messages in real-time scenarios spanning different companies, organizations, or departments within one organization. It is available in both Neo and Cloud Foundry (CF) environments.

Until now, the only way to transport integration content artifacts between integration tenants in the CF environment was to manually export and import them. This changes with the introduction of the SAP Content Agent service. Content Agent service is a Cloud Foundry-based utility service. It acts like an agent that allows you to assemble the integration content and also export it to the transport queue using transport solutions like SAP Cloud Transport Management or the Enhanced Change and Transport System (CTS+). This is equivalent to the assembly and export functionality provided by Solution Lifecycle Management Service in the Neo Environment.

Content Agent service Schematic

In this blog, I will briefly show you how to set up this service along with the SAP Cloud Transport Management option, and use it to transport integration content between your SAP Cloud Integration tenants.


For the purpose of simplicity, I will take the example of setting up transports between two SAP Cloud Integration tenants, e.g. the development tenant (DEV) and the test tenant (QAS). This is what is currently supported by the service as well. To manage transports in a three-tenant landscape, you can use SAP Cloud Transport Management, using different combinations of transport routes.

What you will need(Prerequisites):

  1. Two separate SAP Cloud Integration tenants, attached to separate CF subaccounts. Let’s call them DEV(source) and QAS(target). These subaccounts should also have their respective CF spaces created with adequate resources assigned in their quota plans. For more information on entitlements, see here. For more information on configuring Quota plans for spaces, see here.
  2. Subscription and admin access to the SAP Cloud Transport Management service.
  3. Sample integration content artifact that you can use to transport between the two integration tenants.

Setup Instructions:

  1. Create an instance and Service Key for the SAP Content Agent service in the source CF space,  using the initial setup instructions found here.
  2. Create a destination in your source subaccount for the SAP Content Agent service using the instructions found here in Step 3.
  3. Subscribe to the Cloud Integration Service Broker in the source CF space using the instructions here.
  4. Create a destination for the Cloud Integration Service Broker using instructions found here in Step 5.
  5. In your source subaccount, create a destination for deployment to your target CF space (QAS).  Let’s call it ‘TD’.
  6. Create a service instance and Service Key for the SAP Cloud Transport Management service in your source CF space, using the instructions found here in Steps 6-10.
  7. In the SAP Cloud Transport Management UI, create an empty transport node: In the node creation UI, only provide the name( value =DEV), description ( value =DEV), and check the checkbox for ‘Allow upload to node’. Leave everything else as empty (by default) and click ‘ok’. This will act as your source transport node. Instructions here.
  8. In the SAP Cloud Transport Management UI, create a second node, called ‘QAS’ to point to your target CF space. Use the destination ‘TD’ created in step 4 for this node.
  9. In the SAP Cloud Transport Management UI, using the nodes created in steps 7 & 8, create a Transport route. Instructions here.
  10. In your source subaccount, create a destination for the SAP Cloud Transport Management service using the instructions found here. For the value of the additional property ‘sourceSystemId’, use the name of the node created in step 7.
  11. In the SAP Cloud Integration source tenant, select the transport mode as ‘Transport Management Service’, using the instructions here.

Testing the Setup:

  1. In your source SAP Cloud Integration tenant, go to the content packages view and select any content package by clicking on it.
  2. On the next screen, click the ‘Transport’ button and provide a description for the test transport, and click ‘Transport’ on the pop-up screen.
  3. In case of success, you should get a message such as “Transport Request <xxx> is created in the configured Transport Management Service system”.
  4. In the SAP Cloud Transport Management web UI, go to the Import queue of the target node created in Step 8 above, called ‘QAS’. The transport request created in step 3 should be already added to this queue.
  5. Import this transport request into the target node ‘QAS’.
  6. Go to the content packages view of your target SAP Cloud Integration tenant. The content package exported from the source SAP Cloud Integration tenant in step 3 should have been imported and should be available here.

Important points to note

  1. Please note that steps 1-till-4,6,10,11 need to be performed in your source subaccount or source SAP Cloud Integration tenant ( as applicable)  from which you want to export content. For example, if you are exporting content from your Development tenant, you need to perform these steps only in the Development subaccount or Development SAP Cloud Integration tenant ( as applicable).
  2. In step 11, Transport Settings will be available for you only if you have the role ‘AuthGroup.Administrator’ assigned to your account. Please assign this role to your user if you do not see the Transport Settings.
  3. The target CF subaccount should also have the requisite entitlements for the SAP Cloud Integration service plan. If you’re not sure, please perform Steps 1-5, mentioned under ‘Subscribing to CPI Service Broker’ here.

I hope this article was clear enough to help you set up the SAP Content Agent service, enhancing your transport experience for integration content in the CF environment.

Hope you enjoyed this article. If there are any questions, please let me know in the comments below.

Further information


What is SAP Cloud Integration?

For the latest on SAP Content Agent service, please look here.


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

    finally an automated solution to transport artifacts. This looks interesting.

    What about conflict resolution and dependencies? Are there override mechanisms and does it deploy artifacts? Do I need to cross-check versions in my tenants in case I start using this approach? I believe it would be a good practice to switch off editing of integration artifacts in stages other than DEV to avoid problems?

    Thanks for sharing.



  • Hi Martin,


    Thanks for your feedback. Very valid points. The deployment will always be taken care of by the deploy service on CF. For the rest, we are looking to enhance this further in future versions.




  • Dear Abhishek,

    first of all thank you very much for this valuable blog entry.

    I am getting error message "Error in the http client" when clicking the check configuration button in the SCPI transport settings section.

    I believe the reason could be regarding the url in step 4 "setup instructions". Can you please confirm that the url for CloudIntegration is the value of the CPI service broker?

    Or do I need add the "/api/1.0/transportmodule/Transport" to CPI Service Broker URL as well?


    Thank you in advance,



    • Hi Yasin,


      Thanks for taking the time to setup the service.

      You are right. Indeed, the value of the URL comes from the service key of the CPI service broker created in the previous step. As mentioned in the documentation the format is as below:

      URL Provide the URL of the system that you want a create a destination to.

      The format is: <oauth → url>/api/1.0/transportmodule/Transport



  • Hi Abhishek

    I am getting below error while doing a check configuration from CPI Settings –> Transport page


    “status”:”ERROR”,”description”:”Configuration check for CloudIntegration”,”error”: {
    “errorCode”:”1042″,”parameters”: {
    }}}, {
    “status”:”SUCCESS”,”description”:”Configuration check for TransportManagementService”


    Also , Destination CloudIntegration  : is throwing below error

    Failure reason: “An error of type SSLHandshake occurred during check connection!”

    I don't understand why SSL Handshake error is coming. Please let me know if you have encountered this error. 


    Thanks 🙂

    • Hi Prachetas,


      Thanks for reaching out.

      It seems that your destination is not properly configured. You need to check all the values you have configured against the values from the CPI service broker and let me know.




  • Hi Abhishek


    Please have a look


    I have  created service instance Process Integration Runtime with role :



    Destination details :


    Name : CloudIntegration

    Type : HTTP

    url :  url/api/1.0/transportmodule/Transport

    Proxy : Internet

    Authentication : OAuth2ClientCredentials

    Client ID : from service key

    Client Secret: from service key

    Token Service URL: cpi url/oauth/token


    Destination seems correct ?


    • Hi,


      This seems correct. Please double-check the Client ID and Client Secret fields for mistakes.

      Also note that Token Service URL is different from the URL above. It comes from the field 'tokenurl' in the service key. And you need to append '/oauth/token' to it, as you have already shown.


      If you still get an error, I suggest opening a ticket.




      • Hi Abhishek


        I am doing this on cloud foundry trial system.


        When I try to open below URL from browser :


        I am getting error :

        Your connection is not private




          • Hi Abhishek

            I was able to resolve the SSL handshake issue.

            Tweaked the URL from service instance to match CPI tenant url :

            https://***********    ---->


            Sorry to bother you,

            But now I have 2 issues

            1. In CPI tenant there is no Transport option.

            2. In step 5 of the blog (creation of destination to target system)

            Here what would be the url and what type of Authentication we are using ?

            For now I have created destination after creating a process integration runtime

            instance with role ESBmessaging.send and authentication as             OAuth2ClientCredentials




  • /
    • Hi Tim,

      Please check the configuration for below destinations once again.

      1. CloudIntegration and
      2. TransportManagementService  Or ChangeManagementSystem depending on which service you are using.

      You can verify the same in CPI Settings –> Transport-->Check Configuration

      If result for both the destination is successful then you can transport package.





  • Dear Abhishek,

    Thank you for sharing this blog about SAP Cloud Platform Content Agent, currently we are migrating from NEO to CF, I think it will help us a lot.

    Could you please help evaluate if it can meet our scenario needs?

    Let me brief our case first:
    Currently develop/publish process on NEO:
    1. Develop work was done by eclipse with CPI plugin offline.
    2. There were one tenant for dev verify purpose, and multiple QA/Hotfix tenants on different Data Center(we can deploy changes from eclipse directly).(artifacts on all DEV and QA / HOTFIX tenant are config-only)
    3. When all verification passed, we export the artifact from eclipse, and update to Publishing Tenant and publish to content-hub.
    4. After the review complete for publish, the update can be pulled from DEV/QA/HOTFIX tenants.

    Now issues we meet when migrating cpi from NEO to CF:
    1. Eclipse is not supported based on current investigation, then we need do the dev work on WEB-UI
    2. When we need deploy some changes to QA/hotfix tenant for QA team to verify, SAP Cloud Platform Content Agent is an option I thought

    My questions are:
    Q1. If we move dev work from eclipse/NEO to CF, can the changes be transported from CF to legacy NEO tenant? As the NEO retirement process may take years.
    Q2. If we want the artifacts editable only on DEV tenant, config-only on any other teants, can we achieve this?
    Q3. Lets say QA system, after it applied some changes from DEV via CTS+, then can we receive the update when there were new version publish released?


  • Hi Abhisek,

    URGENt: Please help.- SAP CPI S (suite), CF.

    For TMS subscription, we have selected a separate subaccount. We have TMS, DEV, QA, PROD subaccounts now.


    Can you please advise me the transportation path and nodes to build the configuration?



  • Hello Abhishek,

    Thanks for this wonderful blog. Can you point to a document or blog that explains instructions to enable content transport between CPI environments using CTS+ and content agent service. The help links are confusing ( .

    Do we still need to use the Solution Lifecycle management service?

    Another question, can content agent service be used for BTP services as well - like Workflow or Mobile services or HANA Cloud Service?


    Nishant Kathuria

    • Hi Nishant,


      Thanks for your comments and questions.

      I hope this link will prove more useful for you:

      Also, please note that in CF environment, only follow the documentation that is relevant to CF, so no Solution Lifecycle management service is required here.

      Lastly, we are working on enabling this for other services, e.g. Workflow, Mobile, etc. But I should tell you that I cannot make any comments on the timelines in this forum here.




      • Abhishek,

        Thanks, one more question. The help states that SAP Content Agent service is a Cloud Foundry based utility service. So can I assume that it is available in all regions and providers?



  • Hi Abhishek

    Thanks a lot for the such an informative blog .

    We are following your blog in conjunction with the content agent user guide (link given below) to setup CTS+ for CPI tenants running in cloud foundry .

    We have created the necessary destinations ContentAssemblyService , CloudIntegration and , ChangeManagementSystem .

    But when we click transport in the CPI package we are getting error " unable to export mtar file . check destination configuration" .

    It does not show exactly which destination has error . The check connection results for all the 3 destinations is +ive (only that for assembly & Integration destinations we get 401 unauthorized error)

    How can we check which destination has an issue here .

    thanks and regards


    • Hi Saket,


      It's not uncommon to get 401 unauthorized sometimes even for valid destinations with valid credentials.

      I would suggest you check the same credentials against another destination that you know is working and also check the recommended authorizations.

      Checking your cloud connector configuration should also be helpful.




  • Hi Abhishek

    We have checked the destinations and we are not able to find out which of the 3 destinations is responsible for the error when go to Transport option

    The ChangeManagementSystem destination configuration also as per below URL seems erroneous as it does not clearly indicate which URL to be given "Provide the URL from the service key details" - does this mean the content agent service key URL


    should we use proxy as on-premise and give the URL for CTS+ system sing the public  hostname as defined in cloud connector .

    Also as indicated in this blog when we choose proxy as Internet we DO NOT get option for Location ID