Coupa

Business spend management — automate procurement, approvals, purchase orders, and ERP integrations with the Coupa Core API.
Connect it
In Keystile Automations → Connections → New connection, choose Coupa and sign in. Your AI tools and workflows then use it through Keystile; they never see the password or key.How connecting works.
Try it from your AI tool
Using Keystile, in Coupa: add file attachment to object (Adds an attachment (an uploaded file or a link) to a Purchase Order, Supplier, or Contract in Coupa).What it can do (13 actions)
| Action | What it does | Changes data |
|---|---|---|
| Add File Attachment to Object | Adds an attachment (an uploaded file or a link) to a Purchase Order, Supplier, or Contract in Coupa. | |
| Cancel Purchase Order | Cancels a purchase order using `PUT /api/purchase_orders/:id/cancel`. | |
| Close Purchase Order | Closes a purchase order using `PUT /api/purchase_orders/:id/close`. | |
| Create Object | Creates a record in the selected Coupa module (Purchase Orders, Suppliers, or Contracts). | |
| Custom Action | Make a custom API call to any Coupa endpoint (Purchase Orders, Suppliers, Contracts, or other resources). | Yes |
| Get Object by ID | Retrieves a single record by ID from Purchase Orders, Suppliers, or Contracts. | |
| Get Remit-To Addresses by Object ID | Lists remit-to addresses for a Supplier or resolves the supplier from a Purchase Order. | |
| Get Supplier Sites by Supplier | Lists supplier sites for a supplier (`GET /api/suppliers/:id/supplier_sites`). | |
| Grant Approval | Approves a pending approval in Coupa (e.g. a requisition or purchase order awaiting your decision). Pick the approval from the dropdown. | |
| Reject Approval | Rejects a pending approval in Coupa (e.g. a requisition or purchase order awaiting your decision). Pick the approval from the dropdown. | |
| Search Objects (Batch) | Searches records in a Coupa module with pagination (50 per page) and returns standardized fields. | |
| Set Integration Run Status | Updates an integration run status (`run`, `success`, `fail`, `pause`, or `pending`). | |
| Update Object | Updates a record by ID in the selected Coupa module (Purchase Orders, Suppliers, or Contracts). |
Start a workflow when… (1 triggers)
- New or Updated Object — Triggers when a Purchase Order, Supplier, or Contract is created or updated in Coupa.
How Keystile protects it
Every Coupa action is checked before it runs, whether it comes from an AI tool or a workflow. 1 of its actions change data; your rules, limits and budgets decide whether each is allowed, held for a person or stopped, and it all goes into the signed record.
Use Coupa with your AI assistant — safelyClaude, Cursor or ChatGPT do the work; Keystile checks every action first.
Get early access