Connect Coupa to Claude, ChatGPT and Copilot
Coupa is a business spend management platform covering procurement, invoicing, expenses, payments, sourcing, contracts and supplier management. Procurement and AP teams use it to run requisitions and approvals, send purchase orders, match invoices and pay suppliers.
Nexatron's hosted MCP server is listed in Claude's connector directory. ChatGPT and Microsoft 365 Copilot add the same server as a custom MCP connector. Connect Coupa to your Nexatron workspace once, then ask from whichever assistant you use.
What you can ask
- What share of last quarter's spend was on purchase orders backed by a contract?
- How many invoices are on hold for price or quantity tolerance, and for which suppliers?
- What is the median time from requisition submit to PO issue for IT hardware this year?
- Which approvers have requisitions waiting more than three business days?
- How much did we spend with suppliers whose risk status is high in the last six months?
- Which contracts have consumed more than 80% of their maximum value?
- What percentage of invoices arrived through the supplier portal or cXML rather than PDF?
Questions read requisitions, purchase orders, invoices, suppliers, contracts and approvals.
Prerequisites
- A Nexatron workspace admin.
- A Coupa instance, and a Coupa administrator who can create an OAuth client.
- Nexatron access rules for what each person may ask (see below).
Admin setup
Nexatron reads the Coupa Core API (REST), secured with OAuth 2.0 and OpenID Connect, with a read-only client-credentials token and no per-person redirect.
- In Coupa, register an OIDC client with the client credentials grant and read scopes such as
core.invoice.read,core.purchase_order.readandcore.requisition.read. Read-only scopes limit the client to retrieving data. - In Nexatron, go to Knowledge ▸ Sources ▸ New connection and choose Coupa. Enter your Coupa instance host (for example
acme.coupahost.com) and the client ID and secret, and save. - Select Connect on the connection's page to obtain the token.
- Opt in to the shared connection with a stated reason, add access rules, then choose who can use it.
The governed shared connection
A Coupa client-credentials token represents the registered client and its scopes, not an individual Coupa user, so Coupa's content groups and user roles are not applied per person through the API. This connection is a governed exception, and people do not sign in to Coupa themselves.
- Your administrator opts in to a shared client with read scopes and a stated reason. The choice is audited.
- Nexatron's access rules narrow what each person may ask, for example by content group, business unit or commodity.
- Every answer says it came from a shared Coupa application, not the person's own login, and each use is audited under the person who asked.
First question to try
After you add Nexatron in Claude, ChatGPT or Copilot, ask:
Which contracts have consumed more than 80% of their maximum value?
The answer shows the query, source and definition, and says that it came from the shared Coupa application.
Permissions and masking
Because the connection is shared, Nexatron's rules under Settings ▸ Workspace ▸ Access (Access) are what limit each person. Add row rules and column masking before you turn the connection on for people. A question that would total, average or count a masked column is refused.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| The answer says it came from a shared Coupa application | Expected: a client-credentials token is not tied to a Coupa user. |
| Someone sees more than they should | Add or tighten row rules and column masking under Settings ▸ Workspace ▸ Access. |
Related
- Coupa on nexatron.io: what the connector covers
- Connect Claude: add Nexatron from Claude's connector directory
- Connect ChatGPT: add Nexatron as a custom connector
- Connect Microsoft 365 Copilot: a declarative agent or a Copilot Studio tool
- MCP reference: tools, OAuth scopes and errors