Shine a light on shadow apps

ConductorOne Docs

Coupa integration

ConductorOne provides identity governance for Coupa. Integrate your Coupa instance with ConductorOne to run user access reviews (UARs) and enable just-in-time access requests.


General availability. The Coupa integration is available to all ConductorOne users.


  • Sync user identities from Coupa to ConductorOne

  • Resources supported:

    • Groups
    • Roles
    • Licenses

Set up the Coupa integration

This task requires either the Integration Administrator or Super Administrator role in ConductorOne.

  1. In ConductorOne, open Admin and click Integrations > Coupa.

  2. If this is your first Coupa integration, the integration form opens automatically. Otherwise, click Add connector.

  3. Choose whether to add the new Coupa connector as a data source to an existing application (and select the app of your choice) or to create a new application.

    Do you SSO into Coupa using your identity provider (IdP)? If so, make sure to add the connector to the Coupa app that was created automatically when you integrated your IdP with ConductorOne, rather than creating a new app.

  1. Set the integration owner for this connector. You can manage the integration yourself, or choose someone else from the list of ConductorOne users. Setting multiple integration owners is allowed.

    A Coupa integration owner must have the following permissions:

    • Integration Administrator or Super Administrator role in ConductorOne
    • Admin access in Coupa - Full system access to setup and maintain the application
  1. Click Create and add details.

Next steps

  • If you are the integration owner, proceed to Integrate your Coupa instance for instructions on integrating Coupa with ConductorOne.

  • If someone else is the integration owner, ConductorOne will notify them by email that their help is needed to complete the integration.

Integrate your Coupa instance

A user with the Integration Administrator or Super Administrator role in ConductorOne and Admin access in Coupa must perform this task.

Step 1: Locate your Coupa domain

  1. Log into your Coupa control panel and copy the URL from your browser. We’ll use this in Step 4.

Step 2: Create an OAuth App

  1. In the Coupa control panel, click Setup.

  2. Search for “OAuth” and click OAuth2/OpenID Connect Clients.

  3. Click Create to create a new OAuth app.

  4. Fill out the OAuth app creation form as follows:

    • Select Grant type Client credentials.

    • Give your app a name, such as ConductorOne.

    • Leave JWKS URI field blank.

    • Enter the appropriate login and contact information for your organization.

    • Select scopes:

      To use ConductorOne to provision access in Coupa, select the following:

      • core.user_group.write
      • core.user.write
      • email
      • login
      • offline_access
      • openid
      • profile

      To use ConductorOne only to read Coupa data, select the following:

      • email
      • login
      • openid
      • profile
  5. At the bottom of the page click Save.

Step 3: Gather your Coupa credentials

  1. Open the OAuth2 app you just created. It will look like this:

  2. Copy and save the Identifier string. This is your client ID.

  3. Click Show/Hide to view your client secret. Copy and save the client secret.

We’ll use these credentials in Step 4.

Step 4: Add your Coupa credentials to ConductorOne

  1. In ConductorOne, open Admin and click Integrations > Coupa.

  2. In the list of connectors, locate and click on the name of the connector with the Not connected label.

  3. Find the Settings area of the page and click Edit.

  4. Enter your Coupa domain from Step 1 in the Domain field.

  5. Paste the client ID from Step 3 in the Client ID field.

  6. Paste the client secret from Step 3 into the Client secret field.

  7. Click Save.

  8. The connector’s label changes to Syncing, followed by Connected. You can view the logs to ensure that information is syncing.

That’s it! Your Coupa instance is now integrated with ConductorOne.

Configure the Coupa integration using Terraform

As an alternative to the integration process described above, you can use Terraform to configure the integration between Coupa and ConductorOne.

See the ConductorOne Coupa integration resource page in the ConductorOne Terraform registry for example usage and the full list of required and optional parameters.