
MuleSoft Coupa Connector by AcquisLink®
AcquisLink's Anypoint Connector for Coupa provides comprehensive support for the REST APIs exposed by Coupa's Platform. This connector enables organizations to accelerate their system integration efforts between Coupa and enterprise target systems including ERP, HRIS, CLM, ITSM, and other financial applications.
MuleSoft maintains this connector under the Certified Support Policy. Additional Coupa connector details can be found on the Mule Exchange Site
Requirements
Prerequisites
This document requires familiarity with Mule, Anypoint Studio, Anypoint Core Components and Mule Flow Design Center.
Hardware + software
For complete hardware and software requirements, please visit the Hardware and Software Requirements page.
Compatability
This connector requires Mule Runtime version 4.1.x and higher.
Prerequisites
This document requires familiarity with Mule, Anypoint Studio, Anypoint Core Components and Mule Flow Design Center.
Hardware + software
For complete hardware and software requirements, please visit the Hardware and Software Requirements page.
Compatability
This connector requires Mule Runtime version 4.1.x and higher.


Installing the connector
You can install the connector in Anypoint Studio using the instructions in Installing a Connector from Anypoint Exchange.
Configuration fields
To use the Coupa connector in your Mule application, you must configure a global Coupa element that can be used by the connector. The Coupa connector requires the following credentials for OIDC (OpenID Connect) authentication:
Coupa API Key: This option is deprecated. Use OIDC client credentials instead.
Instance: Your Coupa instance URL
Example:https://{instance_name_base}.coupahost.comOIDC Client ID: Client ID retrieved from your Coupa admin or Integration Architect, required for OIDC authentication
OIDC Secret: Client secret retrieved from your Coupa admin or Integration Architect, required for OIDC authentication
OIDC Scope: List of scopes applied on client credentials for OIDC authentication
Where to get credentials
Generate client credentials on your Coupa instance at: https://{instance_name}/oauth2/clients
Reference documentation: Get started with the Coupa API
Important configuration notes
core.user.readis a mandatory scope required to complete test connection successfully with OIDC authenticationMultiple OIDC scopes can be separated with one of the following delimiters: Comma, Space, or %20
Examples
core.invoice.read,core.purchase_order.read,core.user.read
core.invoice.read, core.purchase_order.read, core.user.read
core.invoice.read core.purchase_order.read core.user.read
core.invoice.read%20core.purchase_order.read%20core.user.read
How to get an invoice
This example shows how to retrieve an invoice from Coupa using the connector:
In Anypoint Studio, click File > New > Mule Project, name the project, and click OK
In the Mule Palette, click on the "HTTP" group and select the Listener component. Drag and drop it into the flow designer
Create a configuration for the HTTP listener by clicking on it and pressing the green plus icon to add a new configuration
Leave the defaults and click OK
Set the Path value to "show-invoice"
In the Mule Palette, click on the "Coupa" group and drag Get into the flow designer. Create a new configuration and enter your Coupa Instance, OIDC Client ID, OIDC Client Secret, OIDC Scope, and TLS Configuration
In the Coupa General section, select Invoice (invoice) as the Object type and enter 1 (or any valid invoice ID) in the ID field
Make a CURL request to
http://localhost:8081/show-invoiceto retrieve the invoice


Error handling
The connector might generate different types of errors while using it in flows. It is best practice to develop strategies for every error type using the Error Handling components.
COUPA:CONNECTIVITY- Connection issuesCOUPA:EXECUTION- Operation failuresCOUPA:INVALID_AUTH- Authentication problemsCOUPA:INVALID_PARAMS- Invalid parameters
Configuring custom fields
Add custom fields in the Custom Metadata tab of your Coupa Global Configuration to work with organization-specific data.
Supported types: String, Date, Date_Time, Integer, Double, Float, Long, Decimal, Boolean, Reference
Example configuration:
some-custom-field,String; other-custom-field,Date_Time; custom-reference-field,Reference:user

Stay on top of what’s new
Release notes | Version 5.0.0
Upgraded application to be compatible with Java 17
Upgraded dependent libraries for Java 17 compatibility
Improved general stability with latest release
Added TLS Context as parameter


