User-Provided Service

Page last updated:

This topic explains how to create a user-provided service for Pivotal Platform.


An Pivotal Platform developer can call your service from their app code, even if the service runs outside of Pivotal Platform and has no service broker. Use cases for this include:

  • Your software is available as a SaaS.

  • You already have a way to install your software on-premises at a customer site.

  • Your customer already uses your software, is now adopting Pivotal Platform, and wants to consume your software from apps that they deploy on Pivotal Platform.

This do-it-yourself solution represents the lowest level of Pivotal Platform service integration. It works only for services running external to Pivotal Platform, and does not publish the services to the Services Marketplace or make them available to anyone outside the space of the developer who runs these commands. For more information, see User-Provided Service Instances.

Running apps with a user-provided service is a great way to determine what information needs to be passed in the credential structure (useful in higher integration levels), verify that the integration works, and develop a test app that can continue to be used at higher levels. From the app developer perspective, once a user-provided service works, later integrations of the service will not require any further code changes. User-provided service bindings are fully forward-compatible with brokered service bindings.

Using a User-Provided Service

To use an external service that has no tile:

  1. Create a service instance by running:

    cf create-user-provided-service YOUR-SERVICE-NAME -p CREDENTIALS


    • YOUR-SERVICE-NAME is the name of the service instance you want to create.
    • CREDENTIALS is a valid JSON string that contains the URL and credentials necessary to connect to your externally-deployed service.
  2. Bind the service instance to their app by running:

    cf bind-service

By doing this, app developers can bind their apps to your service and write all code necessary to access it through a Pivotal Platform service binding.