> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.sfcodebot.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# LMS Scramble Tool in CodeBot

## Overview

The **LMS Scramble Tool** in CodeBot is designed to anonymize (scramble) Email Address Data Fields in Learning Management System (LMS). It allows users to:

* Target a specific set of LMS users using search criteria tab
* Replace Email values with either **constant** or **random** data.

## Tool Structure

The LMS Scramble tool consists of **two worksheets**:

1. **LMS Search Criteria** – Defines which users will be impacted
2. **LMS Scramble Config** – Defines what data will be scrambled and how.

## 1. LMS Search Criteria Sheet

This sheet controls **user selection**.

### Columns Explained

**Column B - Entity→Field:** LMS/User entity field used for filtering

Supported Entities & Fields:

* User → isActive
* User → personExternalID
* User → firstName
* User → lastName
* Employment → organizationIDs

**Column C - Operator:** Supported operateor **(Equal To)**

**Column D - Value**: Value to compare against the selected field.

### In this Example:

* **Entity → Field:** User → personExternalID
* **Operator:** Equal To
* **Value:** 27000004

This configuration targets users whose **External ID exactly matches 27000004**.


![](https://storage.crisp.chat/users/helpdesk/website/-/5/a/5/3/5a53c0e6e1563400/image_85b1ho.png)

## 2. LMS Scramble Config Sheet

This sheet controls **data scrambling behavior**.

### Columns Explained

**Column B - Entities**: LMS entity (e.g., LMS Users)
**Column C - Fields:** Emails to be scrambled
**Column D - Scrambled?:** Scrambling method (Constant or Random)
**Column E - Constant Value:** Fixed value (used only if Scrambled? = Constant)

## Scrambling Options Explained

### 1. Constant

* Replaces the original value with a **fixed value** provided by the user
* Useful when a predictable or standard value is required

### Example:

* **Entity:** LMS Users
* **Field:** emailAddress
* **Scrambled?:** Constant
* **Constant Value:** testuser@company.com

All impacted users will have their email replaced with `testuser@company.com`.


![](https://storage.crisp.chat/users/helpdesk/website/-/5/a/5/3/5a53c0e6e1563400/image_14l5vk1.png)

### 2. Random

* Replaces the original value with a **system-generated random value**
* Ensures anonymization while maintaining data uniqueness
* No constant value is required

### Example:

* **Entity:** LMS Users
* **Field:** emailAddress
* **Scrambled?:** Random

Each user will receive a unique, randomly generated email address.

###### Rules for Random Scrambling:


1. **Randomize the Part Before @**
* Replace the username with random data while keeping the domain intact.

* **Example:** `john.doe@company.com` → `x8f2kq@company.com`


2. **Randomize Both Local Part and Domain**

* Fully scramble the email while maintaining valid email structure.

* **Example:** `john.doe@company.com` → `a9x3m@r7k2d.net`


**3. Preserve Domain, Randomize with Prefix**

* Keep the original domain but add a random prefix or suffix to the username.

* **Example:** `john.doe@company.com` → `user_48291@company.com`

* Close the workbook.

3. Back in CodeBot, click on the hamburger menu and select Start Configuration.

![](https://storage.crisp.chat/users/helpdesk/website/-/5/a/5/3/5a53c0e6e1563400/image_1irotma.png)

4. If the SSO is implemented, Login using SSO, If not, then, enter your SFSF Password. Enter Execution Notes, check the SFSF Scrambling LMS checkbox, and click on Confirm and Start to begin the process.


![](https://storage.crisp.chat/users/helpdesk/website/-/5/a/5/3/5a53c0e6e1563400/image_3c2h2z.png =436xauto)


5. As the status changes to processing you can track the progress of the execution. To monitor the progress please refer to the article attached below:

[__https://help.sfcodebot.com/en/article/monitor-actions-in-codebot-for-sap-successfactors-1ous0mz/?bust=1748684800798__](https://help.sfcodebot.com/en/article/monitor-actions-in-codebot-for-sap-successfactors-1ous0mz/?bust=1748684800798)

6. Once the Execution is complete, open your SAP SuccessFactors instance to verify the changes.

* Navigate to **Learning Administration**.
* Under the **Profile** dropdown select **Users**.
* Search for the **External ID.**


![](https://storage.crisp.chat/users/helpdesk/website/-/5/a/5/3/5a53c0e6e1563400/image_2s8sy1.png =691xauto)


* Notice that the **Email Address** has been successfully updated in the instance using the LMS Scramble Tool.


![](https://storage.crisp.chat/users/helpdesk/website/-/5/a/5/3/5a53c0e6e1563400/image_ibjkrz.png =697xauto)


## Execution Flow

1. CodeBot reads the **LMS Search Criteria** sheet
2. Matching LMS users are identified
3. CodeBot processes the **LMS Scramble Config** sheet
4. Emails are scrambled using the defined method
5. Changes are applied only to the filtered user set

The LMS Scramble Tool provides a flexible and secure way to anonymize LMS user data by precisely targeting users, selecting specific fields and applying controlled scrambling logic.

**Note:** If anything doesn’t appear as expected, check CodeBot execution logs and send us the **Tracking Request ID** via the chat box in the lower right-hand corner.

Thank you!