# Hey, it's Affinity!

Welcome! We're so glad you're here.

{% hint style="info" %}
**Affinity tip:** we want Affinity to grow with you. As you read through the docs, if there is an idea you have that would improve your workflow, please reach out to us to discuss!
{% endhint %}

{% embed url="<https://www.loom.com/share/3c9532bc02f447fc9b69dd65099d295f?sid=a0f9c86d-b1d6-4880-9b9b-969d5ccf3275>" %}

## Overview

Affinity is the knowledge management platform for regulated companies to get the most out of their trainings with the least amount of friction.

With Affinity, you can manage an external portfolio of companies for both compliance and revenue driving purposes, as well as your own internal suite of learners' knowledge management needs.

Affinity's advanced features make compliance and knowledge management seamless, customizable, and the data and reporting increases learning and compliance outcomes.

## Quick links

{% content-ref url="/pages/6bYSKo5Z3KD4ijT1eHvm" %}
[What we do](/overview/what-we-do)
{% endcontent-ref %}

{% content-ref url="/pages/hC1S36Zdu7Owvj17ntOO" %}
[Our Features](/overview/our-features)
{% endcontent-ref %}

## Get Started

We've put together some helpful guides for you to get setup with our product quickly and easily.

{% content-ref url="/pages/1yQDUquppmLo6QB1iiVd" %}
[Quick Start Guides](/fundamentals/quick-start-guides)
{% endcontent-ref %}

{% content-ref url="/pages/h1HUX76tt9rRPBts3OAV" %}
[Product Guides](/product-guides/types-of-roles)
{% endcontent-ref %}

## Use Cases

Wondering how you might use Affinity? We've put together a suite of example use cases for you.

{% content-ref url="/pages/TY3afSMPZuSTwfWGyfzJ" %}
[BNPL & BaaS Fintechs](/use-cases/bnpl-and-baas-fintechs)
{% endcontent-ref %}

{% content-ref url="/pages/W1VIfhXWovotlGw5JFgS" %}
[Growing Regulated Tech Company](/use-cases/growing-regulated-tech-company)
{% endcontent-ref %}

{% content-ref url="/pages/eyfRDYwb4813fQANH7HR" %}
[Revenue Driving & Sales](/use-cases/revenue-driving-and-sales)
{% endcontent-ref %}

{% content-ref url="/pages/IIS7yjCGqMgU7n6QP8mK" %}
[People Operations](/use-cases/people-operations)
{% endcontent-ref %}

{% content-ref url="/pages/YxOh7vwU6anm5vJVhrmF" %}
[Knowledge Management Platform](/use-cases/knowledge-management-platform)
{% endcontent-ref %}


# What we do

## Video overview

Got a few minutes? Check out a holistic video overview of our product!&#x20;

{% embed url="<https://www.loom.com/share/4a0e934855dd4a019fad59bd65f31d3a?sid=60904867-3df8-474e-b9b5-bb38ab6d1982>" %}
Welcome to Affinity!
{% endembed %}

In the video above we cover some of the most useful features Affinity has to offer. This will help accelerate your use of Affinity. After you watch and learn, continue to dive into other features which weren't covered in the video, but documented on this site.

### Video Topics

* **Setting Up Your Organization**:
  * Create a new organization by entering company information and verifying your email.
  * Add employees as learners by uploading their details via a CSV file.
* **Assigning and Managing Trainings**:
  * Assign trainings to learners using the Affinity Course Catalog or your own custom trainings.
  * Customize deadlines for individual learners and keep track of all changes for audit purposes.
* **Creating Campaigns and Programs**:
  * Set up campaigns to manage training assignments, with options to create specific programs for different groups (e.g., all employees vs. engineers).
* **Monitoring and Reporting**:
  * Use the training library to manage and monitor assigned trainings.
  * Generate and export reports on training progress, with options for Slack integration and detailed notifications.
* **Automating Workflows**:
  * Set up recurring trainings and automatic nudge schedules to ensure learners stay on track with their assignments.
  * Optionally, integrate with HR systems for automatic onboarding into trainings.

## External Organizations

This video walks you through how to act as an external organization and onboard various clients to your portfolio and assign them trainings.

{% embed url="<https://www.loom.com/share/284557f349e94a82bf947b1f339c9366?sid=7751f8b9-f2b7-4801-af41-c26eb23ce56d>" %}

## Internal Organizations via Sponsor

This video explains how to get started if you are being onboarded via a bank sponsor or BaaS provider.

{% embed url="<https://www.loom.com/share/90318ead016a4350862559f2ae94c466>" %}


# Our Features

Affinity has everything you need to manage knowledge management across organizations.

## Intuitive Management

The platform has been designed from the ground up to allow you to manage your trainings across growing organizations of all sizes. We understand that you need something powerful, but also simple so you're not left scratching your head. That's why the platform makes it easy to assign trainings to learners at all different levels, role out multi-modal training campaigns, and have reporting at your fingertips.

## Client Sponsorship

For organizations which are responsible for the training of their clients, there is no better platform than Affinity. Our external organization features allow you to easily onboard all of your different clients and then roll out trainings to them. You get the assurance that they are taking quality trainings and real time analytics that they are on progress. Your clients get the same benefits of the trainings which their employees will love and learn from. And, your clients benefit from a simple to use platform that you've provided for them. Everyone wins.

## Comprehensive and Enjoyable Trainings

We've taken decades of industry experience in these domains, combined with a mission to make education fun and digestible to the learner to create trainings that learners will walk away with functional knowledge they can bring back to their day to day. Making their jobs more enjoyable, and your organization more prepared.

## Integrated Tracking and Analytics

Don't stay on top of training adherence and performance, let Affinity do it for you. Our platform aggregates all performance data of all your learners and all your organizations into one place. No more in-person sign-up sheets, a combination of google sheets and excel sheets, and random emails about who or what organization has done a training. Now, it's simple and reliable with Affinity.

## Auditing Built In

Everything is tracked when using Affinity's integrated platform. Know when a learner has started a training. Know when an admin has set an override for a due date or a status for a particular learner. We'll log these things and your reporting will include it for ultimate accountability. When someone asks "Why did you extend the Security training deadline by 30 days?", your report can answer "Extended deadline because water pipe burst outside office and were force to relocate team for 2 weeks." *(Yes, this happened.)*

## Rules and Workflow Engine

Affinity can let you focus on onboarding new team members and new organizations, so you can grow. And, Affinity does that in providing you access to a [rules engine](/product-guides/rules) that lets you automate training workflows such as assignments and nudges.

## And, more...

Take a look through the product guides for more on how you might use Affinity. The platform is constantly evolving to meet our clients needs and we're excited to have you on board!


# Types of Roles

Affinity has three primary role types within the platform.

1. [External Admin](/product-guides/types-of-roles/external-admin)
2. [Internal Admin](/product-guides/types-of-roles/internal-admin)
3. [Learner](/product-guides/types-of-roles/learner)

A user can be one or more of these roles within an organization. All users are given the Learner role by default.

Additionally, learners can also be designated as managers for additional oversight and reporting.


# External Admin

External admin's will be the administrators of an organization's portfolio companies. A portfolio company is a company of which you are accountable for the training success.

An example might be you are a large Banking as a Service provider and have 50 clients who use your product and must be trained across various regulations. You are accountable for these 50 clients and their employees to complete the required training.

As an external admin, you will manage the trainings that are assigned to these portfolio companies. See the subsequent sections on managing an External Organization on the functionality the platform offers to make this seamless for you.


# Internal Admin

Internal admin's will be the direct administrator of the learners and trainings within their organization.

As an internal admin, you can assign trainings, create rules, and export reports relating to your organizations training progress.

You can have as many admin's as you like in order to administer and report on the trainings.


# Learner

Learner's are users within an organization.

Commonly, these are all employees within your organization who have been invited to join your organization on Affinity.

While that is what a learner commonly is, a learner can be anyone you want to take trainings within your organization. Sometimes this can include: Board of Directors, Contractors, or interns.


# Manager

Learners can also have a manager role. Managers have 1 or more reportees assigned to them.

Managers are a sub-role which learners can have. If a learner is a manager, they will see a Manager page in their Learner Dashboard.

Enabling learners to be managers allows admins to delegate training monitoring to their larger team. And, it allows managers to easily understand who of their reports still has trainings to complete.

Learn more:

{% content-ref url="/pages/urqob6hsdKho4pPiTKNU" %}
[Managers](/product-guides/managers)
{% endcontent-ref %}


# Trainer

Trainers can create and edit custom training content which can then be assigned by an admin or other workflows to your learners.

### Trainer Role

Trainer is an internal admin role focused on LMS content authoring.

Trainers can create and edit custom training content. Assignment and broader organization administration remain with Full Admins and existing assignment workflows.

{% embed url="<https://www.loom.com/share/024e617bdfe84711a2106e86c4c93095>" %}

### Role Comparison

| Area                                                         | Trainer | Full Admin |
| ------------------------------------------------------------ | ------- | ---------- |
| Access Company LMS                                           | Yes     | Yes        |
| Create/edit training content                                 | Yes     | Yes        |
| Use AI authoring features for training content               | Yes     | Yes        |
| Invite/Change/Remove admins                                  | No      | Yes        |
| Access admin dashboard/radar/policy/rules/reporting/settings | No      | Yes        |
| Manage learners and organization-wide admin operations       | No      | Yes        |

### Trainer Permissions in App

Trainers can:

* Open the Company experience and access LMS
* Create, edit, clone, and delete training content
* Organize training content in folders
* Upload/manage training documents and supporting files used in authoring
* Use AI-assisted training authoring features (for example, Imagine and training-content chat flows)

Trainers cannot:

* Manage administrator access (invite, role updates, removal)
* Perform primary admin actions
* Access full-admin sections outside LMS

### Add a Trainer

1. Go to Company > Settings
2. Open Administrators
3. Select Invite New Admin
4. Enter name and email
5. Set Role to Trainer
6. Send invite

### Change an Existing Admin to Trainer (or back to Full Admin)

1. Go to Company > Settings > Administrators
2. Open the admin’s settings
3. Change Role to Trainer or Full Admin
4. Select Save Role

### Important Notes

* Only Full Admins can manage admin roles.
* The Primary Admin must remain Full Admin.
* If a user has both learner and trainer access, they can switch between those views in the role switcher.


# Authenticating

## Logging In

Regardless of [role type](/product-guides/types-of-roles), all new and existing users will log in with the same methods.

### New Users

If you are a new user who has received an invite to join an organization, you can log in on the Affinity home page: <https://app.itsaffinity.com/>.

Click the Log In button and then click on the "Sign up" link. Here you will enter the email address that you were invited with and also enter a password. Alternatively, you can use Google SSO with the email address you were invited with.

{% hint style="info" %}
It's important that you "Sign up" with the same email address that your invite was sent to. For example, if you received a welcome email sent to "<sarah@example.com>", you will sign up either by setting a password for <sarah@example.com> or clicking on the Google SSO (if your organization uses Google) and then selecting your <sarah@example.com> google email account.
{% endhint %}

Signing up will register your new account. You must verify your email address after account creation in order to continue. Users who sign up with Google SSO will automatically have their email verified. Email and password users will receive a link to their inbox to verify the email address.&#x20;

<figure><img src="/files/e7xDtaaAbslDOytw6GF7" alt=""><figcaption><p>New users should click "Sign up" and then enter their email and desired password (or use Google credentials).</p></figcaption></figure>

### Existing Users

If you are an existing user, you can log in by navigating to the Affinity home page, <https://app.itsaffinity.com/>, and clicking Log In.

If you are an existing Email and Password user, please enter those credentials. Or, if you had signed up with Google SSO, please use that sign on. You must use the same method of authentication that you had signed up with.

{% hint style="info" %}
Logging in is just for existing users. If you were invited, but never set a password or did SSO for the first time, you should follow the [New Users](#new-users) instructions first.
{% endhint %}

## Successful Authentication

After logging in successfully, you will see the app home page with direct links to dashboards for all roles available to you.

<figure><img src="/files/F80JhEaUrngBJJhXV5SW" alt=""><figcaption><p>This user only has the Learner role available to it.</p></figcaption></figure>

## Logging Out

You can log out by navigating to the app home page and clicking the logout link beneath your dashboard direct links.

You can also log out by clicking on the drop down underneath your user profile avatar in the top right hand corner of any app page.

<figure><img src="/files/VcVOcJPf69hfFmHzegKz" alt=""><figcaption></figcaption></figure>


# Mandatory SSO Configuration

It is possible for pro and enterprise accounts to turn on mandatory SSO connections for their learners.

By default all accounts can have learners log in via an email/password combinator or the Google SSO button. Google SSO is generally more secure and the suggested route for most organizations. To help enable this further, we can restrict your learners to only being able to log in via Google SSO.

This is an IT settings change on Affinity's part and can be done in 1 Day. It is available for pro and enterprise accounts. Contact your Affinity representative if you are interested in enabling.

## Demo

{% embed url="<https://www.loom.com/share/fb4ba7eab3f84524ab2b77efe8a077d2>" %}


# Okta Integration

Affinity supports an Okta SCIM integration to automatically provision learners into and offboard learners out of your account. Learners will use their Okta login to securely access Affinity as well.

Use the following guide to set up your Okta integration. *Note this is only available for certain plans. Contact your Affinity account manager to learn more.*

{% file src="/files/YKYb9c2s0ppijKSLvb6D" %}
Download the file to setup Okta
{% endfile %}

### Additional Notes for a Successful Setup

After you have finished the steps for OIDC and SCIM from the Okta Setup PDF, you may want to double check some of your data. Below, we'll outline specific things you should look out for.

#### Double Check Standard Field Values

With SCIM enabled, you will need to make sure that the following fields are set properly and we are receiving them from your Okta instance:

* title
* department
* manager.value
  * This should be the email address of the persons manager (if they have a manager).
* displayName
* address.primary.region
  * This maps to the state/region in Affinity. This need not be a US state, but any geographic designation.
* division (optional)

These are default fields that Okta generally sends for any application that is configured. You will know if you are sending these from your Okta instance correctly if the learner's name, department, state, title, and managers are showing up accurately in Affinity (*reminder: if you don't see the change immediately, wait a few minutes for the updates to process*).

#### Double Check Custom Field Values

Additionally, you will need to configure mapping for the following fields. This guide is a reference: [Custom Okta Fields](/product-guides/authenticating/okta-integration/custom-okta-fields)<br>

Above we mentioned the standard field values which come from Okta, but you have the ability to configure custom field values as well, such as:

* startDate
* anniversaryDate

We strongly encourage you to configure the `startDate`as it is instrumental to many of our workflows. If you do not configure this value, it will default to the current date that a learner was imported into Affinity.

#### Custom Field Value Mapping via Okta

Within Okta, you have the ability to perform custom transformations of fields. For example, you might be storing the "Division" in Okta and the "Work Location" in Okta and you want your learners to have a "Department" in Affinity of "Division - Work Location", such as "Customer Service - Philippines".  To enable this, you can create a **custom mapping expression** to transform and pass attributes to a specific application using **App User Profile Mappings**.

You will need these custom field mappings to be assigned to one of the standard fields, such as department, which we referenced above.

#### Custom Field Value Mapping in Affinity

Affinity can also support custom field mappings from your Okta on the Affinity side. You would create custom fields using the [Custom Okta Fields](/product-guides/authenticating/okta-integration/custom-okta-fields)guide and inform us of the mapping which you want, such as "Department = user.division - user.workLocation". Then we would configure the mapping on our end.  The downside to this method is if you ever want to change the mapping, you must rely on Affinity to perform the change, versus your own IT team.

### Testing before Going Live

For adding new users, we recommend going slowly with testing this on your end with 2-4 users. Once you set up SCIM, it usually takes about 5-10 minutes from adding a user in your Okta portal to hit our system after all the webhooks from Okta get fired to Auth0 get fired to us. After you add the first few users, verify the fields have come in correctly. Once you feel confident, you can add the rest of the learners.

If you have doubts or questions about field mappings, please contact <support@itsaffinity.com> or your Affinity account manager and we can help you figure out the right way to utilize the Okta setup.


# Custom Okta Fields

Your Okta integration might want to support optional fields such as startDate and anniversaryDate.

In order to have your Okta account send `startDate`and `anniversaryDate`details to affinity, you will need to create a custom field in Okta. This is an optional additional setting. If you do not set this up, the start date and anniversary date will default to the date that the learner is first imported into Affinity from Okta.

### 1. Go to Profile Editor in Okta ⇒ Directory

<figure><img src="/files/mT20JboeKfZTr8MwmpAu" alt=""><figcaption></figcaption></figure>

### 2. Click on "Add Attribute"

Enter the information as follows:

* Display name: anniversaryDate
* Variable name: anniversaryDate
* External name: anniversaryDate
* External namespace: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
* Attribute Required: Yes
* Attribute Type: Personal
* Description: Anniversary Date

Leave other settings the same.

<figure><img src="/files/9Iww52kjIJXVfRJYgAj2" alt=""><figcaption></figcaption></figure>

Click save to finish. Then you can do the exact same for \`startDate\`.

### 3. Edit your users to have the right data in these fields

The format you should use is either MM/DD/YYYY or YYYY-MM-DD to reflect appropriate start and anniversary dates.

You can edit the users profile or the application specific profile and force a sync to have these updated.


# Domain Restrictions

It is possible to restrict learners from your organization from creating their own accounts directly using domain security settings.

You can configure a setting which will lock your organization to being the only organization which can have learners register with your domain. What this does is prevent your learners from signing up to Affinity before you have invited them.&#x20;

To enable domain security restrictions, go to the settings page and find the Security Settings section. If you do not see this section, please contact your Affinity account manager to talk about enabling it.

<figure><img src="/files/cLFIKce6d2r69H7UKDjL" alt=""><figcaption></figcaption></figure>

Check the box for Lock Domain Ownership to enable this setting. Once you check it, new users will not be able to register using the domain of the primary admin until after you have invited them. This prevents inadvertent access to Affinity until you are ready.

Once checked, if a new user tries to register with your domain, they will be blocked and informed to find the admin at your organization about an invite.


# Invites

Most users will come to Affinity via an invite they receive from an organization.

An invite means that someone has added you as a pending user to their organization using the email address of which you received the invite.

You would accept that invite by [signing up](/product-guides/authenticating#new-users) with that email address as a user.

## External Organization Invites

Organizations who have been invited to join a parent organization (external organization model) will have an invite link sent to them via email where they can accept or reject the invite to the parent organization.


# Accept an Invite

To accept an invite you've received via email, follow the steps of Authenticating as a New User.

{% content-ref url="/pages/XgZ6A3BQ15HDJny5si7e" %}
[Authenticating](/product-guides/authenticating)
{% endcontent-ref %}


# Invite an Admin

## Internal Admin Invites

If you have the role of an internal admin for your organization, you can invite other internal admins.

To invite another internal admin, navigate to the Settings panel of the application and click on the Settings tab.

Here you will see two text fields to input a name and email address of whomever you wish to invite. Fill these in and click invite. The user will receive an invite email shortly after.

<figure><img src="/files/0dyHTHaN7CsEavahq2Y6" alt=""><figcaption></figcaption></figure>


# Invite a Learner

Click on the "Add New Learner(s)" button on the Learners tab of your Admin portal.

<figure><img src="/files/TAcNSqFYOSxxLxfXDVXN" alt=""><figcaption><p>Add New Learner(s) button in the top right of the Learners page for Admins</p></figcaption></figure>

There are four ways that you can add new learners:

1. One at a time
2. Bulk via a CSV file upload
3. Okta Integration via SCIM
4. HRIS Integrations

### One at a time

<figure><img src="/files/sk7T2tbCJ2iYV5ANAfKS" alt=""><figcaption><p>Add a learner one at a time.</p></figcaption></figure>

### Bulk upload via a CSV file

<figure><img src="/files/aHebURVfrhl1Y5kh7Jqk" alt=""><figcaption><p>Bulk upload learners via a CSV</p></figcaption></figure>

Prepare a CSV with the required information and upload that CSV to invite all the learners.&#x20;

{% hint style="info" %}
When we process the CSV we will ignore inviting users who have already been invited, so you can always send us a full export of your employees without having to manually adjust who has or has not already been invited.
{% endhint %}

{% hint style="info" %}
Your CSV must include the header data and must be in traditional columnar format.
{% endhint %}

After the CSV is processed, all learners will receive an email invite. For more details on how to accept an invite:

{% content-ref url="/pages/CCyUWnRjrZr86a1sYDRI" %}
[Accept an Invite](/product-guides/invites/accept-an-invite)
{% endcontent-ref %}

### Okta Integration

You can automatically provision learners using an Okta integration with SCIM. To learn more about Okta and setting up OIDC and SCIM, visit:

{% content-ref url="/pages/L3pxeTMLIkX68YSU6SQg" %}
[Okta Integration](/product-guides/authenticating/okta-integration)
{% endcontent-ref %}

### HRIS Integration

Affinity supports HRIS integrations from most major HRIS providers. The setup is different for each provider and may require an extra subscription fee with your HRIS system. Only certain plans at Affinity are eligible for HRIS integration. If you would like to learn more, please contact your Affinity account manager.


# Internal Organizations

Internal organizations are focused on the knowledge growth of their own internal learners, usually your employees. You are looking to give, track, and report on mandatory trainings for compliance, HR, infosec, or professional development reasons.

The Affinity platform allows you to seamlessly manage all of this, with tools and workflows built to make things easier for you than ever before.

Ready to get started?! Watch this video on how you can set up and manage your organization today:

{% embed url="<https://www.loom.com/share/4a0e934855dd4a019fad59bd65f31d3a?sid=60904867-3df8-474e-b9b5-bb38ab6d1982>" %}

#### Parent/Sponsor Organizations

An internal organization may or may not belong to a [parent organization](/product-guides/external-organizations). This is the situation where you were invited to join Affinity by an entity like a Bank or Banking as a Service provider. See more here:

{% content-ref url="/pages/2MTWj3WqGVe6RyBb9Paa" %}
[Sponsor Onboarding](/product-guides/internal-organizations/sponsor-onboarding)
{% endcontent-ref %}


# Create an Internal Organization

There are two methods for creating an internal organization:

1. Self-service.
2. White-glove onboarding.

## Self-Service

You can create your own internal organization using our self-serve onboarding flow. Navigate to the Affinity app home page, <https://app.itsaffinity.com>, and click the "Register" button.

You will create your account either with a username and password combination or by using SSO via Google.

If you use a username and password combination, you will need to verify your email address in order to continue. Once you have verified the email address you are presented with an onboarding screen. On this screen you will:

* Give your company a name
* Choose a department which closest matches your own
* Choose a title which closest matches your own

When ready, click the button to finish the setup. This will finalize your account in our FREE tier and you can try out the product.

Initially your organization will be limited to 1 Seat. You must add [billing information](/product-guides/internal-organizations/billing) and select a paid plan in order to start inviting users to this organization.

## White-glove onboarding

We're happy to help work with you to onboard your organization onto Affinity. This will be especially useful if you have a large organization (more than 50 learners, and/or are rapidly growing).

To learn more about this process, reach out to <onboarding@itsaffinity.com>.


# Admin User Management

You can have many admin's of your organization. Admin's will have the ability to manage an internal organization including the: learners, trainers, reporting, settings, and more.

## Inviting an Admin

{% content-ref url="/pages/y8acvCGcmdV8TNN6YE8w" %}
[Invite an Admin](/product-guides/invites/invite-an-admin)
{% endcontent-ref %}

## Removing an Admin

To remove an admin, navigate to the Settings panel where you would invite an admin. Choose an admin you would like to remove and press the trashcan icon.&#x20;

<figure><img src="/files/IBqujTXp5TF8Dgog03eh" alt=""><figcaption><p>Clicking the trashcan icon will remove the user as an admin of this organization.</p></figcaption></figure>

Removing an admin will remove them as an admin from your organization, but they will remain a learner of the organization.

## Setting Primary Admin

You can set a primary admin of your account. If you have a parent organization, this primary admin will be the default contact that the parent organization sees for your organization.

Any admin can be a primary admin, but only one primary admin can be set at a time. By default, the account that created the organization will be the primary admin until otherwise changed.

To make the change, click on the settings cog icon in the row of the administrator you wish to make the primary admin. This will open a modal with a button in the top right that you can click to change the primary admin to this user. Only the current primary admin can make this change.

<figure><img src="/files/w2a93z84MooHCBMS5XZi" alt=""><figcaption><p>Click on the settings icon to open the primary admin change experience, then click on "Make Primary Admin" to submit the change.</p></figcaption></figure>


# Learner Management

Organizations can support any number of learner's.&#x20;

{% hint style="info" %}
Your plan with Affinity will dictate the number of open seats you have eligible for adding a new learner.
{% endhint %}

Each learner can be configured with appropriate indicative information, such as: name, role, start date, anniversary date, departments and other tagging.

Learner's can be added, marked inactive and deleted at any time. Making a learner inactive or deleting a learner will give back a used seat to your plan.

{% hint style="info" %}
**Making a learner inactive does not remove the data though.** Their data on training completion will remain overtime for auditing and analytical purposes.
{% endhint %}

{% hint style="warning" %}
**Deleting a learner** will remove all of their data permanently. You should only delete a learner if this was in error or you are sure you do not want to maintain any historical activity data of that learner. Most times, marking a learner as inactive is the proper choice.
{% endhint %}


# Invites

Invites to learners can be sent at any time. The number of active learners you can have on your organization is dictated by the plan you are enrolled in.

If you reach the limit for number of learners and would like to increase your limit, please contact your Affinity contact or email <support@itsaffinity.com>.

For more details on the mechanics of inviting a learner, follow the page link below:

{% content-ref url="/pages/SGX9EKE2joYj4EFYJQXF" %}
[Invite a Learner](/product-guides/invites/invite-a-learner)
{% endcontent-ref %}


# Removing

There are two forms of removing a learner:

* Deactivating
* Deleting

{% embed url="<https://www.loom.com/share/0fabca17c25e4024b26d8a351abb81c7?sid=6af80b9a-c0eb-4b7d-b810-b7beb24d7fea>" %}

## Deactivating

Deactivating is the process of marking their account inactive. It releases a seat back to your account. You will also retain all training data for this learner for reporting and auditing purposes. The learner can no longer log in however.

Deactivating is meant for when you off-board a learner from your organization. It is not meant as a way to shuffle seats month to month.

#### Reactivating

If you would like to reactivate a learner who has been deactivated, you can follow the following steps:

1. Filter learners by active seat equals false.

<figure><img src="/files/MaIeq1bKBo6M7hueFhVm" alt=""><figcaption><p>On the learner page, filter to active seats equals false</p></figcaption></figure>

This will show you all deactivated learners.

2. Find the row of the learner of interest and click on the action button (three vertical circles).

<figure><img src="/files/oBrly0wAtpQ24y1aAFjO" alt=""><figcaption></figcaption></figure>

3. Click on the Activate button to reactivate the learner.

<figure><img src="/files/nIyQ9DmTY7F9brOqwPJz" alt=""><figcaption></figcaption></figure>

At this point, they can log into Affinity again.

## Deleting

Deleting a learner will remove all of their access from the Affinity platform, return 1 seat license back to your account, **and it will delete all of their data**.

You should only delete a learner if this learner was added in error. Most times, the desired option for a learner is to simply deactivate.

<figure><img src="/files/vMQtYf8Z41nVPwzNY8Wu" alt=""><figcaption><p>Clicking on the icon in the actions column of a learner's row will open up an experience where you can further manage the learner. Including deactivating or deleting the learner.</p></figcaption></figure>


# Merging

Merging learners allows you to easily correct any mistakes you've made while sending invites.

Affinity supports merging multiple learner accounts into one. When you merge accounts, you retain all training data, but result in a single learner account which now has all of that data.

Why might you need to merge accounts?

* You invited a user under their personal email and work email. They took all the trainings under their personal email and you want to merge those accounts to have the work email account be the official account.
* Your learner got married and changed their name and thus their email address and you want to update the system to the right name.
* Your company has bought a new domain and you want to switch everyone over.

### How to Merge?

1. Go to the learner list page and find the learners whom you wish to merge together and check their boxes.
2. Then click on the advanced settings cog button in the top right.
3. Click the merge learners button
4. Select the learner who should be the primary learner after the merge
5. Click to merge

{% embed url="<https://www.loom.com/share/c89415a50d7c437885443cf09ad52d3c?sid=5b89a90e-82db-4f09-93fb-e22f48e0fd81>" %}


# Leaves of Absence

It is possible to mark learners as having a leave of absence.

## Overview

For any learner, you can turn on or turn off a leave of absence for them. The purpose of a leave of absence is to make it so this learner no longer receives training assignments during that period.

No longer receiving training assignments includes:

* Not showing up as assignable in the training instance view
* Not being assignable from the campaigns view
* Not being assignable via recurring schedules

When you put someone on leave, it does not pause their active assignments however. Anything which they have previously been assigned will remain - including incomplete trainings. As such, they will still continue to be nudged for any incomplete trainings as applicable.

### Possible use cases

1. A learner has gone on medical leave
   1. Use the leave of absence for someone who is temporarily removed from your company until they get back.
2. An admin does not need to be assigned
   1. Use the leave of absence for an admin who is just managing trainings, but does not need to receive the trainings themselves

### Video Overview

{% embed url="<https://www.loom.com/share/46c78e2dbe414eecbcd7c05437d444c7?sid=68433aad-0aa6-4628-afa7-582bf5206432>" %}

### Enabling

<figure><img src="/files/C4ykcSoFfOKKsi2IkjCB" alt=""><figcaption></figcaption></figure>

From the learner list page, you can click on the action button in any row to open up the learner details experience. There is a Settings tab which you can click on to see the settings menu for this learner. Click on "Turn Off Assignments" to turn off assignments for this learner.

<figure><img src="/files/3PnG5P67HvsBPqybvuFU" alt=""><figcaption></figcaption></figure>

After you toggle it on, you can leave an optional reason. Once ready, click update settings.

After you have enabled, they will show up in your list view with an icon showing they have assignments turned off.

<figure><img src="/files/9FsVyJldwAqbwtv7jS3o" alt=""><figcaption></figcaption></figure>

If you navigate to their learner details page, you will also see a notification when the learner has assignments turned off.&#x20;

<figure><img src="/files/JM5HBONuuUl8dSi306LL" alt=""><figcaption></figcaption></figure>

### Disabling

To disable a leave of absence where assignments are turned off, you can go back to either the learner detail page or list page and follow the same steps as enabling, but this time uncheck the checkbox. Hit save/update when you are ready.

### Reporting

All data for the learner will still show up in reporting.

### Comparison with Deactivation

Leaves of absence where assignments are turned off are more appropriate for temporary leaves. This is because the learner still has access to their Affinity account and can still log in and take any prior trainings which are maybe incomplete. As an admin, you also can still see and manage them in the primary portal experiences.

With deactivation, that learner no longer has access to Affinity, and the learner data is also hidden to you as an admin. Deactivation is more suitable for learner off-boarding, than temporary leaves.

### Integration with Okta and HRIS

Leaves of absence are not supported via Okta and HRIS. You must enable and disable within the Affinity portal.


# Email Communications

Learners will receive two emails when you create their account and they attempt to set it up:

* Welcome Email
* Verification Email

## Welcome Email

The welcome email is sent to the learners email address you have registered them with. It contains some helpful information about how to get started and finalize their registration.

Sometimes learners need some extra reminder to complete their registration. As an admin, you can resend the welcome email at any time. To do this, navigate to the learners page of your organization, and then click on the Actions icon. Then click on the resend welcome email button.&#x20;

<figure><img src="/files/bsrUP6PLnNRJESjCOoHm" alt=""><figcaption><p>Actions elements for managing email communications with a learner.</p></figcaption></figure>

## Verification Email

Learners who choose to register with an email/password combination will need to verify their email addresses in order to successfully log in. *Note: learners who choose SSO will have the email verification done implicitly.*

If a learner loses the verification email for some reason and need another one sent, you can do so via the learner details management area. Navigate to it the same as as you do to resend the welcome email, and then click on the resend verification email (picture above).


# Tags

Learners can be tagged with subcategories.

In addition to Title and Department, your learners can be tagged with subcategories, such as Product, Engineering, Legal, etc.

<figure><img src="/files/OjkCPF2w60sL40psbHBO" alt=""><figcaption><p>Example Tagging</p></figcaption></figure>

## Why Tagging?

Tagging is useful for logically grouping your learners for the purposes of future assignments, management, and also reporting.

{% hint style="info" %}
Example: You might want to tag all of your operations learners, so that you could set up specific rules or programs for them related to operations compliance trainings. And you might want to tag all of your engineering and product learners to be able to assign them trainings easily around Information Security.
{% endhint %}


# Trainings

You can assign and manage trainings at a learner level.

This includes setting overrides for:

1. Status
2. Due dates
3. Notes
4. Nudges

<figure><img src="/files/99F5TRbyuwTcArrcOcT8" alt=""><figcaption><p>A learner was sent a "Nudge" for the AML/BSA training.</p></figcaption></figure>

<figure><img src="/files/wai2oVgVYnfbu2rUt5SV" alt=""><figcaption><p>For a given learner, manually set overrides, all with an auditing trail.</p></figcaption></figure>

## Why Manage Learners Directly?

Generally, you will probably treat all learners the same with respect to due dates and nudging to ensure that they complete their trainings.

However, there are some instances where you might want to give a more custom experience to certain users. Some examples:

* A learner is going on paternity/maternity leave and you want to extend their due dates for a subset of trainings to be 120 days in the future. You can override their individual due dates. This would give them more time to complete and would reflect on your reporting that this learner is not late on their assignment.
* A learner completed this training in-person with a qualified teacher and does not need to complete the online training. You can manually set their status to completed. For reporting purposes, this will show up as manually overridden by an admin, and the admin can also leave a note for transparency.
* A learner is behind on a few trainings and you want to encourage them to complete, you can send an immediate nudge to them for specific trainings which you want to encourage them to complete.

Affinity's platform provides auditing accountability for all of these overrides, and it will show up in reporting so you can showcase the proof of completeness.

## Organization Trainings

Managing trainings at a learner level is a subset of managing trainings at an organization level. If you're looking for organization level training management, see:

{% content-ref url="/pages/cQdLy6ARy66Zjg6kStk3" %}
[Training Management](/product-guides/internal-organizations/training-management)
{% endcontent-ref %}


# Nudges

A "Nudge" is a friendly reminder email which is sent to the learner.

## Emails

When nudged, learners will get an email like the following. If they have more than one training that was nudged, they will see all of the trainings in one email. We try to coalesce the emails as best as possible depending on the timing of the nudges.

<figure><img src="/files/GOf2dFyMFuBVm9ONIbdE" alt=""><figcaption><p>Example email which is sent.</p></figcaption></figure>

## Nudging by Learner

You can send nudges to individual users for a specific training, or to an entire organization for a specific training.

<figure><img src="/files/TFzFjsx5UGt2QHZG9vim" alt=""><figcaption></figcaption></figure>

Learners will also receive a notification in their notification bar next time they log in.

## Nudging by Training

For any given training, you can nudge by training instance. Navigate to a particular training of interest, and then find the training instance which you ahve assigned and click the "Nudge" button.

This will nudge all learners who are not yet complete on this training instance.

<figure><img src="/files/PwbkN35FAogfIlSr5lpz" alt=""><figcaption><p>Each training instance has the ability to nudge all learners for that training who are past due.</p></figcaption></figure>

## Nudging by Organization

You can also nudge your entire organization across all active trainings based on the learners status with that training. This is a helpful workflow as opposed to drilling into each training you have active, you can do it all at once.

The controls here allow you to also select a specific status you want to target.

* Not Started - learners who have been assigned a training, but have not started yet.
* In Progress - learners who have been assigned a training, have started, but not completed.
* Late - learners who have not completed a training by the due date. They may or may not have even started it.

<figure><img src="/files/34IZWfRflwrx8rPHCrzk" alt=""><figcaption><p>Nudging by organization.</p></figcaption></figure>


# Override Status

The status for trainings is atomically updated as a learner progresses through a training.

An admin can override the individual status and create an audit trail.

<figure><img src="/files/nFYMlnjfczHtwnhgwKAC" alt=""><figcaption></figcaption></figure>


# Override Due Date

When trainings are assigned to an organization, they will come with a default due date.

You can override the due date for an individual learner for any reason. To override, go to the training detail page and choose a learner to override.

<figure><img src="/files/nFYMlnjfczHtwnhgwKAC" alt=""><figcaption></figcaption></figure>


# Requirement Override

The requirement status of an individual learner assignment can be overridden. By default the requirement status is that of the training instance assignment. However, you may change it on a learner by learner basis.  Once a learner has their requirement overridden, that is the default state for that learner. Thus, no global changes would take effect going forward.

<figure><img src="/files/nFYMlnjfczHtwnhgwKAC" alt=""><figcaption><p>"Required: YES | NO" section allows you to change the default requirement for this particular learner.</p></figcaption></figure>


# Add Notes

For any training, you can set ad-hoc notes for a specific learner. These notes will show up in reporting for auditing purposes. You may want to add notes when you override other settings, such as due date, status, or give a nudge.

<figure><img src="/files/nFYMlnjfczHtwnhgwKAC" alt=""><figcaption><p>A notes field exists to save ad-hoc notes.</p></figcaption></figure>


# Bulk Management

You can manage the trainings of learners in bulk from the learner list page.

Navigate to the learner list page and filter and select any number of learners of interest.

<figure><img src="/files/Lx84MexlHDDOlwoZ9kXc" alt=""><figcaption></figcaption></figure>

Then, you can choose between assigning these learners into existing training assignments or creating brand new assignments for them.

<div><figure><img src="/files/QycpICfLaiBWChkK2W8j" alt=""><figcaption><p>Assign into existing trainings</p></figcaption></figure> <figure><img src="/files/YVvYn8N5BK4Q9l5adhOe" alt=""><figcaption><p>Create new trainings for these learners</p></figcaption></figure></div>

You can assign into one or more existing trainings at a time. And, you can create one or more new trainings at a time to assign these learners to.

There is also an option to override the due date.&#x20;

Once you are happy with your settings, click "Assign" to complete the training assignments.


# Individual Bulk Training Management

How to bulk manage trainings for an individual learner.

<figure><img src="/files/eEREhPjM7BFPqawZddem" alt=""><figcaption><p>Managing an individual learners trainings in bulk from their learner details page</p></figcaption></figure>

#### Overview

The Individual Bulk Training Management feature in Affinity's LMS is designed to streamline the process of managing and assigning multiple training modules to a single learner. This feature is particularly useful when a learner requires a comprehensive training plan or needs to catch up on multiple courses. With this feature, administrators can efficiently assign, manage, and monitor the training progress of individual learners, ensuring that they stay on track with their learning objectives.

#### Key Features

1. **Bulk Assignment of Trainings**:
   * **Assign Multiple Trainings**: Quickly assign multiple training modules to a single learner in one go.
   * **Override Due Dates**: Optionally, override the due dates of the selected trainings to align with specific timelines.
   * **Create New Training Instances**: Create new instances of training modules if they are not part of the learner's current assignments.
2. **Training Management Interface**:
   * **Learner Dashboard**: View and manage all assigned trainings for an individual learner.

#### How to Use Individual Bulk Training Management

**1. Accessing the Learner's Training Management Page**

**Step 1: Navigate to the Learner's Profile**

* **Select Learner**: From the main dashboard, locate and select the learner for whom you want to manage training assignments.
* **Access Training Management**: Once on the learner’s profile, navigate to the training management section where all current assignments are displayed.

**Step 2: Review Current Assignments**

* **View Assigned Trainings**: The learner’s current training assignments are displayed in a table format, showing course names, due dates, status, and whether the training is required.

**2. Bulk Assigning Trainings to a Learner**

**Step 1: Open Bulk Assign Trainings**

* **Click "Bulk Assign Trainings"**: On the learner’s training management page, click the "Bulk Assign Trainings" button to open the bulk assignment panel.

**Step 2: Configure Training Assignment**

* **Assign or Create**: Choose whether to assign the learner to existing training instances or create new ones.
  * **Assign to Existing Trainings**: This option will include the learner in training modules that are already assigned to others.
  * **Create New Training Instance**: Use this option if the training module needs to be set up specifically for this learner.

**Step 3: Select Trainings**

* **Choose Trainings**: Browse or search through the available training modules, selecting the ones you wish to assign to the learner. You can filter trainings by categories or use pagination to navigate through a large list.
* **Override Due Date (Optional)**: If necessary, select the option to override the due dates for the selected trainings to better fit the learner’s schedule.

**Step 4: Assign Trainings**

* **Final Review**: Ensure all selections are correct, then click "Assign" to bulk assign the chosen trainings to the learner. The learner will be notified of the new assignments.

#### Monitoring and Follow-Up

* **Progress Tracking**: After assigning the trainings, monitor the learner's progress through the learner dashboard. You can view the completion status of each training module and take appropriate action if necessary.


# Training Management

Internal Organizations have access to a training catalogue of publicly available trainings, as well as privately available trainings.

The Training Library page will show you trainings which have already been assigned to your organization as well as those trainings (both public and private) which are available from the catalogue to be assigned.

<figure><img src="/files/YNkdUoCRNfqj31fWpzVG" alt=""><figcaption></figcaption></figure>

## Private Trainings

Private trainings are trainings that you may have brought to the Affinity platform for distribution to your learners. Or, they might be Affinity trainings which have been white-labeled in content, style, or both for your specific organization.

Please reach out to us with your specific interest in private trainings and we will help onboard your organization.

## Training Instances

Every training can be assigned one or more times to your learners. Each instance stands on its own as a separate assignment, and thus can be uniquely configurable with the specific learners assigned, the due dates, and any other settings.

{% hint style="info" %}
Training instances are a great way to provide recurring trainings to your organization!
{% endhint %}

<figure><img src="/files/l42MXfEw7Xm89CkwWm8e" alt=""><figcaption><p>Example training instance for a particular training.</p></figcaption></figure>

The training instance will show you details about that particular training, such as:

* campaign association (if any)
* Default requirement
* Stats at a glance
* Report exporting
* Controls to manage the training
  * Assignments
  * Nudges
  * Due Dates
  * Overrides


# Assign a Training

To assign a training, navigate to the Trainings page and find a training of interest.&#x20;

## From the Training Catalogue

Your training catalogue will show you all trainings that your organization has access to. This includes:

* Affinity suite of trainings
* Private trainings
* Already assigned trainings

Under the "Assigned" sub-tab you will find all trainings which you have assigned at least one instance of to your learners.

Under the "Available" sub-tab you will find trainings which your organization has access to and have not yet been assigned. We separate the trainings like this so it is easy for you to find new and useful trainings to add to your learners education.

You can click on any training you are interested in assigning, and then click "Create New Assignment" to create a new assignment for your organization for this training and to begin adding learners to it.

<figure><img src="/files/qt3JMQhPX3tHbmEUvi03" alt=""><figcaption><p>Find a training of interest from the catalogue's tab.</p></figcaption></figure>

<figure><img src="/files/5itypnkVouHtZ610UpYO" alt=""><figcaption><p>A currently unassigned training. Click the Create New Assignment button to assign to this organization.</p></figcaption></figure>

<figure><img src="/files/dqS9MnloIiEMJwnzrGAx" alt=""><figcaption><p>After clicking 'Create New Assignment', you have a new assignment for this training for your organization. You can begin to add learners to the assignment and modify due dates and requirements.</p></figcaption></figure>

## Training Details versus Training Instance

For any given training, you will have a training details page, which will list all instances of this training which have ever been assigned. As your usage of Affinity grows, you will find that you assign courses like AML/BSA yearly or quarterly. In this example, all of these instances are available on the training details page. You can click on any one of the instances, to take you to a separate page to just manage that individual instance.

<figure><img src="/files/eaQi7pHInK6w3ttKdJDB" alt=""><figcaption><p>Click on the link from the details page for this particular training instance to go to it's individual instance page. You can manage all trainings from either page.</p></figcaption></figure>

## Training Management

Once you have created at least one instance of an assignment for a particular training, you can continue to add more instances or modify those which are already live.

{% hint style="info" %}
A training instance is an assignment of a particular training to a set of learners with certain due date and requirement parameters.

You can have many instances for any particular training. A common use case of this might be re-assigning AML/BSA training annually to all of your learners.
{% endhint %}

You may already have assigned trainings to your organization, but it was a point-in-time assignment and not all of the current learners of your organization have this training assigned.

To assign it to everyone, choose the training from the Assigned Trainings tab and then click the 'Assign' button and confirm.

<figure><img src="/files/2LQPM1S7dyuyLkWJ2Bsh" alt=""><figcaption><p>A new instance of FDCPA was created.</p></figcaption></figure>

### Modifying the Due Date

You can modify the due date for an instance of a training by using the Due Date selector in the top right of any training instances UI. Changing the due date will change the default for all learners.

{% hint style="info" %}
The final due date for a learner will be their specific due date if you have set a learner specific override or the global due date for the instance. Learner overrides take precedence.
{% endhint %}

### Nudging Everyone

You can nudge all learners of this particular instance who have not completed the training by clicking on the nudge button in the top right of the training instance UI.

### Advanced Settings

Click on the settings cog icon in the top right to open up the advanced settings pane.

<figure><img src="/files/8mCC3bcSIg70Ru2uc2jB" alt=""><figcaption><p>Advanced Settings Pane</p></figcaption></figure>

In the advanced settings pane, you can:

* Toggle the default requirement for this particular instance.
* Add supporting documents that are available to a learner when they take this training.
* Delete the training.

{% hint style="warning" %}
Note: Deleting a training will remove all progress data.
{% endhint %}

### Adding Learners

You can add as many learners as you want to a training instance. To begin adding learners, click on the "No People" icon to see a list of learners which have not set been assigned. You can begin selecting learners or decide to assign to everyone in your organization.

#### Assigning to Specific Users

<figure><img src="/files/cjLE8SQ6jQn8R0lbRpNd" alt=""><figcaption><p>Assigning to 2 specific users. See the "Assign to 2 Selected" at the top for this instance.</p></figcaption></figure>

#### Assigning to Everyone

<figure><img src="/files/cg7AZCxz7eOoROcxX8wE" alt=""><figcaption><p>"Assign to All" button will assign the training to all learners in your organization.</p></figcaption></figure>

### Assigning via Groupings

You can also assign by groups of: department, title, and state/region.

Click on the Advanced Group Filters to begin this and then use the dropdowns to filter the specific learner groupings you'd like.

<figure><img src="/files/VhiqT69ZQb8wazZzaEBA" alt=""><figcaption><p>Using the advanced group filters to filter by 'engineering' department.</p></figcaption></figure>

When you are ready, click "Assign All Filtered" to assign all those who are shown by the filters. You do not need to check each box individually when you use this button.

<figure><img src="/files/o5MLBjIbxsR9fJf6kfq4" alt=""><figcaption><p>After clicking 'assign all filtered', you will be asked to confirm</p></figcaption></figure>

### Removing Learners

To remove learners from an individual training, you can click on the settings cog to the left of their name in the assignment instance view. This will open a modal where you can toggle various settings, which includes removing them from this training.

{% hint style="warning" %}
Removing a learner from a training will also remove all progress data.
{% endhint %}

For more details on individual learner management for a training, see: [Trainings](/product-guides/internal-organizations/learner-management/trainings)


# Unassign a Training

You can unassign a training in two ways:

* Remove all learners at once
* Remove specific learners

## Remove all Learners

See details on the [Assign a Training](/product-guides/internal-organizations/training-management/assign-a-training#advanced-settings) documentation on how to enter the "Danger Zone" to unassign a training. Here you'll have access to a "Delete" button which will delete the training and remove all progress data and remove it from the list of trainings your learners must complete.

Deleting a training is [instance](/product-guides/internal-organizations/training-management#training-instances) specific, it does not apply to all instances of a training you have created.

## Remove a Specific Learner

You can remove a specific learner as well. See details here: [Removing](/product-guides/internal-organizations/learner-management/removing)


# Previewing a Training

You can preview trainings before assigning them. For more details, see: [Previewing a Training](/product-guides/trainings/previewing-a-training)


# Filtering Trainings

Describes the various ways you can filter training data for assignments.

## Filtering all Instances

You can filter all instances for a given training, by:

* Requirement status
* Campaign Association

<figure><img src="/files/7wHpHbIn9wSJrKROYKEN" alt=""><figcaption><p>The filter icon on the far right will open the filter menu for these options.</p></figcaption></figure>

<figure><img src="/files/s2J49k4o14rN6RLyNWFX" alt=""><figcaption><p>Filter Options - Shown is an example of toggling the requirement filter</p></figcaption></figure>

After setting these filters, the only available instances remaining will be those which match your filters.

## Filtering Individual Assignment Data

You can also filter the data within an individual assignment, such as which learner names, emails, roles, department, and more.

<figure><img src="/files/NnvnpUKmMq890CMTPFGN" alt=""><figcaption><p>Click the dropdown to see filtering options</p></figcaption></figure>

<figure><img src="/files/zmU1lcy0qpSqx257anNM" alt=""><figcaption><p>Enter your desired filter</p></figcaption></figure>

Filtering learners when assigning trainings can be helpful for assigning to only certain categories of learners, like:

* Sales
* Operations
* Engineering

You can also filter by groupings such as department, title, and state/region:

<figure><img src="/files/VhiqT69ZQb8wazZzaEBA" alt=""><figcaption><p>Filtering by 'Engineering'</p></figcaption></figure>


# Reporting

How to export training data reports for specific trainings.

## Exporting All Instances

You can export training data for all instances of a specific training. Navigate to the training you are interested in and click the "Export" button in the top right of the page. This will generate a CSV or PDF report that includes the training data for all instances across all learners who have been assigned that training.

<figure><img src="/files/yF2wnI07CUzxkBTVMsKd" alt=""><figcaption><p>Export button on the top right of the page to export all data for this particular training module.</p></figcaption></figure>

## Exporting a Specific Instance

You can also export the training data for just a specific instance as well. You can find this "Export" button in the table view for that instances data on the right.

<figure><img src="/files/3C5iXDjrgoSinsnnDvKY" alt=""><figcaption><p>"Export" button to generate CSV report on the middle right.</p></figcaption></figure>

## Exporting via Reporting Tools

You can export training data with a number of different filters available from the Reporting page. This allows you to also create resuable reports and schedulable reports.

Learn more here:

{% content-ref url="/pages/aXMxBELIuuAELqWcPZV5" %}
[Reporting](/product-guides/reporting)
{% endcontent-ref %}


# Manage Trainings in Bulk

On your training library page, you can manage your trainings in bulk with some quick actions.

* Change due dates
* Assign to everyone
* Unassign from everyone
* Nudge
* Generate a report

<figure><img src="/files/0VdyNxu617L6xtjZedIN" alt=""><figcaption><p>Three trainings are selected and a bulk actions header appears.</p></figcaption></figure>

When you select any number of trainings a bulk action header will appear. Click on it to manipulate the selected trainings.

<div><figure><img src="/files/n2punbOuFCYHg84gW6wU" alt=""><figcaption><p>Bulk Due Date</p></figcaption></figure> <figure><img src="/files/2BzzjjL2Bcl1ZZPk7BGA" alt=""><figcaption><p>Bulk Assigning</p></figcaption></figure> <figure><img src="/files/YiHHCRsLjuI1DxVUtnBX" alt=""><figcaption><p>Bulk Unassigning</p></figcaption></figure> <figure><img src="/files/AQNorj78n1b4pM9zd0Wo" alt=""><figcaption><p>Bulk Nudging</p></figcaption></figure></div>

You can also generate a report for the trainings which you selected.


# Training Quick Edits

From the training library page, you can perform quick edits on any training instance by using the context menu in the training row.

<figure><img src="/files/AegGRuUSLkxM73N2JT6g" alt=""><figcaption><p>Context menu for the UDAAP training on the right</p></figcaption></figure>

The context menu allows you to:

* View the training instance
* View the training details
* Nudge the learners of this training
* Quickly Edit some settings

### Quick Edit

<figure><img src="/files/rv6N6lnqK0hsZzkko1x3" alt=""><figcaption><p>Quick edit experience for the UDAAP training</p></figcaption></figure>

Once the quick edit option is selected, you can easily modify due dates and assign or unassign this training from everyone in your organization.

Should you want more fine grained controls like assigning or unassigning specific learners or setting due date overrides, you can view the training instance and perform those actions there.


# Set Due Date

Every training can have a global due date assigned. This due date will be set for each learner whenever you assign them the training.

To set a due date, navigate to the training page of interest and use the date input field to choose a new date. After choosing a new date, it will be in effect for all learners who have been assigned that training (unless you have already specified an override due date for that specific learner).

<figure><img src="/files/da3mZOJFrWaar2vBEyNj" alt=""><figcaption><p>Changing the due date from 9/4/2023 to 9/20/2023.</p></figcaption></figure>

<figure><img src="/files/G9XVqNOY2VHb7w9h87cg" alt=""><figcaption><p>Due date was changed for all learners.</p></figcaption></figure>

For details on learner specific due date override, see:

{% content-ref url="/pages/agrMxCf0IBVoPGIDvWO9" %}
[Override Due Date](/product-guides/internal-organizations/learner-management/trainings/override-due-date)
{% endcontent-ref %}


# Required vs Optional

Training instances can be assigned as required or optional. Both types of trainings will be visible to the end learner. But, in your reporting you will see a different output in your CSV to indicate if this training was optional or required. This is useful for you to separate data to bank sponsors (or similar) who only care about the required trainings.

## Why optional trainings?

You may want some trainings to be optional because they:

* are at a higher difficulty level and allow the learner to go above and beyond
* they are for fun educational purposes, such as "What committees does our company have?"
* they are useful to a learners domain, but not required for compliance reporting reasons

## Overrides

Requirements status can be set at a training instance level, but also overridden at a [learner level](/product-guides/internal-organizations/learner-management/trainings/requirement-override).


# Open Course Catalog

You can enable an open course catalog for your learners, which allows them to browse any course available to your organization.

By default, learners are only shown courses which have been assigned to them in their learner dashboard and experiences. However, you can enable optional access to the course catalog to allow learners to browse any course which your organization has access. This allows learners to browse subject matters they are interested in, even outside of the mandatory trainings.

<figure><img src="/files/YJFT7WpPrqoinWY7uN0f" alt=""><figcaption><p>Learners will see "Other Available Courses" when enabled.</p></figcaption></figure>

<figure><img src="/files/dw3EZqjNswceA9uMDVz2" alt=""><figcaption><p>And they will have a link to the preview version.</p></figcaption></figure>

#### Enabling the Course Catalog

<figure><img src="/files/mDPQ8GkUhjGTkVjwioNn" alt=""><figcaption></figcaption></figure>

As an admin navigate to your admin dashboard and then the Settings page. Then click on the Training Settings tab. You will find your organizations training settings, which includes the checkbox for enabling or disabling the course catalog view.

#### Combined with Assigned Courses

If a learner is assigned a course which is not yet complete, that course will not show up in the additional courses section available for them to preview. Instead, they will only have the link to take the assigned course from their dashboard or training list view.

#### Tracking Consideration

Courses which are browsed by learners from the course catalog are not tracked for progress and completion. Only courses which have been assigned by organization admins come with tracking and completion monitoring.

Learners taking these other courses on their own are just for self-study purposes.


# Supporting Documents

See more details on supporting document use cases and management here: [Supporting Documents](/product-guides/supporting-documents)


# Nudge

Nudges are a friendly reminder email sent to learners to complete a specific training.

<figure><img src="/files/GOf2dFyMFuBVm9ONIbdE" alt=""><figcaption><p>Example 'Nudge' email.</p></figcaption></figure>

You can nudge all learners for a specific training by navigating to the training details page and then clicking on the 'Nudge' button.

<figure><img src="/files/XNz3BzIksWo2DmkL9t0U" alt=""><figcaption><p>Click the 'Nudge' button in the top right to send out an email to all learners who have not yet completed this training.</p></figcaption></figure>

To learn how to nudge individual users, see:

{% content-ref url="/pages/dq0ybnmKn6O0RwndNsTW" %}
[Nudges](/product-guides/internal-organizations/learner-management/trainings/nudges)
{% endcontent-ref %}


# Via Sponsor

For organizations which have a sponsor parent organization, you may be assigned trainings to your organization directly from this sponsor.

You can manage these trainings much like any other training that you will have brought to your own organization.&#x20;

<figure><img src="/files/q6jYu5bFF7p9ArzAA5Sj" alt=""><figcaption><p>Example training instance assigned by sponsor organization</p></figcaption></figure>

## Limited Modifications

When you are assigned a training by a sponsor organization, you are unable to:

* Modify the due date
* Delete the assignment

If you would like to make these changes, you will need to contact your sponsor organization. They are noted in the "Assigned By" area in the image above, and next to their name is an "External" badge to further show that this was externally assigned to you.

## Assignment Requirements

Your sponsor will also publish a list of requirements to help you onboard your learners into this specific training instance.

### Roles

Some trainings will have role/department based requirements. When these are present, you should attempt to assign the trainings to just the targeted learners that best match the high level department description.&#x20;

For example, in the image above there is a requirement for the "Operations" role. At your organization, you might call this "Customer Service". You might even have more than one department which is applicable, such as "Customer Service" and "Fraud Operations". When in doubt, contact your sponsor admin.

### Join Date

Instances can also filter the learners by their join date. A sponsor might want this to indicate that you only need to train new employees on this past a certain date, like Jan 1, 2024.

In these cases, when assigning your trainings, be sure to filter in only those employees whose join date is after the requirement.

### All Learners

In the absence of one or both of Roles and Join Date designations, the training should be assigned to all learners at your organization.

### Notes

The training instance assignment might also contain notes from the sponsor organization. Notes are freeform messages that the sponsor wants to use to help guide you on the assignment.

## Fulfilling the Training

To fulfill the training from the sponsor organization, assign the targeted learners to it and use the tools within the Affinity platform to ensure those learners take, pass, and complete the assignment.

Their statuses will be updated in real time as they progress and you can export reports at any time. Your sponsor organization will also have access to the report data.


# Dashboard

The default landing page for your internal organization, is the Dashboard.

The dashboard aims to at a glance give you insight into how all of your trainings are performing. Where performing means:

* Overall completed %
* Departments that are struggling
* Roles that are struggling
* Number of learners and trainings in your account

Using the dashboard you will know quickly what specific learners, groups, or trainings to dive into with any potential issues.

<figure><img src="/files/k9yf5YknTbLLdKcfWPdY" alt=""><figcaption><p>This demo organization is not performing well...but at least we know!</p></figcaption></figure>


# Reporting

Reports are csv or pdf files which present fine grained and summary training data.

You can generate reports at almost every level of granularity for your organization:

* By learner
* [By training](/product-guides/internal-organizations/reporting)
* By organization
* [By campaign and programs](/product-guides/campaigns/reporting)

To generate a report, find an "Export" button on a page of interest and click the button to start downloading the CSV or PDF.

<figure><img src="/files/K3tXAjUursNdWslVKZJn" alt=""><figcaption><p>Export button in the top right which will export a report for all of your learners training data.</p></figcaption></figure>

Reports will also include auditing data such as any notes or overrides that were set for a specific training for a specific user.

<figure><img src="/files/3tBxymlWfCHDNtjTELbr" alt=""><figcaption><p>Example report for just the Marketing of Financial Products training.</p></figcaption></figure>

Learn more about the different ways to report on your data here:

{% content-ref url="/pages/aXMxBELIuuAELqWcPZV5" %}
[Reporting](/product-guides/reporting)
{% endcontent-ref %}


# Rules Engine Management

The Rules Engine is a way of automating workflows for your training administration.

Rules have the following three primary components:

* Targets
* Triggers
* Actions

## Targets

Targets are the entities which should react to the specific trigger. It is what company, group, training, etc you are targeting with this rule.

For example, you might target "All" companies combined with targeting "Privacy Training" with a specific rule. This means this rule would apply to all companies and just for the Privacy Training module.

As an internal admin, your company target is implicitly, "All", which represents your own organization.

Your targets can also include specific [learner tags](/product-guides/tags#learner-tags).

## Triggers

Triggers decide when this rule would take effect. There are three types of triggers:

* Every new employee
* Every new organization
* Every new training

### Every new employee

This trigger is enacted when you add a new employee to your organization.

### Every new organization

This trigger is enacted when you add a new organization to your portfolio. Note: this does not apply to internal organizations.

### Every new training

This trigger is enacted when you add a new training to your library.

Actions

Actions are the result of what happens based on the targets and triggers. It will apply the action to all of the applicable targets based on the trigger.

For example, if you had a rule with a trigger of "Every new employee" and a target of "Privacy Training" with an action of "Assignment as required in 30 days", this would automate adding Privacy Training to all of your new learners each time you onboarded them and always make it due 30 days from their start date.

There are three types of actions:

* Assignment
* Nudge Schedule
* Due Date Enforcement

### Assignment

This action will assign the training module to the target/trigger pairing with the specified relative due date and optionality.

### Nudge Schedule

This action will create a set of scheduled nudges relative to the due date if a learner has not yet completed the training by that nudge date.

### Due Date Enforcement

This action has no effect for internal organizations.


# Creating a Rule

You can create rules by going to the Rules page. You can have an unlimited number of rules, and each rule acts independently of the other rules. Rules can also be edited at any time.

To create a new rule, click the floating action button plus sign on the Rules page.

<figure><img src="/files/LmOF7bKroEyzlUjaXkRB" alt=""><figcaption><p>Click the floating action button to start creating a new rule.</p></figcaption></figure>

<figure><img src="/files/fv0alvlewGAxw0f0IUJw" alt=""><figcaption><p>An empty rule creation dialogue.</p></figcaption></figure>

Give the rule a name and set the targets, triggers, and actions as desired. Once set, click save. The rule will now be in effect.

<figure><img src="/files/KQ8SqBZ9FyLI3gymiOdR" alt=""><figcaption><p>Example Nudge rule that gets added to every new employee and applied to all trainings.</p></figcaption></figure>


# Editing a Rule

You can edit a rule in the same way that you would create a rule. To begin editing, change any existing field in the rule editing panel. You will see a "Save Changes" button appear after you make a change. Click the button to commit the changes or click cancel to revert the process.

<figure><img src="/files/w7KA9PVR2jedrgcuuUR2" alt=""><figcaption><p>Rule was edited to add the 15 day nudge rule.</p></figcaption></figure>


# Disabling a Rule

You can disable an existing rule by changing the visibility.

To change the visibility, press the 'eye' icon in the top right. This will toggle it on or off.

Disabling a rule, will only disable the forward looking effects. Any rule evaluations which have happened in the past will remain, such as assigning a specific training to a learner.

<figure><img src="/files/W7hfIbzuxVTjwSlJl5cX" alt=""><figcaption><p>The Assignment Rule is disabled, while the Nudge rule is enabled.</p></figcaption></figure>


# Billing

You can upgrade or downgrade your plan at any time using the Settings->Billing page.

Affinity accepts credit cards and uses Stripe to manage payments and subscriptions. You will be billed for each active seat you are using.

The billing page will show you details of prior invoices as well as your current plan details.

Please contact us if you have any questions or which to explore enterprise options.

## Upgrading the Free Plan

To upgrade the free plan, navigate to the billing panel in settings and then:

1. Add a valid credit/debit card as a payment method
2. Click subscribe to the Pro Plan

### Editing Billing Contact

You can edit the billing contact who will receive the automated invoices. This setting can be changed at any time. Navigate to the Settings page followed by the Billing tab.

Underneath Payment Method you will find a panel where you can edit the email contact of your billing manager.

<figure><img src="/files/fgGUM4Sdr1GTDVfUtgA2" alt=""><figcaption><p>Example of Editing the Billing Contact. Click 'save' to finalize the change.</p></figcaption></figure>


# Sponsor Onboarding

{% hint style="info" %}
This information is only applicable if your organization is being onboarded via an external/sponsor organization.
{% endhint %}

Some internal organizations might have one or more reporting sponsors. These organizations will invite you to join the Affinity platform and connect your account to theirs. They will be able to assign you trainings and see the reporting status of these trainings.

If you are unsure if you have a connection to one of these accounts, check your settings page.

## Onboarding

When your sponsor organization invites you to create and manage your own organization within the Affinity platform, you will need to go through a light onboarding process.

### Account Information

* First Name
* Last Name
* Title
* Department

### Learner Information

You will also be able to bulk upload your learners at this time if you are ready. This part of the process is skippable and you can upload learners in bulk later, or do so one at a time when you are ready.

## Training Assignments

You manage training assignments in the same manner as all other internal organizations. Additionally, for trainings which were assigned by your super admin, you will see an "External" designation next to them.

<figure><img src="/files/2d2wLsGaMFc9U0lihtNd" alt=""><figcaption></figcaption></figure>

When you click into one of these trainings, you will see additional information about who in your organization needs to take the training, and also any notes from the super admin to you about the trainings.

<figure><img src="/files/D6KE7JuoTmZa4f08vUwx" alt=""><figcaption></figcaption></figure>

You should assign learners of your organization which match the requirements. If there are specific roles like "Operations" but your organization does not have "Operations" specifically, you should assign the most similar role that matches that at your organization. If you are still unsure, reach out to the super admin support who has onboarded your organization.


# Slack Integration

Receive nudges, reminders, and assignment notifications straight to your learners in Slack!

Organizations can connect their Slack accounts to Affinity in order to have learners receive updates and nudges over Slack in addition to email.

To install the Affinity Slackbot app, your admin must also be an authorized installer of Slack apps for your company.

Navigate to the Settings page of your administrative account and find the section title "Slack Integration".

<figure><img src="/files/0cMg5gEVAfsOQL7G10p9" alt=""><figcaption></figcaption></figure>

If you are already connected, you will see the details of your connection. Otherwise you will see a button instructing you to connect with Slack.

<figure><img src="/files/XxQcyyxbZTBdX1nfag8v" alt=""><figcaption></figcaption></figure>

After you hit "Connect Slack" you will then need to authorize the "Affinity Slackbot" app to access your workspace. This app asks for permissions which will allow it to:

* Direct Message users in your organization
* Let users in your organization direct message the Slackbot

<figure><img src="/files/AHp3NoVCiTZVcCmy77A1" alt=""><figcaption></figcaption></figure>

If you allow the connection and it is successful, you will be redirected back to the Affinity app and shown a success message. Click the "Back to Settings" button to see the details of your installation.

<figure><img src="/files/Ts3hyJIBg4NTXRDeEI6s" alt=""><figcaption></figcaption></figure>

You can then toggle on and off certain notifications you would like users to receive from Slack.

To uninstall the integration, your Slack admin must uninstall it using the Slack controls from their workspace.


# Rules & Schedules

You can configure an assortment of rules and schedules within the Affinity platform which allows you to automate much of your workflows.

## Nudge Schedule

You can create a default Nudge Schedule for your organziation which will ensure that learners are reminded of trainings they need to complete.

## Recurring Schedules

You can create a recurring schedule which allows you to automate your workflow of assigning trainings on yearly or other periodic basis. As well as useful workflow for assigning trainings to new hires.

## Rules

{% hint style="info" %}
We are phasing out the original Rules platform in favor of the more feature rich Recurring Schedules. If you have Rules currently they will continue to work.
{% endhint %}

{% content-ref url="/pages/SYekSQe1s1qe5q9ip1PP" %}
[Rules](/product-guides/rules)
{% endcontent-ref %}


# Nudge Schedules

Nudges are friendly reminders to learners to finish their incomplete trainings. You can create a schedule for which days they automatically receive these reminders.

<figure><img src="/files/NzqfVA8dJUzpDTUrHHdW" alt=""><figcaption><p>Example Nudge Schedule</p></figcaption></figure>

Admin's of organizations can create a nudge schedule to automate the workflow of sending reminders to learners with incomplete trainings. You can schedule reminders up to 30 days before due and 30 days after due.


# Recurring Schedules

Recurring schedules are a workflow automation tool to allow you to schedule training events in the future. The two most common uses are: New Hire Training Automation and Yearly Required Trainings

#### Introduction

In Affinity's Learning Management System (LMS), recurring schedules are a powerful feature designed to automate the process of assigning and managing training sessions or campaigns for your organization. This functionality ensures that all employees are consistently updated with the necessary training, reducing the need for manual intervention and helping maintain compliance.

{% embed url="<https://www.loom.com/share/f720bdf43b714882b54181ebac06a719?sid=a0bb51a5-807c-44f6-8529-73feb5156666>" %}
Overview into Recurring Schedules
{% endembed %}

#### What Are Recurring Schedules?

A recurring schedule is a pre-configured set of rules that dictates how and when specific training modules or campaigns should be automatically assigned to users within your organization. These schedules can be tailored to run on a variety of cadences—daily, weekly, monthly, yearly, or even quarterly—depending on the needs of your organization.

#### Why Use Recurring Schedules?

There are several key reasons why recurring schedules are essential for managing your organization's training programs:

1. **Consistency in Training**: By setting up recurring schedules, you ensure that all employees receive training regularly. This is particularly useful for annual compliance training or other mandatory learning modules.
2. **Automation**: Recurring schedules automate the assignment of training, significantly reducing the administrative overhead. Once set up, these schedules will automatically assign the necessary training to the appropriate users based on the criteria you define.
3. **Flexibility**: You can configure recurring schedules to meet the specific needs of different departments, roles, or groups within your organization. For example, you can set a schedule that assigns a particular set of training modules to new hires or a specialized set of trainings to a specific department.
4. **Customized Timing**: The system allows for scheduling based on various periods, such as yearly or quarterly, and offers the flexibility to set the due date for the training after a certain number of days from the start date. This ensures that the training is completed within the required timeframe without overwhelming the employees.
5. **Enhanced Compliance**: For organizations in regulated industries, recurring schedules are vital in ensuring that all employees complete mandatory training on time, thereby maintaining compliance and avoiding potential penalties.

#### How Recurring Schedules Work

When creating a recurring schedule in Affinity's LMS, the administrator can select the training modules or campaigns that need to be included. Here’s how it works:

1. **Name and Period**: You start by giving the schedule a name and selecting the period on which it should recur (e.g., yearly, monthly).
2. **Training and Campaign Selection**: You can choose specific trainings or campaigns that this schedule will apply to, allowing for precise control over what content is delivered.
3. **Start and End Dates**: Set the start and end dates for the schedule, determining the timeframe in which the training should be completed.
4. **User Assignment**: Choose how the schedule should apply to your organization—whether it’s for all users, specific departments, or based on join dates for new employees.
5. **Due Date Offset**: This option allows you to set a specific number of days from the schedule’s start date to when the training is due, providing further customization for your training timelines.
6. **Handling Existing Trainings**: You have the option to add the new trainings into existing sessions or start new ones, depending on what best fits your organization’s workflow.

<figure><img src="/files/JqfV8ieKWZXx9UuiVEvb" alt=""><figcaption><p>Example list of different recurring schedules</p></figcaption></figure>

<figure><img src="/files/H1KBMxthZHFcaTb5Bi64" alt=""><figcaption><p>Creating a recurring schedule</p></figcaption></figure>

#### Use for New Hire Trainings

When setting up new hire trainings, it is recommended to set the schedule period to **"DAILY"**. This ensures that the system identifies new hires based on two key conditions:

1. **Start Date-Based Inclusion:**
   * The system checks for employees whose **start date falls within the past 24 hours**, meaning between the **last time the schedule ran and the current execution time**.
2. **Creation Date-Based Inclusion:**
   * Additionally, the system looks for employees who were **added to the system within the past 24 hours** and have a **start date between the minimum join date and the current execution time**.

#### **Setting the Minimum Join Date**

* The **minimum join date** acts as a cutoff to determine which employees should be considered for new hire training.
* If you are **onboarding an entire organization for the first time**, setting an appropriate **minimum join date** prevents all existing employees from being treated as new hires.

This approach ensures that new hire training schedules accurately include recent hires while preventing unnecessary enrollments from legacy employees.

<figure><img src="/files/LFrTvyKmxx9UKwbMmtZh" alt=""><figcaption><p>A schedule where the minimum join date was July 1, 2024</p></figcaption></figure>

<figure><img src="/files/Dv7hswnKBsml0Mfcrhkw" alt=""><figcaption><p>Setting the minimum join date when creating or editing the schedule</p></figcaption></figure>

#### Visualizing Recurring Schedules

In the Affinity LMS, the recurring schedules are visualized in a dashboard that shows all active schedules, their status, and detailed information about the next and last run dates. This interface provides a clear overview, helping administrators to manage and monitor training schedules effectively.

### Recurring Assignment Timing

When creating a recurring schedule, you can choose how the system decides when learners should receive the selected trainings or policies.

<figure><img src="/files/41CnbRFP7S1Ak2nLL3Di" alt=""><figcaption></figcaption></figure>

#### Fixed Schedule Date

Use this option when everyone should receive the training on the same schedule.

For example:

* Every month on the schedule date
* Every quarter
* Every year starting from the schedule start date

This is best for company-wide training cycles where all eligible learners should be assigned at the same time.

**Custom recurring schedule cadence**

Fixed-date training schedules can repeat at custom intervals, such as every 2 months or every 3 years.

*Configure cadence*

1. Select Fixed schedule date.
2. Enter a value from 1–100 in Repeat Every.
3. Select Days, Weeks, Months, Quarters, or Years.
4. Set the schedule dates and save.

Examples:

* `1 Month` — every month
* `2 Months` — every other month
* `3 Years` — every three years

Schedules remain aligned with their original start date. Month-end dates automatically use the last valid day when necessary. Existing schedules default to an interval of `1`.

#### Learner Profile Date

<figure><img src="/files/NiI5qF96Ig81xuzhQWY6" alt=""><figcaption></figcaption></figure>

Use this option when each learner should receive training based on a date from their learner profile.

You can choose:

* Start Date: assign based on the learner’s start date
* Anniversary Date: assign based on the learner’s anniversary date

For example, if a learner’s anniversary date is April 1 and the schedule repeats every 1 year, the learner will receive the selected trainings each year on April 1.

If a learner does not have an anniversary date, the system will use their start date instead.

This is best for training that should happen around a learner’s hire date or annual anniversary.

#### Previous Assignment Date

<figure><img src="/files/W5y436ItqI3HOsc1MWQD" alt=""><figcaption></figcaption></figure>

Use this option when each learner should receive training based on when they were last assigned that specific training or policy.

For example, if a learner was assigned Training A on March 1, and the schedule repeats every 1 year, they will be assigned Training A again the following March 1.

Each training is evaluated separately. This means a learner may be due for one training before another, depending on when each training was last assigned.

This is best for recurring compliance training where each learner’s renewal cycle should be based on their own assignment history.

### Repeat Every

For Learner Profile Date and Previous Assignment Date schedules, choose how often the assignment should repeat.

Examples:

* Every 1 year
* Every 6 months
* Every 2 years
* Every 90 days

The system checks eligibility each day and assigns the training only when a learner reaches the selected timing.

### Important Notes

* These timing options apply to trainings and policies, not campaigns.
* Due dates are still calculated from the assignment date.
* Learners who are not eligible on a given day will not receive a new assignment.
* If a learner’s profile date changes, future assignments will use the updated date.
* For February 29 dates, the system uses February 28 in non-leap years.

### Pause a recurring schedule

Pausing temporarily prevents a recurring schedule from running without deleting its configuration or upcoming runs.

#### Pause a schedule

1. Open Training Schedule and Settings Manager.
2. Locate an active schedule.
3. Select the Pause icon beside Next Run Date.
4. Confirm the action.

The schedule displays a Paused badge. Runs that become due while paused remain pending.

#### Resume a schedule

Select the Resume icon beside the Paused badge, then choose how to handle runs that became due while paused:

* Replay missed runs — Runs each missed event immediately, oldest first. This may create overdue learner assignments.
* Mark missed runs completed — Skips assignment creation for missed events and continues with the next scheduled run.

Select Resume schedule to confirm.

{% hint style="info" %}
Review the missed-run count and date range carefully. Marking runs completed does not create assignments for those runs.
{% endhint %}

Schedules paused for rollback repair must be resumed through Run History instead of the standard resume action.

## Roll Back a Recurring Schedule Run

Admins can roll back an incorrectly configured recurring schedule run, correct the schedule, and replay the affected runs.

{% hint style="info" %}
Rollback permanently deletes the training assignments and learner progress created by the affected runs which you are currently rolling back. Previously sent notifications cannot be recalled.
{% endhint %}

### Roll back a run

1. Open the relevant training settings card.
2. Select View run history next to Last Run Date.
3. Find the run and select Roll back.
4. Review the affected runs, assignments, and learners.
5. Select a rollback reason and confirm.

Rolling back an older run also rolls back every later completed or failed run. The schedule is then paused, preventing it from running automatically.

### Correct and replay the schedule

1. Use Edit schedule to correct its configuration.
2. Return to Run History.
3. Select Replay runs.
4. Confirm the replay.

Runs are replayed from oldest to newest using the corrected configuration.

### Limitations

Rollback is available only when:

* The run occurred within the last 90 days.
* The schedule is active.
* The schedule does not use campaigns.
* The schedule does not add learners to existing trainings.
* No affected run is currently running.

## Conclusion

Recurring schedules in Affinity's LMS are an essential tool for any organization looking to streamline their training processes, ensure compliance, and reduce administrative overhead. By automating the assignment of regular training, your organization can focus on growth and development, knowing that your employees are receiving the necessary training at the right time.


# Advanced - Campaigns and Recurring Schedules

Some advanced considerations when using campaigns with rules.

{% embed url="<https://www.loom.com/share/7b4ecb9468f14f609b655424b7f2b16b?sid=165c9b59-a7f1-40d0-81cf-766cf0d15ce5>" %}
Video overview of using Campaigns with Recurring Schedules
{% endembed %}

It's possible to create recurring schedules which leverage already existing campaigns. But, what does this mean? What learners are involved?

When a recurring schedule has specified a campaign as part of the schedule, this means that the campaign will be used as a template for programs and trainings within those programs. The **campaign** **will not** be used as a template for any learner configuration. The **recurring schedule** will be used as the determiner of which learners should be added to a campaign.

Let's take an example: You want a recurring schedule for all your Technical Teams. So you create a campaign called: "*Technical Teams Campaign*". Technical Teams Campaign has 2 programs in it, and each program has 2 trainings. Generally it would be outlined like the following.

* Technical Team Campaign
  * Program: Soft Skills
    * Training: Communication Channels
    * Training: Understanding Performance Reviews
  * Program: Hard Skills
    * Training: Clean Desk Policy
    * Training: Information Security

In this example, what you want to use recurring schedules for is to create a schedule that any time there is a technical hire in the departments of Engineering, Infrastructure, or IT to assign them the trainings from this campaign. So, how would you do this?

You create a new recurring schedule and set the campaigns selected as "Technical Team Campaign" and then you specify include departments as: Engineering, Infrastructure, and IT. And a DAILY run date targeting new hires.

What will happen is each day, the schedule will look for new hires since the last time the schedule ran (yesterday) and if there are any new learners who match these departments, they will be added into a **new campaign** which is a copy of "Technical Team Campaign" and be assigned all 4 trainings above.

They **will not** be added into the original "Technical Team Campaign" but a copy of it. This is why you do not, nor should, add learners into the original template campaign.

What we've outlined here is only applicable for campaigns which you intend to use as part of the recurring schedules workflow.

Now that you've understood the above, we can simplify it as follows:

* The learners are determined by the settings in the **recurring schedule filters**
* The trainings are determined by the **template campaign**
* The result is a duplicated **template campaign** with the learners assigned from the **recurring schedule filters**

Combining all of the above allows you to create a very powerful schedule where you can utilize the strength of campaigns to outline trainings into logical groups, and the easy of recurring schedules to automate new hire assignments.


# Notification Settings

Configure custom notification settings for your organization.

<figure><img src="/files/K9lkD74IQlL92zZJnA0T" alt=""><figcaption></figcaption></figure>

In your Settings area of the admin management portal for your organization you can find some toggle switches for different email notifications which would be sent to your learners.

When toggled to the right to green, this means the notifications are on.

Some admins prefer to keep these notifications off while they set up their courses. Generally we advise these to remain on so that learners will receive relevant communication and get to take advantage of our workflow features.

### Slack Notifications

You can also enable and disable notifications related for Slack in addition to emails. You will find the settings for these below the email notification settings. They will only be shown if you have a Slack connection active.

### Admin Notifications

Your admins can have additional notifications enabled on their accounts to stay up to date with platform usage. The following two settings are possible:

* User Removed From Org ⇒ Receive an email each time a user is removed from your organization.
* New Module Assigned ⇒ Receive an email each time a new module is assigned to **anyone** in your organization.

<figure><img src="/files/1L1m9Zk1JwPPCdiut0ha" alt=""><figcaption><p>Click on the settings cog icon on the right to open the settings experience for admin notifications.</p></figcaption></figure>

<figure><img src="/files/ivFvEJqBOgOHdpxJ4PMd" alt=""><figcaption><p>Toggle on or off the desired notification setting</p></figcaption></figure>

Check the boxes to enable these email settings and uncheck to disable them.


# Downloading PDFs

Some courses have download to PDF capabilities.

## Overview of Downloading PDFs

Affinity supports the ability to download a PDF version of the course. The expanded version of the course:

* includes all text content&#x20;
* all expanded content, such as expansion sections, or flip cards being flipped
* downloaded images
* answers to knowledge based questions

Downloaded PDFs will not include:

* video materials
* audio materials
* accessibility related features

### How to Download

#### From the Training Instance View

<figure><img src="/files/T1aBvTUMdbgL9dLomjGB" alt=""><figcaption></figcaption></figure>

Navigate to the training instance view and you will see a dropdown on the right for eligible trainings which includes a "Download PDF" link. Clicking this will trigger a generation of the course PDF and will begin the download. Depending on the size of the course, this can sometimes take a few minutes to process.

#### From the Course Authoring Platform

<figure><img src="/files/opBciKdCqWTeUiXT1Nv5" alt=""><figcaption></figcaption></figure>

In the course authoring platform, you can use the versioning controls to find download links. The download buttons here allow you to do point-in-time downloads of the course content which you have created. Depending on the size of the course, the generation and download could take a few minutes.

Depending on the age of old courses, the images might not be available in historical versions. But, images will always be available in the most recent version.

### Eligible Courses

Courses which have been built natively with the Affinity course authoring platform will be eligible for downloads. Additionally, most courses, produced by Affinity for use on the platform will also be eligible for PDF downloads. If a course is no eligible, you can contact your Affinity representative or support to learn more about your options.

### Recommendation vs Preview Links

Affinity recommends you use share links as much as possible when trying to share course material with other parties. Share links are preferred because they include all types of media, such as video. And, they are always guaranteed to represent the latest version of the course when you share it.

Learn more about share links: [Share/Review Links](/product-guides/lms-authoring/share-review-links)


# External Organizations

External organizations, sometimes called Sponsor organizations, are for those who wish to manage one or more portfolio organizations they are accountable for the training success.

Two examples:

1. A buy-now-pay-later (BNPL) company that has 120 merchants and must ensure they each take required compliance training. The BNPL would be set up as an external organization and they could onboard each of those 120 merchants onto the platform and roll out trainings to them.
2. A large bank that has 35 regional banks and must ensure each regional bank completes the periodic ongoing compliance trainings. They would onboard all 35 banks and roll out trainings to them.

An organization can be both External and Internal at the same time.

The external organization is managed by the Super Admin.

For your portfolio organizations, you can:

* Assign trainings to all or a subset of these organizations
* Run reports in aggregate or piecewise for specific organizations
* Set rules specific to a combination of organizations, trainings, and sectors.

{% hint style="info" %}
The external organization product of Affinity is different than the internal organization product and has different pricing structures. You must contact Affinity if you are interested in using the external product in order to set up a proper pricing quote for your use cases.
{% endhint %}


# Dashboard

The default landing page for your external organization, is the Dashboard.

The dashboard aims to at a glance give you insight into how all of your portfolio companies  are performing with the trainings you have assigned to them. Where performing means:

* Overall completed %
* Departments that are struggling
* Sectors that are struggling
* Companies which need to improve success metrics
* Number of learners and trainings in your account

Using the dashboard you will know quickly what specific portfolio copmanies, learners, groups, or trainings to dive into with any potential issues.

<figure><img src="/files/D1dIwSbVDHqlE2u4SATu" alt=""><figcaption><p>Example dashboard for an external organization super admin.</p></figcaption></figure>


# Portfolio Management

As an external organization you can have one or many portfolio organizations under your purview.

<figure><img src="/files/ha7iGd0jFrc4DYDcSihc" alt=""><figcaption><p>Example portfolio view</p></figcaption></figure>


# Inviting Organizations

To invite a new organization, click on the "Add New Company" button on your portfolio page.

<figure><img src="/files/jjKJvRRGVxBSEJLxhGd2" alt=""><figcaption></figcaption></figure>

Then fill in the details for the organization you wish to invite and click create. When you click create it will add the organization to your portfolio and the admin you specified will receive an email to create their account and set up their organization.&#x20;

### Step 1 - General Company Info

<figure><img src="/files/OVd6oIPVGVXJ3uNta0vp" alt=""><figcaption></figcaption></figure>

### Step 2 - Administrator Contacts

<figure><img src="/files/HaHVVwnccNs7bVCEGnkf" alt=""><figcaption></figcaption></figure>

### Step 3 - Review Information and Submit

<figure><img src="/files/PnmzS7UfwCnQiZk1Lmr3" alt=""><figcaption></figcaption></figure>

At this point, the organization will be viewable in your super admin portfolio panel. Once the organization accepts your invite, you will receive an email informing you.


# Performance

You can see performance data for each of your portfolio companies in the portfolio page view. It will show you, by company, how their learners are progressing through required trainings.

<figure><img src="/files/mAnAmykKK75LXPcVh1MQ" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
If there is other performance data you wish to see, please reach out to us and we can work with you to generate custom graphical reports.
{% endhint %}


# Reports

As a sponsor of your client organizations in your portfolio, you have access to real time data of their performance on assigned trainings. Thus, you can create reports at any time, for any needs.

There are a few ways you can access and create your needed reports:

* By Portfolio at large
* By Individual Company
* By Training for Individual Company
* By Individual Training

## Generate a Report

<figure><img src="/files/WgT7H3Af8QK7pkrKCaQb" alt=""><figcaption></figcaption></figure>

You can generate a report for all of your portfolio companies in three different ways:

1. Global Portfolio Company report
   1. This can additionall be refined by the sector you are interested in
2. Individual Company report
   1. Choose a company of interest to generate a report
3. Partner Specific Report
   1. For any of your reporting partners, you can generate a report for them&#x20;

Select a date range for your report. The date range is related to the due date of the assignment. Then you can click next and download the report.

<figure><img src="/files/1JV0A9MJjiaOYDvObb2x" alt=""><figcaption><p>Partial view of the exported CSV of training data for a set of fake companies and learners.</p></figcaption></figure>

## Report by Client

<figure><img src="/files/SxfQXjqVipzVaF4JTDZe" alt=""><figcaption><p>"Export Report" button available on client page</p></figcaption></figure>

Navigate to a client of interest in your portfolio and you can click the "Generate Report" button in the top right to generate a report of lifetime completion data for this organization.

You can drill down into the specific trainings you would like to include in the report as well as setting different time periods.

## Report by Training for Client

When on a client's page, you can see their list of trainings that have been assigned and select any one to "Export" an single report for just that training. See the image above in Report by Client for what this row looks like.

## Report by Training

Navigate to a particular training detail page to be able to report by:

* All companies in the portfolio for all instances of this training
* Company by company instance

<figure><img src="/files/uFXTmEs98IqwQLRmJiyb" alt=""><figcaption><p>Report from the training detail page in two ways: 1) export entire portfolio, 2) export by client instance</p></figcaption></figure>


# Details

Every company in your portfolio has a details page to see more specific information about that company.

You can access the details page by clicking on the row in the list view on the portfolio page.

<figure><img src="/files/UadaKtF4Q3FvInezYJC0" alt=""><figcaption></figcaption></figure>


# Tags

Tags allow you to logically group your portfolio companies. Tags are useful for managing these companies for reporting, workflow, and assignment purposes.

<figure><img src="/files/j3AEmwced6h9LQwMOAh3" alt=""><figcaption><p>Tagging interface for a super admin's portfolio companies.</p></figcaption></figure>


# Learner Details

Here you will see the fine grained details by learners of your portfolio companies.&#x20;

{% hint style="info" %}
This is not enabled by default on accounts and is set up on a case by case basis depending on information rights.
{% endhint %}


# Admin Management

You can add more admins to the external organization to help manage and roll out trainings. All admins have the same level of permissions as one another.

Navigate to the settings page to begin adding and removing admins.

<figure><img src="/files/NPyEOSPmsUKo4UZPMaWT" alt=""><figcaption></figcaption></figure>


# Rules Engine Management

The Rules Engine is a way of automating workflows for your training administration.

Rules have the following three primary components:

* Targets
* Triggers
* Actions

## Targets

Targets are the entities which should react to the specific trigger. It is what company, group, training, etc you are targeting with this rule.

For example, you might target "All" companies combined with targeting "Privacy Training" with a specific rule. This means this rule would apply to all companies and just for the Privacy Training module.

As an external admin, your rules can target "All" your portfolio companies or a subset of them.

Your targets can also include specific [tags](/product-guides/tags).

## Triggers

Triggers decide when this rule would take effect. There are three types of triggers:

* Every new employee
* Every new organization
* Every new training

### Every new employee

This trigger is enacted when you add a new employee to your organization.

### Every new organization

This trigger is enacted when you add a new organization to your portfolio.&#x20;

### Every new training

This trigger is enacted when you add a new training to your library.

Actions

Actions are the result of what happens based on the targets and triggers. It will apply the action to all of the applicable targets based on the trigger.

For example, if you had a rule with a trigger of "Every new employee" and a target of "Privacy Training" with an action of "Assignment as required in 30 days", this would automate adding Privacy Training to all of your new learners each time you onboarded them and always make it due 30 days from their start date.

There are three types of actions:

* Assignment
* Nudge Schedule
* Due Date Enforcement

### Assignment

This action will assign the training module to the target/trigger pairing with the specified relative due date and optionality.

### Nudge Schedule

This action will create a set of scheduled nudges relative to the due date if a learner has not yet completed the training by that nudge date.

### Due Date Enforcement

This action dictates what type of overrides your portfolio organizations can perform.


# Creating a Rule

See details for the internal organization:

{% content-ref url="/pages/6ZcVJhwn1Cf0InxwD7kl" %}
[Creating a Rule](/product-guides/internal-organizations/rules-engine-management/creating-a-rule)
{% endcontent-ref %}


# Editing a Rule

See details for the internal organization:

{% content-ref url="/pages/GrghLox9C9ZsLc6Mvl2j" %}
[Editing a Rule](/product-guides/internal-organizations/rules-engine-management/editing-a-rule)
{% endcontent-ref %}


# Disabling a Rule

See details for the internal organization:

{% content-ref url="/pages/6OEi2PHe2aMqkpFSXW94" %}
[Disabling a Rule](/product-guides/internal-organizations/rules-engine-management/disabling-a-rule)
{% endcontent-ref %}


# Training Management

An admin for an external organization can manage the trainings they distribute to all of their portfolio companies.

The Training Library page shows the trainings that are available for you to assign to these companies.

<figure><img src="/files/3gKaBZzAOO0auPEkxOPP" alt=""><figcaption></figcaption></figure>

You can click into a specific training to see the portfolio level company details of who is assigned what, as well as any specific due dates.


# Assigning Training

For any training in your catalogue, you can assign to organizations that are part of your portfolio.

## Assignment Details

Each training assignment, will specify:

* Portfolio Companies
* Due Date
* Required learners
* Required vs Optional
* Notes to the admins

## Assigning

There are a few ways to assign trainings to your portfolio organizations:

* Via the Training Detail page
* Via the Company Detail page

### Training Detail Page Assignment&#x20;

To start assigning to members of your portfolio, click the "Assign Companies" button to start the interactive experience.

<figure><img src="/files/7zZE5sjn9BvOn1Dda4zU" alt=""><figcaption></figcaption></figure>

### Company Detail Page Assignment

<figure><img src="/files/MBbhD9Gtok5PLhiVpUZG" alt=""><figcaption></figcaption></figure>

On the company detail page, you can click the "Assign Trainings" button to begin a process of assigning one or more trainings to this particular company. If you are assigning more than one training to a particular company, then all trainings will have the same required information that you set up. Example being that the due date for all might be March 31st, 2024.

## Assigning Process

Let's walk through the process for creating these assignments, regardless of which entry into the flow you chose to take.

### 1. Select the portfolio companies to assign a specific training to:

<figure><img src="/files/LN04hfUv7NRgVWuNAv6q" alt=""><figcaption></figcaption></figure>

### 2. Filter targeted learners of these companies:

<figure><img src="/files/5NTkKBSgIonpEbcwIWYJ" alt=""><figcaption></figcaption></figure>

You can indicate to the companies which learners they should assign to this training. The available filters are:

* All learners: all learners they have enrolled on their platform
* Filter by department: select one or more departments that are required
* Filter by Joining Date: select a join date that anyone who has joined the organization after would mark them as eligible

You can combine the department and join date filters together. This might be applicable if you want a training assignment to target something like "All Operations employees employed after Jan 1, 2024" as part of a training program for 2024 new operations learners.

### 3. Set the Due Date:

<figure><img src="/files/638VuB7KCvU3gQ7x4p8U" alt=""><figcaption></figcaption></figure>

The training should have a due date assigned.

### 4. Set any optional notes

<figure><img src="/files/JFVyAZ5Li7nE5iyv8y4y" alt=""><figcaption></figcaption></figure>

You can add optional notes to the admin of the portfolio company. These notes will be private between your admins and the clients admins. They will show up on their training instance panel to help inform them of how to set up the trainings.

### 5. Review and Create

<figure><img src="/files/hZeIRqEDLwMMGKR7a6U2" alt=""><figcaption></figcaption></figure>

Finally, review your decisions and create and assign the training when ready. This will be immediately rolled out to the targeted client organizations in your portfolio.

## Client View

Your client will see all of this information in their admin panel for a particular training instance. An example of this is:

<figure><img src="/files/q6jYu5bFF7p9ArzAA5Sj" alt=""><figcaption></figcaption></figure>


# Edit a Training

You can also edit training assignments. Edits can be initiated from:

* Training Detail Page
* Company Detail Page

To initiate an edit, find a row of a particular training that you wish to modify and click the edit button denoted by a pencil icon.

The edit flow is the same as the [Assigning Training](/product-guides/external-organizations/training-management/assigning-training) flow with all existing information already prefilled.

<figure><img src="/files/7zoeSWbIWrruSq6EscbE" alt=""><figcaption></figcaption></figure>

Progress through each section of the editing process and at the end confirm your changes.

Changes are rolled out immediately. And, admins of the clients organization whom you are editing will receive an email showing the changes which were made.


# Reporting

You can export reports at many different levels of your portfolio:

* Portfolio at large
* Individual training
* Individual company
* Individual training for a particular company

You will find export buttons on each detail page view as well as within the row views for any row showing a training. These exports are always scoped to the view you are in. Clicking these will generate a CSV report of training details for each organization, including row level learner details.

#### Scheduling Reports

You can also schedule reports. Learn more here:

{% content-ref url="/pages/UxODqq6Pp2lpf82vH4xY" %}
[Scheduled Reports](/product-guides/external-organizations/scheduled-reports)
{% endcontent-ref %}


# Previewing a Training

You can preview a training before assigning it. For more details, see: [Previewing a Training](/product-guides/trainings/previewing-a-training)


# Supporting Documents

Supporting documents allow you to enhance the training experience with specific in depth documents to supplement a learner and organizations trainings.

For more details on supporting documents, see: [Supporting Documents](/product-guides/supporting-documents)

<figure><img src="/files/rVYUNRjRIgZxnBo6w2Ii" alt=""><figcaption><p>Supporting document button which will open up the experience to create, edit, and delete supporting documents.</p></figcaption></figure>

<figure><img src="/files/RFFTrYBK22YH8yuXZ8zG" alt=""><figcaption><p>Experience to manage the supporting documents for a particular training.</p></figcaption></figure>

Any supporting document you upload and make visible will be available for all learners of your organizations of which you assign this training.


# Campaigns - External

#### Overview

The Third Party Oversight Campaigns feature in Affinity's LMS is a robust tool designed to streamline the process of assigning, managing, and tracking training programs across different companies or departments within an organization. This feature is particularly useful for ensuring that third-party vendors or external companies comply with your organization’s training requirements, thus maintaining high standards of compliance and operational integrity.

<figure><img src="/files/4Sky70l6G4JyyqLUj5fS" alt=""><figcaption><p>Many different campaigns each with different functional purposes</p></figcaption></figure>

#### Key Features

1. **Campaign Creation**:
   * **Campaign Naming and Notes**: Administrators can start by creating a new campaign, where they assign a name to the campaign and optionally add a note for administrators. These notes provide additional context or instructions for the campaign.
   * **Default Settings and Audience**: Default training settings, such as start and due dates, can be set at the campaign level, streamlining the process for large-scale training initiatives. You can also define the default training audience, including the option to assign training to all learners or filter by department or joining date.
2. **Adding Companies to Campaigns**:
   * **Company Selection**: Administrators can select from a list of available companies or portfolio organizations to be included in the campaign. This ensures that the relevant external or third-party companies are integrated into the training process.
   * **Active Status**: The campaign can be kept active or paused depending on your organizational needs, giving you flexibility in managing training schedules.
3. **Program Grouping**:
   * **Program Organization**: Within each campaign, training programs can be organized into groups. For example, "Group 1" might include mandatory policy training, while "Group 2" could contain specialized trainings relevant to specific sectors or roles.
   * **Training Assignment**: Administrators can add specific training modules to each program group, ensuring that learners receive the right training based on their role or the group to which they belong.
4. **Customizing Training for Programs**:
   * **Training Dates and Requirements**: Each training module within a program group can have its start and due dates, and can be marked as required. This ensures that the learners complete the necessary training within a defined timeframe.
   * **Training Notes**: Admins can add notes specific to each training within a program, offering additional guidance or instructions tailored to the specific training module.
5. **Tracking and Monitoring**:
   * **Progress Overview**: The feature provides an overview of the progress of each company or learner within the campaign. This includes the number of learners, the status of course completion, and the percentage of completion.
   * **Adjustments and Flexibility**: Administrators have the ability to modify or update the campaign, such as adding more companies or adjusting training details, ensuring that the campaign remains aligned with organizational goals.

#### Benefits

* **Enhanced Compliance**: By centralizing the oversight of third-party training, organizations can ensure that all external partners meet the same compliance standards as internal teams.
* **Efficient Management**: The ability to organize training into groups and assign them to multiple companies at once greatly reduces administrative workload.
* **Flexibility**: With options to customize training schedules, assign specific trainings to different learner groups, and monitor progress, this feature provides the flexibility needed to handle complex training needs across diverse organizational structures.

#### Getting Started

To start using the Third Party Oversight Campaigns feature, follow these steps:

1. **Create a New Campaign**: Navigate to the Campaigns section and click on "Add New Campaign." Enter the campaign details such as name, default settings, and audience.
2. **Add Companies**: Select the companies or portfolio organizations you want to include in the campaign.
3. **Set Up Programs**: Organize the training modules into program groups, and assign the necessary training to each group.
4. **Monitor Progress**: Use the progress tracking tools to monitor the completion status of the trainings across different companies.


# Creating and Managing

How to create and manage external campaigns.

#### Creating Campaigns, Programs, and Adding Trainings

**1. Creating a New Campaign**

<figure><img src="/files/BpdBg6rmVZJKAaj29SNw" alt=""><figcaption></figcaption></figure>

**Step 1: Start a New Campaign**

* **Navigate to the Campaigns Section**: On the main dashboard, go to the "Campaigns" section.
* **Add a New Campaign**: Click the "Add New Campaign" button to start the campaign creation process.

**Step 2: Define General Information**

* **Campaign Name**: Enter a unique and descriptive name for your campaign.
* **Campaign Note for Admin**: Optionally, you can add a note that provides context or instructions for the admins who will manage this campaign.

**Step 3: Set Default Training Dates (Optional)**

* **Start Date**: Set a default start date for all trainings within this campaign.
* **Due Date**: Set a default due date to ensure all assigned trainings are completed by this time.

**Step 4: Set Default Training Audience**

* **Assign to All Learners**: Select this option if the campaign should apply to all learners within the selected companies.
* **Filter by Department or Joining Date**: If you want to narrow down the audience, you can filter by department or the joining date of the learners.

**Step 5: Review and Create Campaign**

* **Review Default Settings**: Check all the settings to ensure they meet your requirements.
* **Create Campaign**: Click on "Create Campaign" to finalize the creation. This campaign will now appear in your list of active campaigns.

**2. Adding Companies to the Campaign**

**Step 1: Access the Campaign**

* **Select the Campaign**: From the Campaigns dashboard, click on the campaign to which you want to add companies.

**Step 2: Add Companies**

* **Go to the Companies Tab**: Within the selected campaign, navigate to the "Companies" tab.
* **Select Companies**: Click on "Add Companies" to see a list of available companies. Select the companies you want to include in this campaign.
* **Active Status**: Ensure that the "Keep As Active" checkbox is selected so that the campaign is immediately assigned to the selected companies.

**Step 3: Assign Companies**

* **Finalize Company Selection**: After selecting the companies, click on "Assign Companies" to include them in the campaign.

**3. Creating Programs within a Campaign**

**Step 1: Access the Programs Section**

* **Navigate to Programs**: Within the selected campaign, go to the "Programs" tab.

**Step 2: Add a New Program**

* **Create Program Group**: Click "Add New Program" to start defining a new program group within the campaign.

**Step 3: Define Program Details**

* **Program Name**: Enter a name for the program group (e.g., “Group 1” for mandatory trainings).
* **Active Status**: Ensure that "Keep As Active" is selected so that the program is automatically assigned to learners as part of the campaign.

**Step 4: Review Program Settings**

* **Override Campaign Defaults**: Optionally, you can set specific program defaults that differ from the campaign defaults.
* **Create Program**: After reviewing, click on "Create Program" to finalize the setup of the program group.

**4. Adding Trainings to Programs**

**Step 1: Select the Program**

* **Choose a Program Group**: From the Programs tab, click on the program group where you want to add training modules.

**Step 2: Add Training Modules**

* **Available Trainings**: Click on "Add Trainings" to open a list of available training modules that you can add to this program group.
* **Select Training(s)**: Choose the relevant training modules from the list.

**Step 3: Configure Training Settings**

* **Training Dates**: Set the start and due dates for each training module to ensure timely completion.
* **Requirement**: Mark the training as required if it is mandatory for all learners.
* **Training Notes**: Optionally, add notes for the admin that will be visible in the training overview.

**Step 4: Define Training Audience**

* **Assign to All Learners**: This option assigns the training to all learners in the program group.
* **Filter by Department or Joining Date**: If necessary, filter the training audience based on specific criteria.

**Step 5: Assign Trainings**

* **Review and Assign**: Review the selected trainings and their settings. Click "Assign Trainings" to add them to the program group.


# Reporting Partners

Reporting Partners allow you to segment your clients to third parties or even internal sub orgs for reporting purposes.

#### Overview

The Reporting Partners feature in Affinity’s LMS allows you to manage external partners who need to receive regular updates and reports on various aspects of your organization’s training programs. This feature enables you to create, manage, and assign companies to reporting partners and generate reports that can be sent directly to these partners.

#### Key Features

1. **Reporting Partners Management**:
   * **Add Reporting Partners**: Add external partners to whom you want to send reports. You can store multiple email addresses for each partner.
   * **Edit and Manage**: Update the details of reporting partners, including the entity name and associated email addresses.
   * **Overview Dashboard**: View a list of all reporting partners, along with the number of companies associated with each partner.
2. **Generating Reports**:
   * **Custom Reports**: Generate reports with specific data for your reporting partners.
   * **Filter and Customize**: Choose what data to include in the reports by applying filters based on companies, training modules, or campaigns.
   * **Send Reports**: Send the generated reports directly to the reporting partners via email.

#### How to Set Up and Manage Reporting Partners

**1. Adding and Managing Reporting Partners**

**Step 1: Access the Reporting Partners Section**

* **Navigate to Reporting Partners**: On the main dashboard, go to the "Reporting Partners" section to view the current list of partners.

**Step 2: Add a New Reporting Partner**

* **Click "Add Reporting Partner"**: Open the form to enter the details of the new partner.
* **Enter Partner Details**:
  * **Reporting Company Name**: Provide the name of the entity that will receive the reports.
  * **Reporting Emails**: Enter the email addresses where the reports will be sent. You can add multiple email addresses if necessary.
* **Create Reporting Partner**: Once all details are filled in, click "Create Reporting Partner" to add them to your list.

**Step 3: Edit or Delete a Reporting Partner**

* **Edit Partner**: To update a partner's details, click the edit icon next to their name. You can change the entity name or update the email addresses.
* **Delete Partner**: If a partner is no longer needed, remove them by clicking the delete icon.

**2. Assigning Companies to Reporting Partners**

**Step 1: Select a Reporting Partner**

* **Choose a Partner**: From the list of reporting partners, click on the partner to whom you want to assign companies.

**Step 2: Assign Companies**

* **Go to the Companies Tab**: Within the partner's profile, navigate to the "Companies" tab.
* **Click "Assign Company(s) to Reporting Partner"**: Select the companies that should be associated with this partner.
* **Select Companies**: Choose from the list of available companies and click "Assign Companies" to finalize the assignment.

**3. Generating Reports for Reporting Partners**

**Step 1: Generate a New Report**

* **Click "Generate Report"**: This option is available within the selected reporting partner's profile under the "Companies" tab.

**Step 2: Report Filters and Customization**

* **Date Range**: Select the date range for the data you want to include in the report.
* **Report Filters**: Optionally, filter the report data by company, sector, training module, or campaign.

**Step 3: Define Report Details**

* **Report Name**: Provide a clear and descriptive name for the report.
* **Report Description**: Optionally, add a description that provides context or details about the report.

**Step 4: Finalize and Send**

* **Send Report**: Once the report is generated, you can send it directly to the reporting partner's email addresses.
* **Download Local Copy**: Optionally, download a local copy of the report for internal records.


# Scheduled Reports

Overview of Scheduled Reports and how to create and enable them.

#### Overview

Scheduled Reports in Affinity’s LMS are a powerful tool that allows you to automate the process of generating and distributing reports to your reporting partners. This feature is essential for maintaining regular communication with external stakeholders, ensuring they receive consistent updates without the need for manual intervention.

<figure><img src="/files/W9XcCXJ8zv9WJdNcId6m" alt=""><figcaption></figcaption></figure>

#### Key Features

1. **Automated Report Generation**:
   * **Schedule Reports**: Set up reports to be generated automatically on a regular basis (daily, weekly, monthly, etc.).
   * **Customization Options**: Define the content of the reports by applying filters for specific companies, training modules, or campaigns.
   * **Cadence Control**: Adjust how frequently reports are generated, ensuring that your partners receive the information they need at the right intervals.
2. **Distribution and Download**:
   * **Automated Emailing**: Scheduled reports are automatically sent to the designated reporting partner’s email addresses.
   * **Local Copy Download**: You can also download a copy of the scheduled reports for your records.

#### How to Set Up Scheduled Reports

**1. Creating a Scheduled Report**

**Step 1: Start the Report Setup**

* **Click "Generate Report"**: Within the selected reporting partner's profile, go to the "Scheduled Reports" tab and click "Generate Report."

**Step 2: Define Report Filters**

* **Date Range**: Set the date range for the data included in the report.
* **Report Filters**: Optionally, filter the data by specific companies, sectors, training modules, or campaigns.

**Step 3: Enter Report Details**

* **Report Name**: Give the report a descriptive name.
* **Report Description**: Add any relevant notes or context that should accompany the report.

**2. Scheduling the Report**

**Step 1: Set the Report Period**

* **Period**: Choose how often the report should be generated (daily, weekly, monthly).
* **Cadence**: Define the cadence, such as every day, every week, or every month.

**Step 2: Finalize and Schedule**

* **Schedule Report**: Click "Schedule Report" to set up the automatic generation and distribution of this report.
* **Send or Download**: Once scheduled, the report will be sent to the reporting partner automatically. You can also download a local copy.

#### Benefits

* **Consistency**: Scheduled reports ensure that your reporting partners receive timely updates without manual intervention.
* **Efficiency**: Automating report generation saves time and reduces the risk of human error.
* **Customizability**: Tailor each scheduled report to include only the data that is most relevant to the recipient.


# LMS - Authoring

Affinity's content authoring system supercharges your compliance and training management to allow you to create, enhance, customize, and share dynamic training content.

The LMS authoring system by Affinity allows you to build any type of training content for your organization. Training content can be for a variety of use cases, including:

* Regulatory Trainings
* Company Wiki's
* Policy Attestations
* How To Guides
* Professional Development
* and more!

Content built with Affinity's authoring system integrate seamlessly into our other rich set of features related to reporting, tracking, administrative efficiencies, and tech forward products.

The content you build can easily:

* be dynamically tailored to each learner, department, and role;
* have bespoke tracking and passing requirements;
* have rich media, including audio, video, and images;
* create share links for external review;
* and be duplicated from any of our pre-built courses for finer customization.

## Demo

{% embed url="<https://www.loom.com/share/1956dc5fa7494791872b7fee21335bd7?sid=9ccdee82-640f-484f-ae2c-36499fb38c3f>" %}


# LMS Dashboard

The LMS dashboard can be found by clicking on the "LMS" side tab. You will be redirected to the dashboard which shows you:

* All of your organizations trainings
* Your specific courses
* Folders from your organization
* Ability to create a new training button

<figure><img src="/files/LJG9bzHqxuCQzW3nVE8s" alt=""><figcaption><p>The LMS Dashboard</p></figcaption></figure>

## Demo Video

{% embed url="<https://www.loom.com/share/261aea91f59341b28f9aec69b3cf0192?sid=7001a4a4-16ad-43e2-96d0-f442f82f6830>" %}

### Creating a Folder

Click the "Create Folder" button which will create an empty new folder. Then you can click on the action bar in the folder to open up an experience to set the name of the folder.

#### Moving a course to a new folder

<figure><img src="/files/lH9zqQwdv0VDW6pMfJIH" alt=""><figcaption></figcaption></figure>

In the list view for your courses, you can click the more actions dropdown to find a move option. When you click on this move option you will see available folders to where this training can be transferred.

#### Deleting a folder

<figure><img src="/files/b7PuPN4H9RqnFhLavjSx" alt=""><figcaption></figcaption></figure>

When you open the folder management drawer you can see an option to delete the folder. Deleting this folder will move all trainings to the next highest directory.

#### Adding a new training to a folder

You can directly create a training within a folder too. To do this click on a folder and you will be redirected to that folders list view. From there, when you click on the create course button, it will automatically create that course within the current folder.

### Filtering Trainings

Click into the search bar text field and start typing. The results will be filtered by:

* Course Name
* Course Author

### Course List View

The course list view shows all the courses in the current folder. By default all new courses are put in the top level directory. You can always move a course to a new folder.

Each course in the list view has a few actions you can take. The actions button is on the far right of the row. Clicking on it allows you the following options:

#### Edit a Training

Takes you to the editor experience for this training.

#### View a Training

Takes you to the preview experience for this training

#### Duplicate a Training

This will duplicate the entire training, making a clone.

#### Move to a new folder

This will allow you to move to a new folder of your choice.

#### Delete a training

This will delete the training. This is a permanent action and cannot be undone. You will lose all data associated with this training.&#x20;


# Deleting a Training

You can delete trainings that you have made. Any deletions you make will be permanent.

{% embed url="<https://www.loom.com/share/0044f2dfe7644fbe86a705ed43e8b858?sid=cbf91092-a0ad-41bd-8ea2-4da7a6258b00>" %}


# Share/Review Links

You can create share/review links for any of your courses. This allows other people to preview the course easily, even without an Affinity account.

Share/Review links are able to be created for any of your courses. These links will allow anyone to view the currently published version of your course. The person viewing does not even need to be signed in to Affinity to view.

Some use cases are:

* Auditor Review
* Bank Partner Review
* Internal Stakeholder Feedback
* Third Party Wiki's

There are two ways to generate the share links:

1. From the editor preview page
2. From the course catalog page

## Editor Preview Share/Review Links

{% embed url="<https://www.loom.com/share/a4cc645d0dfb4e39b10503ffb1e24cca?sid=9d8c5cee-12e0-45ad-a66e-59001947a60e>" %}

## Course Catalog Share/Review Links

{% embed url="<https://www.loom.com/share/c5a4d74f47a749848b97f59d01824f4b?sid=a5131fcd-0d53-457f-8b0c-1bdd04d18865>" %}

#### Sharing unpublished changes

It is also possible to share unpublished changes for review purposes. When you have unpublished changes, your share link experience will include a indicator mentioning this along with a toggle switch to determine what you would like to share.

<figure><img src="/files/MEyMf9JHILNuKldwNh5f" alt=""><figcaption><p>Unpulished content comes with a notification when sharing. </p></figcaption></figure>

Toggle the "Include Unpublished Content" to on to then generate a share link which includes this unpublished content. If you do not toggle this switch, then when you generate a share link it will be of only the last published content.

<figure><img src="/files/kfF519wq97I6mFcCo1cy" alt=""><figcaption><p>Switch toggled on.</p></figcaption></figure>

Above, we have toggled the switch on, so when we click generate, this will be of the unpublished content.


# Version Control

Courses you build come with version control where you can easily switch back to an old version if you find you have made a mistake.

By using the Affinity LMS Content Authoring System you can get the benefit of built in version control. Version control means that we keep copies of each time you publish a training and if you ever find the need to go back to an old published version of your course, you can switch to it in the click of a button.

### Demo

{% embed url="<https://www.loom.com/share/0ecc9c0fa2fd4dabb90edd092596240b?sid=ceb860eb-f3d0-49dc-bf48-d04f8186b590>" %}

### Version Information

<figure><img src="/files/TgUhETHKNuAVpbJjX3oV" alt=""><figcaption></figcaption></figure>

In the course editor, you will see the current version number next to the publish button. In the above example we are on Version 3, "v3".

This indicator is clickable which will open up the version control settings.

### Version Controls

<figure><img src="/files/q5tx3yF6sCVkiVF1sOHm" alt=""><figcaption></figcaption></figure>

In the course settings area, there is a "History" tab which will show all the previously published versions, as well as the currently published version and the current draft.

#### Preview Version

To preview a prior version, you can click on the "Preview" button here which will let you look at what this training looked like at that point in time.

#### Use Version

The use version button will switch you to having that version as the new main version. It gets promoted to the currently published version.

But, don't worry if you want to change back! By promoting it to the currently published version, you've just created another version and can always change back if you need to. See this screenshot where now we have 4 versions after promoting v1 to v4.

<figure><img src="/files/FWrBcw51b0tj8id22NP9" alt=""><figcaption></figcaption></figure>


# Structure of a Course

Courses are divided into pages and sections. Any course can have one or more sections and each section can have one or more pages.

The structure of Affinity courses is divided into sections and pages.

A section is a group of pages. They normally represent a topic of study which you want to present. This might be something like "What is Money Laundering?".

Within a section, you can have multiple pages. Each page will generally represent a subtopic within the section topic, such as "Examples of Money Laundering".

Pages and sections do not have to be just topic focused, they can also be focused on things like videos or knowledge based questions.

<figure><img src="/files/fZoqya3Ma3EzC6xfaLHD" alt=""><figcaption><p>Example sections and pages</p></figcaption></figure>


# Section Management

Overview of how to create and manage sections

A section is a group of pages within a course.

To create a section, click on the "Add Section" button in the course overview navigation pane.

<figure><img src="/files/fZoqya3Ma3EzC6xfaLHD" alt=""><figcaption></figcaption></figure>

This will create a new untitled section, with one nested untiled page underneath.

### Edit a Section Name

<figure><img src="/files/WhSBwDw3Cs6at34ybdDN" alt=""><figcaption></figcaption></figure>

Click on the action button next to a section to see a list of options and click "Rename".

<figure><img src="/files/hO5QSW0wpLygCglLynGR" alt=""><figcaption></figcaption></figure>

You can then edit the section name in the active text field and hit enter when you are finished.

### Duplicate a Section

Click on the section action button to bring up the list of choices, and you will also see a "Copy Section" button. Clicking on this will copy all section pages and settings into your course. You can also duplicate a section by clicking on the copy icon next to the section header.

<figure><img src="/files/Waq92L1IXYAaMJlO10BI" alt=""><figcaption></figcaption></figure>

### Adding a Page

There are two ways to add a page to a section:

1. Clicking on the "+ Page" icon button next to the section name.
2. Clicking on the section action button and then in the dropdown selecting "Add Page"

The added page has a default name and is initially empty.

### Deleting a Section

Click on the Delete option in the action button dropdown to delete the section.


# Section Settings

Section settings allow you to set specific role and department targeting options.

Every section has settings which you can configure. The settings enable the use of our Custom Targeting feature. With Custom Targeting you can target sections to only be visible to those roles and/or departments which match the section settings.

You can have one or more roles targeted. And, you can have one or more departments targeted.

## Why use Custom Targeting?

The use of custom targeting allows you to create very specific training content for a subset of your learners. You might find that everyone in your organization needs to be be trained on 4 key topics. But, additionally you want to add a 5th topic for just your Customer Service team. Instead of managing two trainings, or instead of having everyone learn a 5th topic which is only useful to the Customer Service team ... you can have 1 training with the 4 sections and just make a 5th section that is custom targeted.

Then, when your learners take the course, only the Customer Service Team will see that section.

<figure><img src="/files/ko10zmPkl9pdTon2CCDC" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/TKwwF2B31HurwQzL6NeH" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/MqHRjCStwsRZTqtaxDz1" alt=""><figcaption></figcaption></figure>

When a section is custom targeted, you will see an indicator next to that section.

Learn more in [Custom Targeting](/product-guides/lms-authoring/customizing-content/custom-targeting).


# Page Management

Pages contain content related to a section. They can be informative, rich media, and/or knowledge based questions.

### Page Action Button

<figure><img src="/files/HqX0HX8wuIPKLTIJCEqV" alt=""><figcaption></figcaption></figure>

In the header row for a page, you will find an action button which gives you a list of options to take.

#### Renaming a Page

There are two ways to rename a page:

1. Double clicking on the page name and then editing the text field
2. Starting from the action button dropdown and clicking "Rename"

<figure><img src="/files/mIkMCbkXIArIcxM5BnEb" alt=""><figcaption></figcaption></figure>

#### Copy a Page

You can copy any page to duplicate it. From the action button dropdown, click "Copy Page". All page settings are copied as well.

#### Delete a Page

You can delete a page by clicking on the Delete button in the page action button dropdown.


# Page Settings

Page settings allow you to set specific role and department targeting options.

Every page has settings which you can configure. The settings enable the use of our Custom Targeting feature. With Custom Targeting you can target page to only be visible to those roles and/or departments which match the page settings.

You can have one or more roles targeted. And, you can have one or more departments targeted.

## Why use Custom Targeting?

The use of custom targeting allows you to create very specific training content for a subset of your learners. You might find that everyone in your organization needs to be be trained on 4 key topics. But, additionally you want to add a 5th topic for just your Engineering team. Instead of managing two trainings, or instead of having everyone learn a 5th topic which is only useful to the Customer Service team ... you can have 1 training with the 4 pages for everyone and just make a 5th section that is custom targeted.

Then, when your learners take the course, only the Engineering Team will see that page.

Let's look at some screenshots to showcase this.

<figure><img src="/files/fExmtZpJlETzlYDKHtZC" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/VyMkLRiUzBnpHV4PLBUy" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Me6qeuXjP50NvH3C7frl" alt=""><figcaption></figcaption></figure>

When a page is custom targeted, you will see an indicator next to that page.

To learn more about Custom Targeting, visit: [Custom Targeting](/product-guides/lms-authoring/customizing-content/custom-targeting).


# Name, Description, & Logo

All courses can have a custom name, description, and logo added to their details.

When you create a course, you can set it's name, description, and logo.

## Name & Description

<figure><img src="/files/dBjMKzMSmhTlTG4oJN0y" alt=""><figcaption></figcaption></figure>

The name an description can be edited from the General tab in the Course Settings experience. You can open up the course settings experience by pressing on the course action button in the top right.

### Other ways to edit Name

You can also edit the name by double clicking on the name and editing inline.

<figure><img src="/files/rsLOpuSgnDANdsiwNTxv" alt=""><figcaption></figcaption></figure>

## Logo

<figure><img src="/files/uRBcGi0qx1sOjbfuDxMM" alt=""><figcaption></figcaption></figure>

The logo can be edited from the Design tab in the Course settings experience. This logo will appear on the list view for learners.




---

[Next Page](/llms-full.txt/1)

