Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions site/faq/faq-inventory.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ categories: ["inventory", "record registration", "inventory customization", "rec

By default, the [{{< fa code >}} Developer]{.bubble} role[^2] has sufficient permissions to register records.

## Can submitters register records before the final inventory type is known?

Yes. When Record Intake is available, you can flag an inventory record type for intake so submitters register a holding record first; a classification workflow (or an admin) then converts it in place to the correct type, or rejects and archives it.^[[Record Intake](/guide/inventory/record-intake.qmd)]

## Are registration questionnaires customizable?

- Yes, along with default fields provided by {{< var vm.product >}} as part of your basic record (model) information, you can add additional record information and make these custom fields required when creating records.[^3]
Expand Down
1 change: 1 addition & 0 deletions site/guide/_sidebar.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ website:
contents:
- guide/inventory/manage-inventory-record-types.qmd
- guide/inventory/manage-inventory-fields.qmd
- guide/inventory/record-intake.qmd
- text: "Working with the inventory"
file: guide/inventory/working-with-the-inventory.qmd
contents:
Expand Down
1 change: 1 addition & 0 deletions site/guide/inventory/_add-edit-record-types.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ c. Include optional information for your record type:

- Enter a **Description** to indicate the purpose of the record type displayed on the list of record types.
- Enter a URL-safe **Slug** where a list of records of this type will be accessible in your {{< var validmind.platform >}} URL under the inventory path.[^url-slug]
- If Record Intake is available for your organization, select **This Inventory Record Type will be used for intake.** when creating a holding type for later classification.^[[Record Intake](/guide/inventory/record-intake.qmd)] Only one type can be flagged for intake; document and artifact types do not apply to intake types.
- Select the **Document Types** available to be created for this record type.^[[Manage document types](/guide/templates/manage-document-types.qmd)]
- Select the **Artifact Types** available to be logged on this record type.^[[Manage artifact types](/guide/validation/manage-artifact-types.qmd)]
- Select the **Stakeholder Types** that should be displayed on this record type.^[[Manage record stakeholder types](/guide/configuration/manage-record-stakeholder-types.qmd)]
Expand Down
2 changes: 2 additions & 0 deletions site/guide/inventory/archive-delete-records.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ c. Click **Yes, Archive Record** to confirm archival of that record.

Archived records can be reactivated to make them available for use again in the inventory.

For intake records, admins can also use **Reject intake** on the record overview to archive the submission with a required reason without converting it to another inventory record type.^[[Record Intake](record-intake.qmd#reject-intake)]

#### Activate records

a. Select any stage other than Archived from the **{Record} Stage** drop-down menu where `{Record}` is the type of record.
Expand Down
16 changes: 16 additions & 0 deletions site/guide/inventory/manage-inventory-record-types.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,22 @@ date: last-modified

{{< include /guide/inventory/_add-edit-record-types.qmd >}}

## Flag a type for Record Intake

If Record Intake is available for your organization, you can flag an inventory record type for intake when you create it:

1. In the left sidebar, click **{{< fa gear >}} Settings**.

2. Under {{< fa cube >}} Inventory, select **Inventory Record Types**.

3. Click **{{< fa plus >}} Add Inventory Record Type**.

4. Enter a **Name** for the holding type, then select **This Inventory Record Type will be used for intake.**

Only one inventory record type can be flagged for intake. {{< var vm.product >}} creates special stages for that type; document and artifact types do not apply. To use a different type for intake later, delete the existing intake type and create another with the option selected.

**Learn more:** [Record Intake](record-intake.qmd)

## Enable or disable record types

{{< include /guide/inventory/_enable-disable-record-types.qmd >}}
Expand Down
152 changes: 152 additions & 0 deletions site/guide/inventory/record-intake.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
---
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
# Refer to the LICENSE file in the root of this repository for details.
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
title: "Record Intake"
description: "Flag an inventory record type for intake, classify submissions with workflows, convert records in place, and reject intake when needed."
date: last-modified
---

Use **Record Intake** when non-expert submitters need a simple way to register a new entry, and authorized users later classify it into the correct inventory record type (for example Agent, Model, or Tool).

Intake is an opt-in holding inventory record type that you name yourself. Only one inventory record type in an organization can be flagged for intake. Records keep the same identifier when they convert, so activity history continues on the converted record.

::: {.callout}
## Availability

Record Intake appears in {{< var vm.product >}} only when it is available for your organization. If you do not see the intake option when adding an inventory record type, contact {{< var vm.product >}} Support.
:::

::: {.attn}

## Prerequisites

- [x] {{< var link.login >}}
- [x] You are a [{{< fa hand >}} Customer Admin]{.bubble} or assigned another role with sufficient permissions to perform the tasks in this guide.[^1]

:::

## Flag an inventory record type for intake

1. In the left sidebar, click **{{< fa gear >}} Settings**.

2. Under {{< fa cube >}} Inventory, select **Inventory Record Types**.

3. Click **{{< fa plus >}} Add Inventory Record Type**.

4. Enter a **Name** for your intake holding type (for example Intake, Discovery Queue, or New Submissions).

5. Select **This Inventory Record Type will be used for intake.**

{{< var vm.product >}} creates special stages for the type so records can be held until they are classified. Document types and artifact types do not apply to intake types and are unavailable while the option is selected.

6. Complete any other details (such as slug or stakeholder types), then click **Create**.

::: {.callout}
## Only one intake type

Only one inventory record type can be flagged for intake. If an intake type already exists, the option is unavailable when you add another type. To use a different type for intake, delete the existing intake type, then create a new one with the intake option selected. You cannot turn the intake flag on or off when editing an existing type.
:::

## Register Intake records

1. In the left sidebar, click **{{< fa cubes >}} Inventory**.

2. Select the inventory view for your intake record type (or choose it in the inventory record type selector).

When an intake type is configured and you have not yet chosen an inventory view, {{< var vm.product >}} can open that intake view on first visit so submitters land in the right place.

3. Click **Register {Record}** where `{Record}` is your intake record type, and complete the registration fields configured for that type.^[[Register records in the inventory](register-records-in-inventory.qmd)]

Submitting an intake record is recorded in record activity as an intake submission.^[[View record activity](/guide/reporting/view-record-activity.qmd)]

::: {.callout}
## Documents and artifacts after conversion

While a record is still on the intake type, document and artifact navigation for that record is hidden. Those surfaces become available after the record converts to its real inventory record type.
:::

## Configure an Intake classification workflow

Classify intake records with a workflow scoped to your intake inventory record type:^[[Configure workflows](/guide/workflows/configure-workflows.qmd)]

1. Collect the information reviewers need (for example with **{{< fa arrow-pointer >}} User Action**, **{{< fa maximize >}} Condition Branch**, and **{{< fa users >}} Approval** steps).^[[Workflow step types](/guide/workflows/workflow-step-types.qmd)]

2. Finish the path with an **{{< fa layer-group >}} Inventory Record Type Change** step that converts the record in place to the target type.

- The step is available in the workflow builder when the workflow is scoped to the inventory record type flagged for intake.
- Select a fixed target inventory record type.
- Set **Classification Method** to **Automated routing** or **Manual review**. This labels how the type was assigned in record activity; it does not change whether the conversion runs when the step executes.
- Target options exclude the intake type and disabled inventory record types.

3. Publish the workflow.^[[Configure workflows](/guide/workflows/configure-workflows.qmd#publish-workflow)]

::: {.callout}
## Automated routing vs Manual review

Selecting **Manual review** on **Inventory Record Type Change** does **not** pause the workflow or open a review UI on that step. It only records that a human chose the type.

When the step runs (with either method), {{< var vm.product >}}:

- Converts the intake record in place to the target inventory record type (same record identifier)
- Remaps the record to the target type's initial stage
- Keeps custom field values; fields that apply to the new type become available
- Writes an activity event labeled as automated routing or after manual review
- Can start matching target-type workflows that listen for a record-type-changed trigger (best effort)

Use **Manual review** when an earlier step collected a human decision — typically a **{{< fa arrow-pointer >}} User Action** or **{{< fa maximize >}} Condition Branch** that routes to a path with the matching fixed target type. Use **Automated routing** when the workflow itself decides the target (for example via conditions that lead to a fixed type).^[[Inventory Record Type Change](/guide/workflows/workflow-step-types.qmd#inventory-record-type-change)]
:::

After conversion, the record URL updates to the new inventory record type so you stay on the converted record instead of seeing a "not found" error.

## Change inventory record type

Admins can reclassify a record without waiting for the classifier workflow:

1. Open the record overview.

2. Click **Change inventory record type**.

3. Select the **New inventory record type**. An intake type cannot be selected as a migrate target.

4. (Optional) Enter a **Reason** for the activity history.

5. Review the compatibility preview, acknowledge any warnings, and confirm **Change inventory record type**.

The change keeps the same record identifier and continues the activity history on the new type.

## Reject intake

If an intake submission should not be converted:

1. Open the intake record overview.

2. Click **Reject intake**.

3. Enter a **Reason** (for example duplicate or out of scope).

4. Click **Reject and archive**.

Rejecting archives the intake record via its **Archived** stage without converting it. The record remains available under the archived filter, and the reason is preserved in activity.^[[Archive and delete records](archive-delete-records.qmd)]

## Track Intake activity

On the record **{{< fa wifi >}} Activity** page, Intake lifecycle events can include:^[[View record activity](/guide/reporting/view-record-activity.qmd)]

- Submitted for intake
- Classified or reclassified (from type → to type), including whether assignment used automated routing, manual review, or an admin change, and how many fields carried over
- Rejected and archived, with the reason

When classification ran through a workflow, use **View workflow execution** to open the related execution on the record's Workflows tab.

## What's next

- [Manage inventory record types](manage-inventory-record-types.qmd)
- [Workflow step types](/guide/workflows/workflow-step-types.qmd#inventory-record-type-change)
- [Configure workflows](/guide/workflows/configure-workflows.qmd)
- [View record activity](/guide/reporting/view-record-activity.qmd)


<!-- FOOTNOTES -->

[^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd)
2 changes: 2 additions & 0 deletions site/guide/inventory/register-records-in-inventory.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ tbl-cap-location: bottom

Register records with {{< var vm.product >}} as the first step towards streamlining your organization's risk management oversight.

When Record Intake is available for your organization and an inventory record type is flagged for intake, submitters can register holding records for later classification.^[[Record Intake](record-intake.qmd#register-intake-records)]

::: {.attn}

## Prerequisites
Expand Down
1 change: 1 addition & 0 deletions site/guide/inventory/setting-up-the-inventory.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ listing:
contents:
- manage-inventory-record-types.qmd
- manage-inventory-fields.qmd
- record-intake.qmd
---

Set up the {{< var validmind.platform >}} to support your organization's requirements by customizing what record types and associated fields are available in the inventory.
Expand Down
1 change: 1 addition & 0 deletions site/guide/inventory/working-with-the-inventory.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ listing:
fields: [title, description]
contents:
- register-records-in-inventory.qmd
- record-intake.qmd
- customize-inventory-layout.qmd
- edit-inventory-fields.qmd
- customize-record-overview-page.qmd
Expand Down
1 change: 1 addition & 0 deletions site/guide/reporting/_view-record-activity-overview.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ The record **{{< fa wifi >}} Activity** page shows a history of activities for t
- User comment creation and replies on documents
- Stakeholders added or removed
- Workflow activity
- Record Intake lifecycle events when an intake inventory record type is configured — submitted for intake, classified or reclassified (including automated routing, manual review, or admin changes), and rejected and archived^[[Record Intake](/guide/inventory/record-intake.qmd#track-intake-activity)]

11 changes: 11 additions & 0 deletions site/guide/workflows/_conditional-requirements.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@ Conditional requirements are required or optional for the following step types:^
### {{< fa cube >}} Inventory Record Stage Change [optional]{.smallercaps .pink}
<span id="record-stage-change">

1. Under **When These Conditions Are Met**, set your `AND` and `OR` conditions.
2. Add a single independent rule or a linked condition group. These rules and groups can be nested if desired:

- Click **{{< fa plus >}} Add Rule** to add an independent rule.
- Click **{{< fa plus-minus >}} Add Group** to add a linked group of rules that all must be true to qualify.

### {{< fa layer-group >}} Inventory Record Type Change [optional]{.smallercaps .pink}
<span id="inventory-record-type-change">

1. Under **When These Conditions Are Met**, set your `AND` and `OR` conditions.
2. Add a single independent rule or a linked condition group. These rules and groups can be nested if desired:

Expand Down Expand Up @@ -179,6 +188,8 @@ Configure conditional requirements for the following step types:

- {{< fa cube >}} Inventory Record Stage Change **[optional]{.smallercaps}**

- {{< fa layer-group >}} Inventory Record Type Change **[optional]{.smallercaps}**

- {{< fa tag >}} Artifact Status Change **[optional]{.smallercaps}**

- {{< fa arrow-pointer >}} User Action **[optional]{.smallercaps}**
Expand Down
29 changes: 29 additions & 0 deletions site/guide/workflows/_workflow-step-types.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,31 @@ SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial -->
| **Set Inventory Record Stage To** | Select the record stage to transition to. |
: **{{< fa cube >}} Inventory Record Stage Change** step configuration {.hover tbl-colwidths="[40,60]"}

### {{< fa layer-group >}} Inventory Record Type Change
<span id="inventory-record-type-change">

- Converts a record to a different inventory record type in place (same record identifier; activity history continues).^[[Record Intake](/guide/inventory/record-intake.qmd)]
- Available when configuring workflows for the inventory record type flagged for intake.
- Target options exclude the intake type and disabled inventory record types.

| Field | Description |
|---:|---|
| **When These Conditions Are Met** (optional) | Add conditional requirements to qualify for this step.^[[Conditional step requirements](/guide/workflows/conditional-step-requirements.qmd#inventory-record-type-change)] |
| **Target Inventory Record Type** | Select the fixed inventory record type to convert to. |
| **Classification Method** | Select **Automated routing** or **Manual review**. Labels how the type was assigned in record activity. Both options convert the record immediately when this step runs — **Manual review** does not pause the workflow or open a review UI on this step. |
: **{{< fa layer-group >}} Inventory Record Type Change** step configuration {.hover tbl-colwidths="[40,60]"}

::: {.callout}
## Classification Method is audit metadata

**Classification Method** is author-declared on the step because the runtime cannot reliably infer whether a human reviewed the selection.

- **Automated routing** — Same in-place conversion; activity records the assignment as automated routing.
- **Manual review** — Same in-place conversion; activity records the assignment as after manual review.

Typical **Manual review** pattern: earlier in the intake workflow, a reviewer chooses the path (for example with a **{{< fa arrow-pointer >}} User Action** or **{{< fa maximize >}} Condition Branch**). Configure each path's **Inventory Record Type Change** step with the matching fixed target type and **Manual review** so activity labels the conversion as after manual review.
:::

### {{< fa tag >}} Artifact Status Change
<span id="artifact-status-change">

Expand Down Expand Up @@ -261,6 +286,10 @@ Sends a HTTP request with optional additional conditions.^[[Conditional step req

Transitions a record into another stage.

#### {{< fa layer-group >}} Inventory Record Type Change

Converts a record to a different inventory record type in place (for example Intake → Agent).

#### {{< fa tag >}} Artifact Status Change

Transitions an artifact into another status.
Expand Down
Loading