- Getting started
- Notifications
- Licensing
- Troubleshooting
- Connector Builder
- Act! 365
- ActiveCampaign
- Active Directory - Preview
- Adobe Acrobat Sign
- Adobe PDF Services
- Amazon Bedrock
- Amazon Connect
- Amazon Polly
- Amazon SES
- Amazon Transcribe
- Amazon Web Services
- Anthropic Claude
- Asana
- AWeber
- Azure AI Document Intelligence
- Azure Defender for Cloud
- Azure Maps
- BambooHR
- Box
- Brevo
- Calendly
- Campaign Monitor
- Cisco Webex Teams
- Citrix Hypervisor
- Citrix ShareFile
- Clearbit
- Confluence Cloud
- Constant Contact
- Coupa
- About the Coupa connector
- Coupa authentication
- Coupa events
- CrewAI – Preview
- Customer.io
- Database Hub - Preview
- Databricks Agent
- Datadog
- DeepSeek
- Deputy
- Discord - Preview
- DocuSign
- Drip
- Dropbox
- Dropbox Business
- Egnyte
- Eventbrite
- Exchangerates
- Exchange Server - Preview
- Expensify
- Facebook
- Freshbooks
- Freshdesk
- Freshsales
- Freshservice
- GetResponse
- GitHub
- Gmail
- Google Cloud Platform
- Google Docs
- Google Drive
- Google Forms - Preview
- Google Maps
- Google Sheets
- Google Speech-to-Text
- Google Text-to-Speech
- Google Tasks - Preview
- Google Vertex
- Google Vision
- Google Workspace
- GoToWebinar
- Greenhouse
- Hootsuite
- HTTP
- HTTP Webhook
- Hubspot CRM
- HubSpot Marketing
- HyperV - Preview
- Icertis
- iContact
- Insightly CRM
- Intercom
- Jina.ai
- Jira
- Keap
- Klaviyo
- LinkedIn
- Mail
- Mailchimp
- Mailgun
- Mailjet
- MailerLite
- Marketo
- Microsoft 365
- Microsoft Azure
- Microsoft Azure Active Directory
- Microsoft Azure AI Foundry
- Microsoft Azure OpenAI
- Microsoft Azure Sentinel
- Microsoft Dynamics 365 CRM
- Microsoft OneDrive & Sharepoint
- Microsoft Outlook 365
- Microsoft Power Automate – Preview
- Microsoft Sentiment
- Microsoft Sentinel Threat Intelligence
- Microsoft Teams
- Microsoft Translator
- Microsoft Vision
- Miro
- NetIQ eDirectory
- Nvidia NIM
- Okta
- OpenAI
- OpenAI V1 Compliant LLM
- Oracle Eloqua
- Oracle NetSuite
- PagerDuty
- PayPal
- PDFMonkey
- Perplexity
- Pinecone
- Pipedrive
- QuickBooksOnline
- Quip
- Salesforce
- Salesforce AgentForce & Flows – Preview
- Salesforce Marketing Cloud
- SAP BAPI
- SAP Cloud for Customer
- SAP Concur
- SAP OData
- SendGrid
- ServiceNow
- Shopify
- Slack
- SmartRecruiters
- Smartsheet
- Snowflake
- Snowflake Cortex
- Stripe
- Sugar Enterprise
- Sugar Professional
- Sugar Sell
- Sugar Serve
- System Center - Preview
- TangoCard
- Todoist
- Trello
- Twilio
- UiPath Apps - Preview
- UiPath Data Fabric – Preview
- UiPath GenAI Activities
- UiPath Orchestrator
- X (formerly Twitter)
- Xero
- watsonx.ai
- WhatsApp Business
- WooCommerce
- Workable
- Workday
- Workday REST
- VMware ESXi vSphere
- YouTube
- Zendesk
- Zoho Campaigns
- Zoho Desk
- Zoho Mail
- Zoom
- ZoomInfo
Integration Service user guide
Prerequisites
To create a connection, you need the following credentials:
- OAuth 2.0 Client Credentials: Site URL, Client ID, Secret, Scope
- Custom: Site Url, Api key
Creating an OAuth connection
To obtain the necessary credentials for an OAuth connection, log in to Coupa as an integrations-enabled administrator to create a client using a Client credentials grant type.
- Log in to your Coupa instance and select the Setup button in the upper-right corner of the interface.
- Scroll to the Integrations section and select Oauth2/OpenID Connect Clients.
- Select Create.
Add the Coupa connection
-
Select Orchestrator from the product launcher.
-
Select a folder, and then navigate to the Connections tab.
-
Select Add connection.
-
To open the connection creation page, select the connector from the list. You can use the search bar to find the connector.
-
Select your preferred authentication type.
-
Enter the required credentials and select Connect.
For any secret-type field, you can select the menu next to the field and choose Use credential asset to reference an Orchestrator credential asset linked to an external vault instead of entering the value directly. For more information, see Use credential assets for connections.
Scopes
The following Scopes are required for any connection and are automatically selected: email login offline_access openid profile core.common.read.
Depending on your needs, you can select other scopes from the available multiple-selection list. The following table lists all the scopes you may need when interacting with Coupa objects.
| Object | Operation | Scopes |
|---|---|---|
accounts | GET /accounts POST/accounts GET/accounts PUT/accounts | core.accounting.read core.accounting.write |
approvals | GET/approvals GET/approvals/{id} | core.approval.read |
budget_lines | GET /budget_lines GET /budget_lines/{id} | core.budget.read |
cancel_purchaseorders | PUT/close_purchaseorders/{id} | core.purchase_order.write |
close_purchaseorders | PUT/close_purchaseorders/{id} | core.purchase_order.write |
contracts | GET/contracts/{contractId}/attachments GET/contracts/{contractId}/attachments/{attachmentId} | core.contract.read |
contracts/{contractId}/retrieve_legal_agreement | GET/contracts/{contractId}/retrieve_legal_agreement | core.contract.read |
expense_lines | GET/expense_lines GET/expense_lines/{id} | core.expense.read |
expense_reports | GET/expense_reports GET/expense_reports/{id} | core.expense.read |
inventory_transactions | GET/inventory_transactions POST/inventory_transactions GET/inventory_transactions/{id} | core.inventory.adjustment.read core.inventory.adjustment.write core.inventory.asn.read core.inventory.balance.read core.inventory.common.read core.inventory.consumption.read core.inventory.consumption.write core.inventory.receiving.read core.inventory.receiving.write core.inventory.transfer.read core.inventory.transfer.write |
invoices | GET/invoices POST/invoices GET/invoices/{id} PATCH/invoices/{id} | core.invoice.approval.bypass core.invoice.approval.write core.invoice.create core.invoice.delete core.invoice.read core.invoice.write |
issue_purchaseorders | PUT/issue_purchaseorders/{id} | core.purchase_order.write |
items | GET/items, POST/items GET/items/{id} PATCH/items/{id} | |
purchase_order_changes | GET/purchase_order_changes GET/purchase_order_changes/{id} | core.purchase_order.read |
purchase_order_lines | GET/purchase_order_lines GET/purchase_order_lines/{id} | core.purchase_order.read |
purchase_orders | GET/purchase_orders GET/purchase_orders/{id} PATCH/purchase_orders/{id} | core.purchase_order.read core.purchase_order.write |
quote_requests | GET/quote_requests POST/quote_requests GET/quote_requests/{id} PUT/quote_requests/{id} | |
requisitions | GET/requisitions POST/requisitions GET/requisitions/{id} PATCH/requisitions/{id} | core.requisition.read core.requisition.write |
suppliers | GET/suppliers POST/suppliers GET/suppliers/{id} PUT/suppliers/{id} | core.supplier.read core.supplier.write |
user_groups | GET /user_groups POST /user_groups GET /user_groups/{id} PATCH / user_groups/{id} | core.user_group.read core.user_group.write |
users | GET /users POST /users GET /users/{id} PUT / users/{id} | core.user.read core.user.write |