> ## 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.

# How It Works

## Data Flow

* Employee Skills are synchronized based on the configured sync direction and
  trigger mechanisms. TechWolf → Degreed updates are synchronized in real-time
  using a push strategy.
* Degreed → TechWolf updates are synced based on tenant configuration and
  system triggers. This means that all flows are initiated by TechWolf.

Employee skills synced by the Degreed Integration are tracked using the `source`
field in the
[Employee Skill Profile Feedback endpoint <Icon icon="link" iconType="solid" />](/reference/latest/Employees/EmployeeProfile/patch-employees-external-id-skill-profile)
payload, tagged as `"degreed-integration"`. To retrieve these sources in an
Employee's profile, use the query parameter `?include=sources` in the
[Employee Skill Profile Feedback endpoint <Icon icon="link" iconType="solid" />](/reference/latest/Employees/EmployeeProfile/patch-employees-external-id-skill-profile),
which returns the Skill's `source_event` with
`"event_type": "skill_profile_feedback"` and `"source": "degreed-integration"`.

In summary: TechWolf will access Degreed's REST API v2 to retrieve and update
skill data. TechWolf also synchronizes skill data from external sources and
skills from external systems performing skill harmonization.

## Sync Direction Configuration

The integration supports three sync direction options:

### Bidirectional Sync (Default)

* **Direction**: `bidirectional`
* **Behavior**: Two-way sync between TechWolf and Degreed

### Uni-directional Sync Options

#### Degreed → TechWolf Only

* **Direction**: `to_techwolf`
* **Behavior**: Skills flow from Degreed to TechWolf only

#### TechWolf → Degreed Only

* **Direction**: `to_external`
* **Behavior**: Skills flow from TechWolf to Degreed only

## Initial Load

The initial load occurs after the Degreed API key credentials are shared and set
up in TechWolf.

The TechWolf team ensures the initial batch of data is loaded into both systems,
starting a process on TechWolf's side.

During the initial data load, customers can choose between three synchronization
strategies:

1. **Merge Systems** (`merge_systems`): Combines skills from both Degreed and
   TechWolf systems. Skills present in Degreed but not in TechWolf will be
   synced to TechWolf, and vice versa. This preserves existing skill data in
   both systems. TechWolf takes precedence over Degreed in case of conflicting
   values.

2. **Push TechWolf** (`push_techwolf`): Replaces all skills in Degreed with the
   skill data from TechWolf. This strategy clears existing Degreed skills before
   importing TechWolf data.

3. **Push External** (`push_external`): Replaces all skills in TechWolf with the
   skill data from Degreed. This strategy clears existing TechWolf skills before
   importing Degreed data.

These synchronization strategies are automatically applied to any new Employees
that exist in both Degreed and TechWolf systems.

## Skill Validation in Degreed

When an employee provides feedback in Degreed, for example, adds "Machine
Learning" and removes "Data Analysis", the changes are reflected in TechWolf
accordingly. The changes are synchronized based on the configured sync direction
and trigger mechanisms.

## Proficiency Scale Configuration

Degreed supports configurable proficiency scales:

* **Default**: 8-point scale (1-8)
* **Configurable**: N-point scale (1-N), where N is an integer corresponding to the customer's Degreed setup
* **Configuration**: Set via `degreed_maximum_proficiency_level` tenant
  setting

You can find out on what scale your Degreed environment is operating by doing the following steps:

1. Navigate to your own profile on Degreed;
2. Go to one of your skills and click on its proficiency level;
3. Click on e.g. self-rating, add rating;
4. Click on the change rating dropdown menu and scroll down;
5. The highest available proficiency level will now be visible.

## User Identifier Configuration

The integration supports two 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

This configuration determines how employees are matched between TechWolf and
Degreed systems.
