> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kombo.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Setup

Before we can get started with development, there's a bit of setup to do. Please follow the steps below carefully so that you won't have any issues down the line.

## Log into the dashboard

Log into the Kombo dashboard. You should have received an **invite via email** but if you didn't, **reach out** to your team members or to Kombo directly via Slack/Teams.

<img src="https://mintcdn.com/kombo/9TJBqob6QMYC_En3/images/lms-implementation-guide/dashboard-login.png?fit=max&auto=format&n=9TJBqob6QMYC_En3&q=85&s=3a1c68586df64e5af5770c5179681ea4" alt="Kombo dashboard" width="3010" height="1648" data-path="images/lms-implementation-guide/dashboard-login.png" />

## Scope configuration

<Note>
  The scope config allows you to set which models and properties will be included when reading data from Kombo. Additionally, when your customers create an integration, they will only be prompted to grant permission to read the properties included in your scope config.

  To understand more about this feature and how to use it to evoke a great first impression with customers, [read more in our docs](/lms/features/scopes).
</Note>

Go to the [scopes overview](https://app.kombo.dev/scope-config) and click on "**New config**" or "**Edit**" an existing one.

<img src="https://mintcdn.com/kombo/RMCQ9zn9NNE8CgGU/images/lms-implementation-guide/scope-config.png?fit=max&auto=format&n=RMCQ9zn9NNE8CgGU&q=85&s=5ca9282a3f13859f3703069c6f037c6c" alt="Scope configuration" width="3014" height="1646" data-path="images/lms-implementation-guide/scope-config.png" />

Select the data models that you need and click on "**Save**".

<img src="https://mintcdn.com/kombo/RMCQ9zn9NNE8CgGU/images/lms-implementation-guide/scope-select-models.png?fit=max&auto=format&n=RMCQ9zn9NNE8CgGU&q=85&s=cfee85a7a44f3ce115622af1e4b492fc" alt="Select data models" width="2984" height="1650" data-path="images/lms-implementation-guide/scope-select-models.png" />

## Integration configuration

Go to the [tools overview](https://app.kombo.dev/tools) and select/deselect all tools that you want to offer. You can change this at any time.

You can also select if you want to enable newly released tools; on average Kombo adds one tool per week.

<img src="https://mintcdn.com/kombo/9TJBqob6QMYC_En3/images/lms-implementation-guide/integration-config.png?fit=max&auto=format&n=9TJBqob6QMYC_En3&q=85&s=186b00097da22d0d6b18a6a6ae71fc7b" alt="Integration configuration" width="2990" height="1648" data-path="images/lms-implementation-guide/integration-config.png" />

## Set up a linked account for development

To call the API you always need to have a linked LMS account to pull and push data from. You can either use our built-in mock integration to get started quickly (recommended), or [get yourself a sandbox via a free trial](/lms/getting-started/sandbox-integrations).

To use our built-in sandbox, go to the [integrations tab](https://app.kombo.dev/integrations) and click on "**New integration**", selecting **Kombo Sandbox** as your tool.

<div>
  <img src="https://mintcdn.com/kombo/9TJBqob6QMYC_En3/images/lms-implementation-guide/create-sandbox.png?fit=max&auto=format&n=9TJBqob6QMYC_En3&q=85&s=2de84b75b9143024591dbc89f3aa484e" alt="Create sandbox integration" width="3002" height="1640" data-path="images/lms-implementation-guide/create-sandbox.png" />

  <img src="https://mintcdn.com/kombo/RMCQ9zn9NNE8CgGU/images/lms-implementation-guide/select-sandbox.png?fit=max&auto=format&n=RMCQ9zn9NNE8CgGU&q=85&s=f8268c7dea5d89471e4423f9f47bbcd3" alt="Select Kombo Sandbox" width="2990" height="1652" data-path="images/lms-implementation-guide/select-sandbox.png" />
</div>

What you see now is the so-called connection flow. Customers will see this UI when connecting their LMS to your product via Kombo. You can preview the various connection flows of the different tools on the [tools page](/lms/guides/implementing-new-tools#resources).

Click "**Continue**" and "**Set up integration**".

<img src="https://mintcdn.com/kombo/RMCQ9zn9NNE8CgGU/images/lms-implementation-guide/setup-integration.png?fit=max&auto=format&n=RMCQ9zn9NNE8CgGU&q=85&s=ba9fb001df9805d9a32006a6683a8262" alt="Set up integration" width="2680" height="1556" data-path="images/lms-implementation-guide/setup-integration.png" />

**Click** on the tile that just appeared to get to the details page of the integration.

<img src="https://mintcdn.com/kombo/9TJBqob6QMYC_En3/images/lms-implementation-guide/integration-tile.png?fit=max&auto=format&n=9TJBqob6QMYC_En3&q=85&s=8a78737a59772f4289a8021eeecca579" alt="Integration tile" width="2400" height="806" data-path="images/lms-implementation-guide/integration-tile.png" />

On this page, you can find all info related to the integration. For now, you will only need the integration ID.

<img src="https://mintcdn.com/kombo/9TJBqob6QMYC_En3/images/lms-implementation-guide/integration-details.png?fit=max&auto=format&n=9TJBqob6QMYC_En3&q=85&s=1fced246097fcd8ce303f8707dd4fd8b" alt="Integration details" width="2412" height="1134" data-path="images/lms-implementation-guide/integration-details.png" />

## Set up webhooks

Webhooks are a fundamental part of your Kombo implementation. There are multiple different webhook types for different purposes (you can find all of them [here](/lms/guides/webhooks)) but setting them up always works the same:

Go to the [webhooks tab](https://app.kombo.dev/configuration/webhooks).

<img src="https://mintcdn.com/kombo/RMCQ9zn9NNE8CgGU/images/lms-implementation-guide/webhooks-tab.png?fit=max&auto=format&n=RMCQ9zn9NNE8CgGU&q=85&s=e7edae0d139b179cf1fcf49e83fbec51" alt="Webhooks tab" width="3008" height="1648" data-path="images/lms-implementation-guide/webhooks-tab.png" />

Create a webhook, give it a descriptive label, enter the URL, and select the desired type.

<img src="https://mintcdn.com/kombo/9TJBqob6QMYC_En3/images/lms-implementation-guide/create-webhook.png?fit=max&auto=format&n=9TJBqob6QMYC_En3&q=85&s=368faba4376399579db127f5651b4a18" alt="Create webhook" width="3006" height="1638" data-path="images/lms-implementation-guide/create-webhook.png" />

Send a test webhook by clicking the test button.

<img src="https://mintcdn.com/kombo/RMCQ9zn9NNE8CgGU/images/lms-implementation-guide/test-webhook.png?fit=max&auto=format&n=RMCQ9zn9NNE8CgGU&q=85&s=e2beba838677f5781d23809d077585fb" alt="Test webhook" width="3012" height="1650" data-path="images/lms-implementation-guide/test-webhook.png" />

<Note>
  Later on in this guide, we will talk more about the most important types of
  webhooks, but you can find an all-encompassing overview on our [webhooks
  page](/lms/guides/webhooks).
</Note>

## Create Kombo API key

Go to the [Secrets tab](https://app.kombo.dev/secrets) and click on "**New API key**".

<img src="https://mintcdn.com/kombo/RMCQ9zn9NNE8CgGU/images/lms-implementation-guide/secrets-tab.png?fit=max&auto=format&n=RMCQ9zn9NNE8CgGU&q=85&s=470144dbe552475558582cfc554fd2bb" alt="Secrets tab" width="3006" height="1644" data-path="images/lms-implementation-guide/secrets-tab.png" />

Name the API key and click "**Create API key**".

<img src="https://mintcdn.com/kombo/9TJBqob6QMYC_En3/images/lms-implementation-guide/create-api-key.png?fit=max&auto=format&n=9TJBqob6QMYC_En3&q=85&s=93131e4186f03df3baaa1f026d7c389d" alt="Create API key" width="400" data-path="images/lms-implementation-guide/create-api-key.png" />

Copy the token and store it somewhere safe.

<img src="https://mintcdn.com/kombo/9TJBqob6QMYC_En3/images/lms-implementation-guide/copy-api-key.png?fit=max&auto=format&n=9TJBqob6QMYC_En3&q=85&s=32ffbb7614d81646ef5071a36db64296" alt="Copy API key" width="450" data-path="images/lms-implementation-guide/copy-api-key.png" />

## Test your setup

You made it through the setup and have everything in place to get started developing!

To verify you set up the sandbox integration and API key correctly, try the following HTTP request to the ["get integration details"-endpoint](/lms/v1/get-integrations-integration-id):

```bash theme={null}
curl --request GET \
  --url https://api.kombo.dev/v1/integrations/{integration_id} \
  --header 'Authorization: <api_key>'
```

You can also use any other endpoint like ["get courses"](/lms/v1/get-courses) or ["get course progressions"](/lms/v1/get-course-progressions). The Sandbox integration will return you some sample data for it.

<Tip>
  **Tip:** You can use our [official server-side SDKs](/libraries-and-sdks) to
  interact with the Kombo API in an ergonomic and type-safe manner. Check if
  your tech stack is already supported!
</Tip>

## Optional: set up Postman collection

To make development easier, we recommend setting up a Postman collection. It takes only one minute and can be done like this:

* **Copy** the link of our OpenAPI schema:

  ```bash theme={null}
  https://api.kombo.dev/openapi.json
  ```

* Open Postman, and click **Import**

  <img src="https://mintcdn.com/kombo/RMCQ9zn9NNE8CgGU/images/lms-implementation-guide/postman-import.png?fit=max&auto=format&n=RMCQ9zn9NNE8CgGU&q=85&s=54aa498d1b5cedbfc791c77971d8e687" alt="Postman import" width="2796" height="820" data-path="images/lms-implementation-guide/postman-import.png" />

* **Paste** the URL and click **Import**

  <img src="https://mintcdn.com/kombo/RMCQ9zn9NNE8CgGU/images/lms-implementation-guide/postman-url.png?fit=max&auto=format&n=RMCQ9zn9NNE8CgGU&q=85&s=73b193e1afaa3f59cbad42d60b856c2b" alt="Postman URL" width="450" data-path="images/lms-implementation-guide/postman-url.png" />

  <img src="https://mintcdn.com/kombo/RMCQ9zn9NNE8CgGU/images/lms-implementation-guide/postman-collection.png?fit=max&auto=format&n=RMCQ9zn9NNE8CgGU&q=85&s=f2084e920c15244eec071d045f6fc23c" alt="Postman Collection" width="500" data-path="images/lms-implementation-guide/postman-collection.png" />
