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

# Installation

## System Requirements

The TechWolf Skill Sync integration will make use of existing Degreed
functionality. The customer will need a TechWolf contract with a live TechWolf
tenant.

This TechWolf tenant must be populated with (a subset of) the worker's entities
in Degreed.

## Degreed Configuration

A Degreed API key must be configured in the Degreed tenant with the appropriate
scopes for skill synchronization. The integration follows the steps outlined in
the
[Degreed Getting Started with the API](https://developer.degreed.com/docs/getting-started-with-the-api)
and [Authentication Guide](https://developer.degreed.com/docs/authentication)
documentation.

## API URL Configuration

The API base URL depends on your environment (betatest or production) and data
center (US, EU, or CA):

| Data Center | Environment | API Base URL                           |
| ----------- | ----------- | -------------------------------------- |
| US          | Betatest    | `https://api.betatest.degreed.com/`    |
| US          | Production  | `https://api.degreed.com/`             |
| EU          | Betatest    | `https://api.eu.betatest.degreed.com/` |
| EU          | Production  | `https://api.eu.degreed.com/`          |
| CA          | Production  | `https://api.ca.degreed.com/`          |

## Token Endpoint Configuration

The OAuth token endpoint URL depends on your environment and data center:

### degreed.com Domain

| Data Center | Environment | Token URL                                     |
| ----------- | ----------- | --------------------------------------------- |
| US          | Betatest    | `https://betatest.degreed.com/oauth/token`    |
| US          | Production  | `https://degreed.com/oauth/token`             |
| EU          | Betatest    | `https://eu.betatest.degreed.com/oauth/token` |
| EU          | Production  | `https://eu.degreed.com/oauth/token`          |
| CA          | Betatest    | `https://ca.betatest.degreed.com/oauth/token` |
| CA          | Production  | `https://ca.degreed.com/oauth/token`          |

### degreed.app Domain

| Data Center | Environment | Token URL                                                     |
| ----------- | ----------- | ------------------------------------------------------------- |
| US          | Betatest    | `https://<your-organization>.beta.degreed.app/oauth/token`    |
| US          | Production  | `https://<your-organization>.degreed.app/oauth/token`         |
| EU          | Betatest    | `https://<your-organization>.eu.beta.degreed.app/oauth/token` |
| EU          | Production  | `https://<your-organization>.eu.degreed.app/oauth/token`      |
| CA          | Betatest    | `https://<your-organization>.ca.beta.degreed.app/oauth/token` |
| CA          | Production  | `https://<your-organization>.ca.degreed.app/oauth/token`      |

<Warning>
  The access token base URL is not the same as the API base URL used to submit
  requests.
</Warning>

## API Key Setup

Follow these steps to create an API key for the TechWolf Skills integration.
These steps follow the process outlined in the
[Degreed Getting Started with the API](https://developer.degreed.com/docs/getting-started-with-the-api)
documentation.

<Info>
  You must be a Technical Admin with the "Manage API Keys" permission to
  create API keys in Degreed. If you don't have this permission, contact your
  Degreed Technical Solutions Specialist.
</Info>

### 1. Log in to Degreed

Access your Degreed tenant using your administrator credentials.

### 2. Access Admin View

In the left sidebar menu at the bottom, press "Show admin view" to access
administrative functions.

<img src="https://mintcdn.com/techwolf/w68oYDhSey0cgE3F/integrations/degreed-skill-sync-integration/images/degreed-home.png?fit=max&auto=format&n=w68oYDhSey0cgE3F&q=85&s=4a234292514ec1f6c023c3e6f2e06e94" alt="Show Admin View" width="3378" height="1672" data-path="integrations/degreed-skill-sync-integration/images/degreed-home.png" />

### 3. Navigate to API Keys

In the integrations menu item, go to "API keys" to access the API key management
interface.

<img src="https://mintcdn.com/techwolf/w68oYDhSey0cgE3F/integrations/degreed-skill-sync-integration/images/degreed-integrations-api-keys.png?fit=max&auto=format&n=w68oYDhSey0cgE3F&q=85&s=3142456aacd03f77e8e0769cc4b40e80" alt="Integrations API Keys" width="3402" height="1866" data-path="integrations/degreed-skill-sync-integration/images/degreed-integrations-api-keys.png" />

### 4. Create New API Key

Press "Create new" to start the API key creation process.

<img src="https://mintcdn.com/techwolf/w68oYDhSey0cgE3F/integrations/degreed-skill-sync-integration/images/degreed-api-keys.png?fit=max&auto=format&n=w68oYDhSey0cgE3F&q=85&s=4216ca71a8e60d1a57455016d0cdf9a9" alt="Create New API Key" width="3390" height="1900" data-path="integrations/degreed-skill-sync-integration/images/degreed-api-keys.png" />

### 5. Configure API Key

Give your API key a memorable name and select the scopes required for this
integration to work:

* `user_skills:read`
* `user_skills:write`
* `skill_ratings:read`
* `skill_ratings:write`

<img src="https://mintcdn.com/techwolf/w68oYDhSey0cgE3F/integrations/degreed-skill-sync-integration/images/degreed-new-api-key-1.png?fit=max&auto=format&n=w68oYDhSey0cgE3F&q=85&s=f0319cd5e48f16dbfe208fe0c7b8de5f" alt="API Key Configuration 1" width="3408" height="1904" data-path="integrations/degreed-skill-sync-integration/images/degreed-new-api-key-1.png" />

<img src="https://mintcdn.com/techwolf/w68oYDhSey0cgE3F/integrations/degreed-skill-sync-integration/images/degreed-new-api-key-2.png?fit=max&auto=format&n=w68oYDhSey0cgE3F&q=85&s=2ffcd5646db046f427f90e84f659be11" alt="API Key Configuration 2" width="3392" height="1896" data-path="integrations/degreed-skill-sync-integration/images/degreed-new-api-key-2.png" />

<Warning>
  When creating API keys, use minimal viable scopes. These scopes indicate the
  endpoints accessible to access tokens created with the API key. As a general
  data security principle, Degreed recommends using a minimal number of scopes
  to enable your integration work to succeed.
</Warning>

### 6. Secure Credentials

Note down the client secret securely - you will only be able to see this once.
Also note down the client ID for future reference.

<img src="https://mintcdn.com/techwolf/w68oYDhSey0cgE3F/integrations/degreed-skill-sync-integration/images/degreed-api-key-details.png?fit=max&auto=format&n=w68oYDhSey0cgE3F&q=85&s=537f2e920e64ccd10fb01e75adce75c5" alt="API Key Credentials" width="3376" height="1896" data-path="integrations/degreed-skill-sync-integration/images/degreed-api-key-details.png" />

<Warning>
  The client secret is only displayed once during API key creation. Make sure
  to store it securely as it cannot be retrieved later. If lost, you will need
  to create a new API key.
</Warning>

## TechWolf Configuration

The TechWolf tenant will be configured by TechWolf itself.

1. In the integration service on the TechWolf side, TechWolf adds the
   credentials of the customer-created API key. For this, the customer will need
   to share the following values with TechWolf:
   * The API base URL (see the API URL Configuration section)
   * The OAuth token endpoint URL (see the Token Endpoint Configuration section)
   * The client ID and client secret of the API key (see Step 6 of the API Key
     Setup section)
   * A test Employee ID for validation testing

2. TechWolf adds TechWolf API credentials with correct scopes to have access to
   the TechWolf API and links that TechWolf tenant to the Degreed tenant.

3. TechWolf validates API access by adding and removing a skill and proficiency
   for the test Employee.

4. TechWolf runs an initial sync of user profiles with the TechWolf API and sets
   up the tenant configuration to start the sync process.

## Configuration Options

### Sync Direction Settings

The integration supports three sync direction options:

* **Bidirectional** (`bidirectional`): Two-way sync between TechWolf and Degreed
  (default)
* **To TechWolf** (`to_techwolf`): Skills flow from Degreed to TechWolf only
* **To External** (`to_external`): Skills flow from TechWolf to Degreed only

### Merge Strategy Options

* **Merge Systems** (`merge_systems`): Combines skills from both systems,
  TechWolf takes precedence
* **Push TechWolf** (`push_techwolf`): Replaces all Degreed skills with TechWolf
  data
* **Push External** (`push_external`): Replaces all TechWolf skills with Degreed
  data

### Proficiency Scale Configuration

* **Configurable**: N-point scale (1-N), where N is an integer corresponding to
  the customer's Degreed setup
* **Setting**: `degreed_maximum_proficiency_level` tenant configuration
* **Note**: Scales always start at 1, not at 0

### User Identifier Types

* **Employee ID** (`employee-id`): Customer-defined identifier (default)
  * Uses the `employee_id` field from API responses
  * Customer-defined identifier that matches between systems
* **User ID** (`user-id`): Degreed-generated identifier
  * Uses the `user_id` field from API responses
  * Degreed's internal user identifier

## Deployment Tasks & Responsibilities

1. **TechWolf**: Setup Skill Sync environment and tenant requirements
2. **Customer**: Create API key based on workflow described above.
3. **Customer**: Share API key credentials with TechWolf:
   * Client ID
   * Client Secret
   * Token URL (OAuth endpoint)
   * API URL (API base URL)
   * Test Employee ID (for validation testing)
4. **TechWolf**: Validate API access by adding and removing a skill and
   proficiency for the test Employee
5. **TechWolf**: Run initial sync of user profiles with TechWolf API.
6. **TechWolf**: Setup tenant configuration and start sync process based on
   configured direction.
7. **Customer**: Check end-user test scenarios.
