Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.serval.com/llms.txt

Use this file to discover all available pages before exploring further.

About Coupa

Coupa is a business spend management platform for procurement, invoicing, expenses, and supplier workflows. Connecting Coupa to Serval lets your team build workflows that read from and write to Coupa through the Coupa API.

What the Coupa integration enables

CapabilityDescription
Procurement workflowsLook up requisitions, purchase orders, invoices, suppliers, users, and related procurement data based on the scopes you grant
Approval automationIncorporate Coupa approval and spend data into Serval workflows
Finance and operations workflowsRoute vendor access, license provisioning, cost center, and procurement-related requests through Serval
Anything available through your Coupa API client and selected OAuth scopes can be used from Serval workflows.

Coupa configuration

Prerequisites

Before connecting Coupa, make sure you have:
  • Admin or integration administrator access to your Coupa instance
  • Your Coupa instance hostname, such as acme.coupahost.com or acme.coupacloud.com
  • Permission to create an OAuth 2.0 / OpenID Connect client in Coupa
  • The Coupa scopes required for the workflows you plan to run
Serval uses Coupa’s OAuth 2.0 client credentials flow. You do not need to configure a redirect URL because this is a server-to-server integration.

Create an OAuth client in Coupa

1

Open OAuth client settings

In Coupa, go to Setup > Oauth2/OpenID Connect Clients. You can also open /oauth2/clients in your Coupa instance.
2

Create a client credentials app

Click Create, then set Grant Type to Client Credentials.Use a recognizable name, such as Serval Integration, and complete the required contact fields.
3

Choose scopes

Select the scopes Serval should be allowed to use.Coupa scopes use the format service.object.right, such as core.common.read or core.purchase_order.read. You can review available scopes in Coupa at /oauth2/scopes.
Start with the smallest set of scopes your workflows need. Include read scopes for any healthchecks you want to run, such as core.user.read, core.supplier.read, or core.purchase_order.read.
4

Save the client credentials

Save the client, then copy the generated Identifier and Secret. You will enter these values in Serval as the Client ID and Client Secret.
Store the secret securely. Coupa may not show it again after you leave the client details page.

Serval configuration

  1. In Serval, go to Apps > Available > Coupa > Connect
  2. Enter the following information:
    FieldDescription
    Instance URLYour Coupa hostname, such as acme.coupahost.com or acme.coupacloud.com. You can omit https:// and trailing slashes.
    Client IDThe Coupa OAuth client Identifier
    Client SecretThe Coupa OAuth client Secret
    ScopesThe OAuth scopes assigned to the Coupa client, such as core.user.read and any additional scopes required by your workflows
  3. Click Save
After the connection succeeds, Serval can request Coupa access tokens and use the Coupa API in workflows according to the scopes you granted.

Additional resources

Need help? Contact support@serval.com for assistance with your Coupa integration.