**Source URL:** https://quality.veevavault.help/en/lr/527241/index.md

# Configuring Direct Assignment

Direct Assignment allows Training Admins to manually create assignments for a single *Training Requirement* or all requirements within a *Curriculum*. These assignments are truly ad-hoc and one-off, meaning the Learner does not receive recurrence training or retraining based on Training Material updates.



<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>: Direct Assignment is available in Veeva Training and Study Training Vaults.</p>
    </div>
  </div>
</div>

 |

## Feature Dependencies

Direct Assignment can be configured independently and does require any other training features.

## Use Cases

Along with Assign to Learner, Direct Assignment is a method for assigning training "on-demand" and without a *Learner Role*. See [additional details](/en/lr/52724/#use-cases) on when Training Admins should use Assign to Learner versus Direct Assignment.

### About Retraining

The [_Require Retraining_](/en/lr/735720/) action allows Training Admins to re-issue assignments for *Training Requirements* that are already present within a Learner's training matrix. This method should be used in lieu of Direct Assignment for issuing retraining in most cases. If a Learner does not need to complete a future assignment based on recurrence or a document update, Direct Assignment is sufficient, and Training Admins can follow the [same steps](/en/lr/52724/#direct-assignment) to issue assignments.

## How Vault Issues Direct Assignments {#issue-da}

When using the **Direct Assignment** action on a *Curriculum* or *Training Requirement*, Vault issues *Training Assignments* for *Training Requirements* in the *Ready for Use* state with Training Materials in their Steady state (for example, *Effective* in the Draft to Effective document lifecycle).

Vault creates a *Direct Assignment User Input* record and a *Direct Assignment Request* object record. The *Direct Assignment User Input* record contains a list of comma separated *Person* ID values in the *Learners* (`learners__v`) text field. This record collects data only, and we recommend users use the *Direct Assignment Request* object for reporting and searching.

The *Direct Assignment Request* record contains:
* The *Requested By* field Vault sets to the person's name who executes the user action.
* Other field values such as *Learner*, *Due Date*, *Reason*, and *Training Requirement*.
* Vault copies these values from the *Direct Assignment User Input* record.

Vault immediately moves *Direct Assignment Request* records into the *Issued* state via the *Direct Assignment* SDK job, which creates and issues a training assignment with the following properties:
* The *Training Assignment* record has a reference to the *Direct Assignment Request* record.
* The *Created Via Direct Assignment* field is set to `Yes` on the *Training Assignment* record.
* If the Training Admin created the direct assignment [without a Due Date](/en/lr/8295581/), the resulting assignment's Due Date field remains blank, and the Due Date Timing field is set to "No Due Date".

In the event Vault encounters errors when creating *Direct Assignment Request* or *Training Assignment* records, the user who initiates the assignment action receives a Vault email and notification with the details.

### Related Objects

* **Direct Assignment User Input** houses data entered when you create a direct assignment. For example, due dates, learners, and the reason for the assignment. Modify the page layout of this object to add or remove fields in the dialog box. As this object is intended only to collect data, we recommend that any reporting, searching, or other related functions be performed against the *Direct Assignment Request* object.
* **Direct Assignment Request** copies data from the *Direct Assignment User Input* object. When this object moves into the *Issued* state, Vault creates a training assignment and issues it to relevant learners. Vault does not copy over custom fields added to the *Direct Assignment User Input* object. The *Training Assignment* record contains a reference to the *Direct Assignment Request* record, and the *Direct Assignment Request* record contains a reference to the *Direct Assignment User Input* object.

## Configuration Overview

A Vault Admin can configure Direct Assignment for *Curricula* or *Training Requirements* separately or together.

1. Within each object, create a new "Curriculum Direct Assignment" or "TR Direct Assignment" object action using the *Direct Assignment* action. Ensure you do not select the *Available in All Lifecycle States* option. Then, ensure the new action is [associated](/en/lr/32857/#user-actions) with all relevant object types.
2. Within each of these objects' *Ready for Use* lifecycle states:
    * Create a new "Send as Direct Assignment" user action using the object action you created in Step 1.
    * If the lifecycle uses [atomic security](/en/lr/47850/#Atomic_Security_Actions) for actions, ensure Training Admins (via this role or another Application Role) are permitted to execute the *Send as Direct Assignment* action.
3. Optional: [Configure](/en/lr/8295581/) Optional Due Dates, where Learners are permitted to complete direct assignments at their own pace and are not required to complete them within a specified timeframe.



<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>: Adding or editing entry criteria on the <em>Direct Assignment Request</em> lifecycle may prevent Vault from changing the state of a <em>Direct Assignment Request</em> from <em>Created</em> to <em>Issued</em>. We do not recommend this configuration, as it means Vault does not automatically create an assignment after the Training Admin runs the <em>Direct Assignment</em> action.</p>
    </div>
  </div>
</div>



### Curriculum Assignment Approval

If your organization requires that assignment of a *Curriculum* is approved by the appropriate parties, a Vault Admin can configure a conditional entry action on the *Individual Assignment Request Lifecycle* to check the value of the *Requires Approval* field on the *Curriculum* record and, if necessary, start a review and approval workflow.

### Integrating Veeva Training with Veeva QMS

You can also issue a training assignment from a QMS process. For example, a CAPA action could require that certain users be trained on a training requirement.

To set this up:
1. On the *Direct Assignment Request* object, create an object reference field to the target quality process. For example, *CAPA Action*.
2. Create an object type for the quality process you want to integrate with.
3. Associate the *Requested By* field and the object reference field to that object type.
4. On the page layout for the target quality process, add a related object for *Direct Assignment Request*.

To issue an assignment:
* From your quality process, create a *Direct Assignment Request* record. If *Requested By* is not set, Vault populates that field with the user's name who created the record.
* Change the state of the related *Direct Assignment Request* record to *Issued*.
* Once in *Issued*, Vault creates a *Training Assignment* record.

## Limitations

Direct Assignment's limitations are based on the scenario in which it is used. See [Issuing Retraining](/en/lr/735720/#da-compare) and [Assigning Training Without a Learner Role](/en/lr/52724/#limits) for details.

## Related Permissions {#related-permissions}

Training Admins must be assigned a security profile with the below permissions to work with direct assignments:

| Permission Label | Permission | Controls |
| --- | --- | --- |
| Objects: Curriculum: Object Action Permissions: Curriculum Direct Assignment | View, Execute | Ability to view and execute the Direct Assignment user action from a *Curriculum*. |
| Objects: Training Requirement: Object Action Permissions: TR Direct Assignment | View, Execute | Ability to view and execute the Direct Assignment user action from a *Training Requirement*. |
| Objects: Direct Assignment User Input: [all object types] | Read, Edit, Create | Ability to view and create Direct Assignment User Input records. |
| Objects: Direct Assignment User Input: Object Control Permissions: Learner | View | Ability to populate Learners on Direct Assignment User Input records. |

[1]: #issue-da
[2]: #related-permissions
