Skip to content
Open
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 enabled, the **Intake** holding inventory record type lets submitters register a 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
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
14 changes: 14 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,20 @@ date: last-modified

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

## Enable Intake

If Record Intake is available for your organization, you can seed the opt-in **Intake** holding inventory record type from this page:

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

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

3. Click **Enable Intake**.

Intake becomes available for registration and classification workflows. The Intake slug is reserved and cannot be changed.

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

## Enable or disable record types

{{< include /guide/inventory/_enable-disable-record-types.qmd >}}
Expand Down
132 changes: 132 additions & 0 deletions site/guide/inventory/record-intake.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
---
# 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: "Enable the Intake holding type, 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 path to register a new system, and specialists later classify it into the correct inventory record type (for example Agent, Model, or Tool).

Intake is an opt-in holding inventory record type. 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 **Enable Intake** under Inventory Record Types, 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]

:::

## Enable Intake

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

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

3. Click **Enable Intake**.

{{< var vm.product >}} seeds the **Intake** inventory record type (including its governed **Awaiting Classification** stage) and makes it available for registration.

4. Confirm that **Intake** appears in the list of inventory record types and is not disabled.^[[Enable or disable record types](manage-inventory-record-types.qmd#enable-or-disable-record-types)]

::: {.callout}
## Intake slug is reserved

The Intake URL slug (`intake`) is reserved and cannot be changed when you edit the Intake record type.
:::

## Register Intake records

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

2. Select **Intake Inventory** (or the Intake view in the inventory record type selector).

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

3. Click **Register {Record}** where `{Record}` is Intake, and complete the registration fields configured for Intake.^[[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 Intake, 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 the **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 for **Intake** workflows.
- Choose a fixed target type, or resolve the target from a field value at runtime.
- Set **Classification Method** to **Automated routing** or **Manual review** so record activity records how the type was assigned.
- Target options exclude Intake and disabled inventory record types.

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

After conversion, {{< var vm.product >}} can start matching workflows on the target inventory record type that listen for a record-type-changed trigger (best effort). 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**. Intake 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 reserved **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 enabled for your organization, submitters can also register records under the **Intake** holding type 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 @@ -12,4 +12,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 Intake is enabled — 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
18 changes: 18 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,20 @@ 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 **Intake** inventory record type.
- Target options exclude Intake 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** | Choose **A fixed type**, or **From a field value** so the target is read from a record field at runtime (the field value should be a record-type slug such as `agent`, or the type id). |
| **Classification Method** | Select **Automated routing** or **Manual review**. Recorded in record activity as how the inventory record type was assigned. |
: **{{< fa layer-group >}} Inventory Record Type Change** step configuration {.hover tbl-colwidths="[40,60]"}

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

Expand Down Expand Up @@ -261,6 +275,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