> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.aclid.bio/llms.txt
> Use this file to discover all available pages before exploring further.

# Training

> Build training templates with PDF, video or SCORM content and a quiz, assign them to people and groups with due dates and refreshers, and follow who has completed what.

Training is where an organization keeps its safety and compliance courses. Each **training template** holds the content a learner goes through (a PDF, a video or a SCORM package), an optional quiz, and the people and groups it is assigned to. Every assignment issues an **occurrence**: an action with a due date that appears in the learner's **My trainings** tab, in their Dashboard inbox and on the Calendar. Refreshers reissue the training on a yearly cycle so recurring requirements keep themselves on schedule.

## Who can do what

| Action | Admin | Member |
| - | - | - |
| See **My trainings** and your own **History** | Yes | Yes |
| Open and complete a training assigned to you, download its certificate | Yes | Yes |
| See **Team members**, the completion metrics and any person's trainings and history | Yes | No |
| See **Training templates**, create, edit, publish and version a template | Yes | No |
| Assign or unassign a training, set due dates, add refreshers, edit site access | Yes | No |
| **Mark attended** / **Mark as complete** on someone's occurrence | Yes | No |

## Open Training

Choose **Training** in the **EHS** group of the navigation. Admins land on the **Team members** tab, under three metric cards: **Completion rate**, **Past due** and **Due in next 30 days**. Members land on **My trainings**, which lists the trainings assigned to them (or **No trainings assigned**). Admins also get a **Training templates** tab and a **+** button to create one. When the organization has several sites and the header shows all of them, a site filter narrows the Team members and templates tabs.

<Frame caption="The Training templates tab, one row per template with its version and assignees">
  <img src="https://mintcdn.com/aclid/2ShzZHIodM-UrThc/images/trainings/02-templates.png?fit=max&auto=format&n=2ShzZHIodM-UrThc&q=85&s=f4f59c2e70c4877689dbcb3b9599fed1" alt="Training templates tab listing templates with version and assignee chips" width="1280" height="900" data-path="images/trainings/02-templates.png" />
</Frame>

<Frame caption="Training on a phone: the Stats card, then one card per team member">
  <img src="https://mintcdn.com/aclid/2ShzZHIodM-UrThc/images/trainings/09-list-mobile.png?fit=max&auto=format&n=2ShzZHIodM-UrThc&q=85&s=0104f11aecff5919cbef9e1e2540eb15" alt="Training page on a narrow screen with Stats and team member cards" style={{ maxWidth: '280px' }} width="806" height="1842" data-path="images/trainings/09-list-mobile.png" />
</Frame>

## Key concepts

* **Training template**: one course, in one or more versions. Its page shows the **Initial** content, **Refreshers**, the **Quiz**, the **Assignees** and **Site access**.
* **Draft** and **Published**: a new template, and every **New draft** of a published one, starts as a draft that only admins see. Content, quiz and refreshers can only change while the version is a draft; **Publish** makes it the version learners receive and unlocks assigning. The badge reads **Draft last updated** or **Published** with the date, next to **Version N**.
* **Online** and **In person**: an online training is completed by the learner going through the content and quiz. An in-person training is completed when an admin marks attendance.
* **Materials**: one file per version, a PDF, a video (.mp4, .webm or .mov) or a SCORM package (.zip). PDFs and videos can be up to 2 GB; a SCORM package must be under 100 MB. Once a package has finished processing it shows its SCORM version (and its lesson count when it has more than one) and plays in the app.
* **Quiz**: multiple-choice questions with one correct answer each. Learners need at least 80% to pass and can retry.
* **Assignment** and **occurrence**: assigning a published training to a person (directly or through a group) creates an assignment; each time it falls due an occurrence is issued as an action with a due date.
* **One-time** and **Recurs yearly**: a training without refreshers is issued once. With refreshers it recurs every one, two or three years, either after the initial training's due date or on a set date; each refresher opens 30 days before it is due.
* **Site access**: a template can be limited to some sites. Group members at other sites are skipped when the group is assigned.

## Tasks

### Create a training template

<Note>Admins only.</Note>

1. On the **Training templates** tab, select the **+** button (or **Add a training** in the empty list).
2. In **Create training template**, enter a unique **Training name** and choose the **Initial training location** (**Online** or **In person**). An organization with several sites also picks the **Site access**: one or more sites, or **All**.
3. Select **Create**. The new draft opens with **No content added**, **No refreshers added** and **No assignees**; the yellow banner reminds you that you are viewing a working draft.

<Frame caption="A new draft: Initial and Refreshers are still empty and Publish is available">
  <img src="https://mintcdn.com/aclid/2ShzZHIodM-UrThc/images/trainings/05-template-draft.png?fit=max&auto=format&n=2ShzZHIodM-UrThc&q=85&s=245c8c7127a6345c6b2934330a4e8f7b" alt="Draft training template with Add content, Add refreshers and Publish" width="1280" height="900" data-path="images/trainings/05-template-draft.png" />
</Frame>

### Add content, a quiz and refreshers

<Note>Admins only.</Note>

1. In **Initial**, select **Add content** and drop the PDF, video or SCORM file into **Add initial training content**. A PDF or video then shows in the box, a SCORM package gets a **Play** button, and **Edit** replaces the file (or renames the training) while the version is a draft.
2. In **Quiz**, select **Add quiz** and fill in the **Question** and its **Available answer options**, marking the correct one; at least two options are required. **Add question** adds more and **Delete quiz** removes the whole quiz. A SCORM package that already grades its learners does not need one.
3. In **Refreshers**, select **Add refreshers**. Choose the **Refresher training location** and the **Refresher training recurrence**: every N year(s) **after the initial training's due date** or **on a set date** (month and day). The refresher reuses the initial content unless you give it its own.
4. Select **Publish** when the draft is ready. Changing a recurrence later does not move refreshers already due in the next 30 days.

<Frame caption="The Quiz box of a published training: the 80% pass mark and its question">
  <img src="https://mintcdn.com/aclid/2ShzZHIodM-UrThc/images/trainings/06-template-quiz.png?fit=max&auto=format&n=2ShzZHIodM-UrThc&q=85&s=3a35163de049244008f75f8839212b2c" alt="Quiz box with the pass mark note and one multiple-choice question" width="1280" height="900" data-path="images/trainings/06-template-quiz.png" />
</Frame>

### Publish a training and manage versions

<Note>Admins only.</Note>

1. With the draft open, select **Publish**. The badge turns green and reads **Published** with the date, learners can now be assigned, and the content, quiz and refreshers become read-only.
2. To change a published training, select **New draft**: the next version opens as a draft and the published one keeps serving learners until you publish again. Renaming applies to every past and future occurrence once published.
3. Use the version picker on the right to open any earlier version; previous versions cannot be edited, and **Edit vN draft** jumps back to the open draft.

<Frame caption="A published training: the Initial PDF on the left, its assignee on the right">
  <img src="https://mintcdn.com/aclid/2ShzZHIodM-UrThc/images/trainings/03-template-published.png?fit=max&auto=format&n=2ShzZHIodM-UrThc&q=85&s=73af650a584add7e68020dbc3e52fe54" alt="Published training template with Initial content, Published badge and Assignees box" width="1280" height="900" data-path="images/trainings/03-template-published.png" />
</Frame>

### Assign a training

<Note>Admins only.</Note>

1. Open a published template and select **Assign** in the **Assignees** box.
2. Pick **Assign to user groups** and **Assign to individuals**. Groups and people already on the training start out selected; remove one to unassign it (it reappears in the list marked **Already assigned** until you save), and anyone covered by a selected group is greyed out. The footer summarises what will change.
3. Set the **Due date** and select **Assign**. Each person gets an occurrence due on that date, in their **My trainings**, their Dashboard actions and the Calendar.
4. To assign from the other direction, open the menu on a row of **Team members** and choose **Assign**: **Assign training(s) to** that person lets you pick several published trainings with one **Due date (optional)**.

<Frame caption="The Assign modal of a training that is already assigned to one person">
  <img src="https://mintcdn.com/aclid/2ShzZHIodM-UrThc/images/trainings/04-assign-modal.png?fit=max&auto=format&n=2ShzZHIodM-UrThc&q=85&s=e6e3fe18ffafac4c2da43034b5868271" alt="Assign modal with group and individual pickers and a due date" width="1280" height="900" data-path="images/trainings/04-assign-modal.png" />
</Frame>

### Follow a team member's progress

<Note>Admins only.</Note>

1. On **Team members**, read **Assigned** (a red warning marks people with nothing assigned) and **Coming due** (completed out of issued occurrences).
2. Select a row, or **Details** in its menu, to open that person's page: **Available & incomplete**, **Overdue trainings** and **Total assigned**, then one card per training.
3. For an in-person training choose **Mark attended** from the card menu; for an online training without content choose **Mark as complete**. **History** opens **Training history for** that person, with a **Download** button that prints it.

<Frame caption="One person's trainings, with their status, format, frequency and due date">
  <img src="https://mintcdn.com/aclid/2ShzZHIodM-UrThc/images/trainings/07-user-assignments.png?fit=max&auto=format&n=2ShzZHIodM-UrThc&q=85&s=fa678e0cdf897280b3e0dedd109bc3a2" alt="Team member page with three counters and a training card" width="1280" height="900" data-path="images/trainings/07-user-assignments.png" />
</Frame>

### Complete a training as a learner

1. Open **My trainings** and select **Start** on a card (**Resume** if you left part-way, **Review** once done).
2. Go through the content. A PDF advances page by page with **Next**, which unlocks after a few seconds on each page, and the bar at the top shows the percentage complete; a video has to be watched to the end; a SCORM package reports back when it is finished and shows how much has been viewed.
3. Select **Take quiz** (or **Complete** / **Done** when there is no quiz), answer every question under **Let's test your knowledge** and **Submit**. Below 80% you can **Try again**; a pass completes the occurrence.
4. Back on the card, **Download certificate** in the menu saves a completion certificate. **History** at the top lists every completed training with its certificate.

<Frame caption="An online training opened as a learner, before the first page is read">
  <img src="https://mintcdn.com/aclid/2ShzZHIodM-UrThc/images/trainings/08-learner-view.png?fit=max&auto=format&n=2ShzZHIodM-UrThc&q=85&s=ca3cfd62f75f88711e63dd8cfadbfd52" alt="Learner view of a PDF training with the progress bar at zero" width="1280" height="900" data-path="images/trainings/08-learner-view.png" />
</Frame>

## Reading the list

* **Training templates**: **Version** is the latest version; a circular-arrows icon before the **Training name** marks a template with refreshers; **Assigned** shows group names and the initials of individually assigned people, with a **+N** chip for the rest; **Site** appears when the organization has several sites and the header shows all of them.
* **Team members**: **Assigned** counts assignments, **Coming due** reads completed/issued with a green check when everything issued is done.
* **Training cards**: the first line shows **Not yet started**, a **% viewed** figure (or **Partially viewed** for a SCORM package), **Attended** / **Not attended** for in-person trainings or **Completed** / **Not completed** for content-free ones; then **Quiz passed** / **Quiz not passed**; then **Online** or **In person** and **One-time** or **Recurs yearly** with its window; then **Due:** or **Completed:** with the date.
* **Metrics**: **Completion rate** is the share of assignments whose latest occurrence is complete; **Past due** and **Due in next 30 days** count open occurrences.

## Tips and limits

* Only a published version can be assigned; a draft's **Assignees** box says **Publish this training to assign it to user groups and individuals**.
* Publishing a template that has no content and no quiz gives learners nothing to open: their page says **This training has no content**, and an admin completes it for them with **Mark as complete**.
* A group member whose sites do not include the training's site access is skipped when the group is assigned; the app tells you **Some group members weren't assigned**.
* A refresher that falls within 30 days of assignment is issued immediately; otherwise the next occurrence waits until its window opens.
* SCORM packages must be .zip files and take a few seconds to process; **Publish** refuses a draft whose package is still processing or failed.
* In an organization with several sites, the **Site access** box on a template lists its sites (or **All sites**). **Edit** opens **Edit site access**; leave it empty to make the training available everywhere. Refreshers follow the same setting, and an admin whose own access is limited to some sites cannot change it.

## Related

* [Dashboard](/guides/dashboard): training occurrences appear there as actions with a **View training** option.
* [Calendar](/guides/calendar): due dates of issued occurrences.
* [Users](/guides/users): user groups used for group assignment.
* [GraphQL reference: Training](/api/reference/types/Training)
* [GraphQL reference: TrainingAssignment](/api/reference/types/TrainingAssignment)
* [GraphQL reference: assignTrainingToUsers](/api/reference/mutations/assignTrainingToUsers)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.