Skip to content
← Back to documentation
Technical Reference

Coupa

Business spend management, automate procurement, approvals, purchase orders, and ERP integrations with the Coupa Core API.

CategoryAccounting
Authenticationcustom
Version0.1.0
Published scopes0 published scopes
Last updatedSeptember 29, 2026

Overview

Connect Coupa with Flows360

Business spend management, automate procurement, approvals, purchase orders, and ERP integrations with the Coupa Core API.

Use the Coupa connector to include its declared actions and events in Flows360 workflows without duplicating the integration logic inside each consuming system. This pinned connector version currently exposes 13 actions and 1 trigger.

Available actions

  • Create Object
  • Update Object
  • Get Object by ID
  • Search Objects (Batch)
  • Cancel Purchase Order
  • Close Purchase Order
  • Add File Attachment to Object
  • Get Remit-To Addresses by Object ID
  • Plus 5 additional declared actions.

Available triggers

  • New or Updated Object

The capability list above is generated from the exact reviewed connector package so the public description stays aligned with the version Flows360 operates.

Technical guide

Technical reference

Package identity

  • Connector: Coupa
  • Package: @activepieces/piece-coupa@0.1.0
  • Exact artifact digest: sha256:851ba73b803ab79dd9d51666ad722922fd921c4f5e9f1500c48c992945d428ab
  • Runtime: Activepieces-compatible deterministic worker
  • Source: the exact reviewed Activepieces source

Authentication

CUSTOM AUTH. Connection values are tenant-specific and remain in the consuming Studio instance; CDK stores definitions and field metadata, not customer credential values.

Action contracts

  • Create Object (create_object), Creates a record in the selected Coupa module (Purchase Orders, Suppliers, or Contracts). Classification: read.
  • Update Object (update_object), Updates a record by ID in the selected Coupa module (Purchase Orders, Suppliers, or Contracts). Classification: read.
  • Get Object by ID (get_object_by_id), Retrieves a single record by ID from Purchase Orders, Suppliers, or Contracts. Classification: read.
  • Search Objects (Batch) (search_objects), Searches records in a Coupa module with pagination (50 per page) and returns standardized fields. Classification: read.
  • Cancel Purchase Order (cancel_purchase_order), Cancels a purchase order using PUT /api/purchase_orders/:id/cancel. Classification: read.
  • Close Purchase Order (close_purchase_order), Closes a purchase order using PUT /api/purchase_orders/:id/close. Classification: read.
  • Add File Attachment to Object (add_file_attachment_to_object), Adds an attachment (an uploaded file or a link) to a Purchase Order, Supplier, or Contract in Coupa. Classification: read.
  • Get Remit-To Addresses by Object ID (get_remit_to_addresses_by_object_id), Lists remit-to addresses for a Supplier or resolves the supplier from a Purchase Order. Classification: read.
  • Get Supplier Sites by Supplier (get_supplier_sites_by_supplier), Lists supplier sites for a supplier (GET /api/suppliers/:id/supplier_sites). Classification: read.
  • Grant Approval (grant_approval), Approves a pending approval in Coupa (e.g. a requisition or purchase order awaiting your decision). Pick the approval from the dropdown. Classification: read.
  • Reject Approval (reject_approval), Rejects a pending approval in Coupa (e.g. a requisition or purchase order awaiting your decision). Pick the approval from the dropdown. Classification: read.
  • Set Integration Run Status (set_integration_run_status), Updates an integration run status (run, success, fail, pause, or pending). Classification: read.
  • Custom Action (custom_action), Make a custom API call to any Coupa endpoint (Purchase Orders, Suppliers, Contracts, or other resources). Classification: read.

Trigger contracts

  • New or Updated Object, polling.

Verification

Runtime execution evidence is managed separately from package metadata.

Capability summary

Authenticationcustom
Supported objects14
Supported actionsNot published
TriggersNone published

Authentication

Authentication method: custom

Authentication profiles

connection · custom
  • Coupa Instance URL Required
  • Client ID Required · protected credential
  • Client Secret Required · protected credential
  • OAuth Scopes Required

Supported objects

ObjectReadWriteNotes
Create Object Yes No Creates a record in the selected Coupa module (Purchase Orders, Suppliers, or Contracts).
Update Object Yes No Updates a record by ID in the selected Coupa module (Purchase Orders, Suppliers, or Contracts).
Get Object by ID Yes No Retrieves a single record by ID from Purchase Orders, Suppliers, or Contracts.
Search Objects (Batch) Yes No Searches records in a Coupa module with pagination (50 per page) and returns standardized fields.
Cancel Purchase Order Yes No Cancels a purchase order using `PUT /api/purchase_orders/:id/cancel`.
Close Purchase Order Yes No Closes a purchase order using `PUT /api/purchase_orders/:id/close`.
Add File Attachment to Object Yes No Adds an attachment (an uploaded file or a link) to a Purchase Order, Supplier, or Contract in Coupa.
Get Remit-To Addresses by Object ID Yes No Lists remit-to addresses for a Supplier or resolves the supplier from a Purchase Order.
Get Supplier Sites by Supplier Yes No Lists supplier sites for a supplier (`GET /api/suppliers/:id/supplier_sites`).
Grant Approval Yes No Approves a pending approval in Coupa (e.g. a requisition or purchase order awaiting your decision). Pick the approval from the dropdown.
Reject Approval Yes No Rejects a pending approval in Coupa (e.g. a requisition or purchase order awaiting your decision). Pick the approval from the dropdown.
Set Integration Run Status Yes No Updates an integration run status (`run`, `success`, `fail`, `pause`, or `pending`).
Custom Action Yes No Make a custom API call to any Coupa endpoint (Purchase Orders, Suppliers, Contracts, or other resources).
New or Updated Object Yes No polling trigger declared by the pinned package.

Setup

Setup

  1. Add the Coupa connector to the workflow in the target Flows360 Studio instance.
  2. Create or select the tenant-specific connection required by the connector. Connection secrets remain in the Studio connection boundary and are not copied into CDK documentation.
  3. Provide the connection fields declared by the pinned package:
  • Coupa Instance URL (instanceUrl), required.
  • Client ID (clientId), required; stored as a sensitive connection value.
  • Client Secret (clientSecret), required; stored as a sensitive connection value.
  • OAuth Scopes (scope), required.
  1. Select the required action or trigger and complete its declared input fields. Required and optional inputs are defined by the exact package schema.
  2. Test the workflow in the appropriate environment before enabling production scheduling or event delivery.

Limitations

Limitations and operational notes

  • This content describes @activepieces/piece-coupa@0.1.0; provider behaviour can change independently and should be revalidated when the provider or connector version changes.
  • Only the 13 actions and 1 trigger declared by this pinned package are represented here.
  • Tenant credentials and connection values are not stored in the public connector record.
  • Provider-side permissions, account entitlements, quotas and rate limits remain subject to the connected provider account and are not inferred when the package does not declare them.
  • Runtime execution evidence is managed separately from package metadata.

Troubleshooting

Why canu2019t the connector authenticate?

Check the tenant connection in Studio and confirm every required Coupa connection field is present. Re-authorise OAuth-based connections if the provider token or consent has expired. Do not place credential values in CDK content or logs.

Why is an action or trigger unavailable?

Confirm that the workflow is using @activepieces/piece-coupa@0.1.0 and compare the requested capability with the declared action and trigger list for this version. A capability that is not declared by the pinned package should not be presented as supported.

What should I check after a provider-side change?

Revalidate authentication, required fields, action/trigger behaviour and provider documentation before publishing refreshed connector content or moving a new package version into production.