---
title: "Integration Setup"
slug: "integration-setup"
updated: 2025-09-15T09:30:35Z
published: 2025-09-15T09:30:35Z
canonical: "knowledge-base.rossum.ai/integration-setup"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://knowledge-base.rossum.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Integration Setup

The following article guides you through the Coupa integration setup. It consists of two mandatory parts: Coupa configuration and Rossum hook configuration.

## Configuring Coupa

The main prerequisite is to have a valid Coupa user with needed permissions (see OAuth 2.0 scopes). If you don't have a user with needed permission, ask your admin to create it.

> [!TIP]
> 💡 TIP
> 
> You can always (also) check the official documentation [OAuth 2.0 Getting Started with Coupa API](https://compass.coupa.com/en-us/products/total-spend-management-platform/integration-playbooks-and-resources/integration-knowledge-articles/oauth-2.0-getting-started-with-coupa-api)

1. Login to the Coupa web admin at URL `https://[example-company].coupacloud.com`
2. Go to the Setup, search for keyword `oauth` and click the one result **OAuth2/OpenID Connect Clients**

![](https://cdn.document360.io/1bb6f6bc-c04c-4ace-a1e8-8c4cfd3fbc98/Images/Documentation/Coupa%20Integration%20setup%2001.png)

1. Create a new Client and make sure that you have selected a Grant type with `Client Credentials` option and save it.

![](https://cdn.document360.io/1bb6f6bc-c04c-4ace-a1e8-8c4cfd3fbc98/Images/Documentation/Coupa%20Integration%20setup%2002.png)

1. Find the user prepared for the integration and note the values `Identifier` and `Secrets`. You will need it for every hook setup later

![](https://cdn.document360.io/1bb6f6bc-c04c-4ace-a1e8-8c4cfd3fbc98/Images/Documentation/Coupa%20Integration%20setup%2003.png)

1. For start, these scopes should work for basic integration `core.accounting.read, core.common.read, core.invoice.create, core.invoice.read, core.invoice.write, core.purchase_order.read, core.supplier.read` - you can copy and paste it exactly like this when using the Postman collection provided by Coupa

## Configuring Rossum

Coupa service (integration) is provided by Rossum.ai in the form of webhook. To start using Coupa (either imports or exports), follow these steps:

### Webhook in UI

1. Login to your Rossum account.
2. Navigate to **Extensions** → **My extensions**.
3. Click on **Create extension**.
4. Set the following fields:
  1. Name: `Coupa: Import/Export [what]`
  2. Trigger events: `Manual` (later also `Scheduled`)
  3. Extension type: `Webhook`
  4. URL (see [Import configuration](/help/docs/import-configuration) and [Export configuration](/help/docs/export-configuration))
  5. Token owner of the extension (typically a system user)
5. Click **Create the webhook**.
6. Fill `Configuration` (see [Import configuration examples](/help/docs/import-configuration) or [Export configuration examples](/help/docs/export-configuration))
7. Fill `Secrets` fields.

### Setting hook secrets schema (optional):

Optional step is it cannot be done via UI (but can be done either via API or via [prd deployment tool](/help/docs/sandboxes))

```json
{
  "type": "object",
  "properties": {
    "client_secret": {
      "type": "string",
      "minLength": 1,
      "description": "API OAuth Client secret"
    }
  },
  "additionalProperties": false
}
```

As a result of this change, it is easier to update the hook secrets (and to know what is in the secrets). You will see the following value in the hook secrets that can be easily modified:

```json
{
  "client_secret": "__change_me__"
}
```

## Initial test

You can invoke the webhook manually using **curl** (for example):

```bash
curl --location --request POST 'https://[company-example].rossum.app/api/v1/hooks/[hook-id]/invoke' \
--header 'Authorization: token [token]' \
--data ''
```

Then go to the Rossum Extension Logs and observe the content

## Available configuration options

> [!WARNING]
> 🚧 WORK IN PROGRESS 🚧
> 
> We're still working on this part and would love to hear your thoughts! Feel free to [share your feedback](https://github.com/rossumai/university/discussions) or [submit a pull request](https://github.com/rossumai/university/pulls). Thank you! 🙏

> [!WARNING]
> 💬 YOUR FEEDBACK MATTERS!
> 
> Help us keep this page accurate and useful. Select **Yes** or **No** below, then use the feedback form to propose a correction, ask for clarification, or request a new article.
