# Configuring External Training Requirements (Training Management)

[QualityOne Vaults](/en/lr/55180/) provide different types of _Training Requirements_ for Learners to complete their curricula. The _External Training Requirement_ type allows Learners to complete training on content or topics that occurred outside of Vault. For example, an organization may require that Learners complete a third-party online course or receive an external certification. 

A Training Administrator can create external _Training Requirements_ and include them in their training matrix. Learners will receive a _Training Assignment_ with completion instructions. Managers or other users in an appropriate role can verify the _Training Assignment_ before it is set to the _Completed_ status.

The instructions here describe how to create an _External Training Requirement_. See [Configuring Training Management](/en/lr/55154/#training-requirement-types) for details about creating other types of _Training Requirements_.

## Configuration Overview {#overview}

Configuring your Vault to use External Training Requirement involves the following steps:

1. [Enable the _External Training_ object types][1]
2. [Create _External Training Requirements_][2]
3. [Create custom fields to drive object workflow logic][3]
4. [Configure External Training workflows for the _Training Assignment_ object][4]

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: Depending on your Vault’s creation date and which features are currently enabled and configured, some of the steps described in this article may be unavailable or already complete in your Vault.</p>
    </div>
  </div>
</div>



## Enabling External Training {#enable-external}

To use the external training type, you must activate the _External Training Requirement_ [object type](/en/lr/32857/) for the _Training Requirement_ object, and activate the _External Training Assignment_ object type for the _Training Assignment_ object.

## How to Create an External Training Requirement {#create-external}

To create an external _Training Requirement_:

1. Create a new _Training Requirement_ from **Business Admin > Objects**, a custom object tab, or from the details page of the related curriculum.
2. Select the **External Training Requirement** type from the drop-down. Once you create a _Training Requirement_, you cannot change its type.
3. Enter required details. The **Instructions** field should contain all relevant details such as time, place, and, if necessary, a description of the proof of completion.
4. Optional: If the external training will be performed on an external website, add the URL to the **Training Link** field.
5. Optional: Select a document to provide the **Learner Homepage Card Image**. If your Vault has the [Learner Homepage](/en/lr/71126/) enabled, the first page of the document selected in this field will be shown as the card image in the [card view](/en/lr/71126/#open_assignments).
6. Optional: Select the **Is A Substitute Training Requirement** checkbox if you wish to use this _Training Requirement_ as a [substitute](/en/lr/71120/).
7. Optional: Select **Yes** for the **Proof Required?** option if the Learner needs to upload proof of completion for the external training.
8. Optional: Select **Yes** for the **Is Verification Required?** option to require that another user, such as the Learner's manager, verify assignment completion. You must complete additional [configuration][6] if you select this option.
9. Click **Save**.

You must also [configure][4] the external training workflows appropriately, so that Learners can successfully complete any issued external _Training Assignments_.

## Custom Fields for External Training Workflow Logic {#custom-fields-external}

You can [create custom fields](/en/lr/55154/) on the external _Training Requirement_ to drive workflow logic on the external _Training Assignment_. For example, you could create a field indicating whether the assignment requires QA verification. To do this, create the same matching field on _Training Assignment_ as on the _Training Requirement_. Upon creating the _Training Assignment_, Vault automatically copies matching field values from _Training Requirement_ record to _Training Assignment_ record. You can then use the field value on the _Complete External Training Assignment_ workflow to drive business logic.

## External Training Assignments Requiring Verification {#external-assignment}

For external _Training Requirements_ that require verification after the Learner completes the task, you must configure [custom sharing rules](/en/lr/25494/) or [matching sharing rules](/en/lr/36122/) on the _Training Assignment_ object. This grants the verifying user access to the external _Training Assignment_ record. In addition, you must create [custom application roles](/en/lr/31851/) so that you can use the application role in the external training workflows.

If you have enabled [Manager Groups](/en/lr/3200/), and the _Learner's Manager_ can be the verifier, there is no need to configure custom sharing rules or matching sharing rules on the _Training Assignment_ object. Vault automatically adds the _Learner's Manager_ group to sharing settings.

## Configuring External Training Workflows {#workflows}

As external _Training Assignments_ may or may not require verification by another user, their [object workflow configuration](/en/lr/33550/) may vary depending on your organization's needs. For external _Training Assignments_ to function as intended, you must configure workflows that accomplish the necessary steps. See the following workflows for more details:

* [**Complete External Training Assignment**][7]: Assigns a task to the Learner and determines whether verification is necessary.
* [**Verify External Training Assignment**][5]: Assigns a task to a verifier to review the _Training Assignment_, and to accept or reject its proof of completion.
* [**Resubmit External Training Assignment**][9]: Assigns a task to the Learner to resubmit the external _Training Assignment_ for re-verification.

Use either the _Complete External Training Assignment_ workflow by itself, or use all of the workflows together, depending on whether your external _Training Assignments_ require verification. The workflows use an [auto-start workflow entry action](/en/lr/52892/) when the external _Training Assignment_ enters the following states:

* **Assigned**: Starts the _Complete External Training Assignment_ workflow
* **In Verification**: Starts the _Verify External Training Assignment_ workflow
* **In Learner Review**: Starts the _Resubmit External Training Assignment_ workflow

### Example Complete External Training Assignment Workflow {#ex-complete-wf}

The purpose of this workflow is to assign a Learner a task to complete an external training. This example workflow first assigns the Learner application role as a participant and assigns the training task to a Learner. The workflow then determines if verification is necessary. Based on the result, the workflow then changes the _Training Assignment's_ state to either _In Verification_ or _Completed_.

This workflow should follow these configuration guidelines:

* Configure participant control in the _Start_ step that defines the _Learner_ [application role](/en/lr/31851/#about-the-application-role-object) as a participant.
* Create a _Task_ step that assigns a _Complete External Training_ task to the _Learner_ participant control.
* Create an _Action_ workflow step to _Change State_ from _Training Assignments_ to _Completed_; or
* Optional: Create a decision step that determines whether the _Training Assignment_ requires verification. This logic may be driven by the value of a [custom field copied from the _Training Requirement_][3]. Add rules to _Change State_ to _In Verification_ if it does, else _Change State_ to _Completed_.

### Example Verify External Training Assignment Workflow {#ex-verify-wf}

The purpose of this workflow is for a verifying user (often the Learner's [manager](/en/lr/55154/#manager_access)) to review the external _Training Assignment_, typically for proof of completion, then accept or reject the assignment.

This workflow should follow these configuration guidelines:

* Configure a participant control in the _Start_ step that defines the _Direct Manager_ application role as the verifier participant. Select the **Use roles as participants** option, then select **Direct Manager** in the **Roles allowed to participate** field.
* For non-Manager verifiers, you can use [Dynamic Access Control](/en/lr/33946/) to determine the user assigned to the verifier role.
* Create a _Task_ step that assigns the task to the verifier and prompts for a verdict. Create verdicts within the task that allow the verifier to determine whether to accept or reject the _Training Assignment_. Configure verdict comments, which are displayed to the Learner. Create a _Decision_ step that changes the state of the record, depending on the verdict, to _Completed_ or _In Learner Review_.

A verifier will always see the object record details page, while the Learner will always see the Learner task page.

### Example Resubmit External Training Assignment Workflow {#ex-resubmit-wf}

The purpose of this workflow is for a Learner to resubmit a previously rejected external _Training Assignment_.

This workflow should follow these configuration guidelines:

* Configure a participant control in the _Start_ step that defines the Learner [application role](/en/lr/31851/#about-the-application-role-object) as a participant.
* Create a _Task_ step that assigns the task to the Learner.
* Create an _Action_ step to _Change State_ to _In Verification_.

The state change to _In Verification_ restarts the [_Verify External Training Assignment_ workflow][5].

[1]: #enable-external
[2]: #create-external
[3]: #custom-fields-external
[4]: #workflows
[5]: #ex-verify-wf
[6]: #external-assignment
[7]: #ex-complete-wf
[9]: #ex-resubmit-wf