diff --git a/site/guide/_sidebar.yaml b/site/guide/_sidebar.yaml index ea6b1e5024..c2ec40712c 100644 --- a/site/guide/_sidebar.yaml +++ b/site/guide/_sidebar.yaml @@ -46,7 +46,7 @@ website: - guide/integrations/manage-secrets.qmd - guide/integrations/configure-connections.qmd - guide/integrations/implement-custom-integrations.qmd - - guide/integrations/link-external-models.qmd + - guide/integrations/link-external-records.qmd - guide/mcp/connect-ai-assistants-via-mcp.qmd - guide/integrations/configure-analytics-exports.qmd - file: guide/integrations/integrations-examples.qmd diff --git a/site/guide/attestation/_configure-attestations.qmd b/site/guide/attestation/_configure-attestations.qmd index 9fe22985f3..d20f5ab1df 100644 --- a/site/guide/attestation/_configure-attestations.qmd +++ b/site/guide/attestation/_configure-attestations.qmd @@ -37,7 +37,7 @@ c. Set the **[start date]{.smallcaps}** for the attestation period. d. Set the **[end date]{.smallcaps}** when the attestation period ends. -e. Optional: Toggle **[email reminders]{.smallcaps}** to send reminders to Submitters, Reviewers, and Approvers: +e. (Optional) Toggle **[email reminders]{.smallcaps}** to send reminders to Submitters, Reviewers, and Approvers: - **[days before end]{.smallcaps}** — How many days before the end date to send the reminder. - **[subject]{.smallcaps}** — The email subject line. @@ -94,7 +94,7 @@ a. Under Inventory Scope, click **{{< fa plus >}} Add Rule** to add a filter con b. Click **Save**. -c. Optional: Click **View Records** to preview which records match your filter criteria. +c. (Optional) Click **View Records** to preview which records match your filter criteria. ::: {.embed-tip} ### How do I filter for groups? @@ -113,7 +113,7 @@ a. Under Relevant Attestation Fields, drag inventory record fields between colum - **Inventory Record Fields** — Available fields from the inventory - **Relevant Attestation Fields** — Selected fields to display in record snapshots -b. Optional: Reorder the fields to change how they display in the attestation. +b. (Optional) Reorder the fields to change how they display in the attestation. ### 5. Add questionnaire fields @@ -150,7 +150,7 @@ c. Click **Add Field**. d. Repeat to add additional fields as needed. -e. Optional: Reorder fields by dragging them to change the order in which they appear to submitters. +e. (Optional) Reorder fields by dragging them to change the order in which they appear to submitters. Questionnaire fields are available immediately for new attestation instances. Submitters see structured inputs for each field, and responses are collected consistently across all submissions. @@ -198,7 +198,7 @@ a. Under Relevant Attestation Fields, drag inventory record fields between colum - **Inventory Record Fields** — Available fields from the inventory - **Relevant Attestation Fields** — Selected fields to display in record snapshots -a. Optional: Reorder the fields to change how they display in the attestation. +a. (Optional) Reorder the fields to change how they display in the attestation. #### Add questionnaire fields diff --git a/site/guide/attestation/manage-attestations.qmd b/site/guide/attestation/manage-attestations.qmd index 1074b92d41..08a7d82a52 100644 --- a/site/guide/attestation/manage-attestations.qmd +++ b/site/guide/attestation/manage-attestations.qmd @@ -50,7 +50,7 @@ For testing purposes only, you can trigger the attestation process: 3. Under **Attestation Periods**, hover over an attestation period. -4. When **{{< fa ellipsis-vertical >}}** appears, select **{{< fa play >}} Start Now**. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, select **{{< fa play >}} Start Now**. 5. Click **Confirm**. @@ -64,7 +64,7 @@ After starting the schedule, attestation participants are notified via My Inbox 3. Under **Attestation Periods**, hover over an attestation period. -4. When **{{< fa ellipsis-vertical >}}** appears, select **{{< fa pencil >}} Edit**. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, select **{{< fa pencil >}} Edit**. 5. Make your desired changes to the following: @@ -88,7 +88,7 @@ This action cannot be undone. The history of previous attestation periods is una 3. Under **Attestation Periods**, hover over an attestation period. -4. When **{{< fa ellipsis-vertical >}}** appears, select [**{{< fa trash >}} Cancel Period**]{.red}. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, select [**{{< fa trash >}} Cancel Period**]{.red}. 5. Click **Confirm** to cancel the period. @@ -184,7 +184,7 @@ To manually complete an attestation period: 3. Under **Attestation Periods**, hover over an active attestation period. -4. When **{{< fa ellipsis-vertical >}}** appears, select **{{< fa check >}} Complete Period**. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, select **{{< fa check >}} Complete Period**. 5. Click **Confirm**. @@ -204,7 +204,7 @@ You cannot delete an attestation template if it has any active attestation perio 3. Locate the template to delete and hover over it. -4. When **{{< fa ellipsis-vertical >}}** appears, select [**{{< fa trash >}} Delete**]{.red}. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, select [**{{< fa trash >}} Delete**]{.red}. 5. Click **Confirm** to delete the template. diff --git a/site/guide/attestation/review-attestations.qmd b/site/guide/attestation/review-attestations.qmd index be23ac1952..967e87e496 100644 --- a/site/guide/attestation/review-attestations.qmd +++ b/site/guide/attestation/review-attestations.qmd @@ -37,7 +37,7 @@ As a reviewer, you assess the submitter's attestation, including ownership, usag - **Validation Issues** — Shows open validation issues at the time of the snapshot. - **Artifacts** — Shows artifacts (findings) captured in the snapshot. -4. Optional: Click **Activity** to review the attestation history: +4. (Optional) Click **Activity** to review the attestation history: - Who completed the different status changes. - When the attestation status changed. diff --git a/site/guide/attestation/working-with-attestations.qmd b/site/guide/attestation/working-with-attestations.qmd index ccf3095924..cae0b87f9d 100644 --- a/site/guide/attestation/working-with-attestations.qmd +++ b/site/guide/attestation/working-with-attestations.qmd @@ -20,21 +20,6 @@ listing: {{< include /guide/attestation/_attestations.qmd >}} -::: {.attn} - -## Prerequisites - -- [x] {{< var link.login >}} -- [x] Records registered in the inventory require attestation.[^1] -- [x] If applicable, artifacts (findings) have been documented.[^2] -- [x] You are assigned a role with sufficient permissions to perform attestation tasks:[^3] - - [{{< fa hand >}} Customer Admin]{.bubble} — Sets up attestations - - [Submitter]{.bubble} — Stakeholder who submits attestation questionnaires - - [Reviewer]{.bubble} — Organizational role that reviews attestation questionnaires - - [Approver]{.bubble} — Organizational role that approves attestation questionnaires - -::: - ## Key concepts {{< include /about/glossary/_attestation.qmd >}} @@ -72,12 +57,12 @@ graph LR A["**Not Started**"] --> B["**In Progress**"] B --> C["**Ready for Review**"] end - + subgraph Reviewer C --> D["**Reviewed**"] D -.-> B end - + subgraph Approver D --> E["**Signed Off**"] end @@ -109,7 +94,7 @@ If attestations were organized by owner alone, neither Emma nor Kam would have p This approach ensures 100% accountability per group, where Emma approves all Fraud records and Kam approves all KYC records. If Fraud has two co-leads (Emma and Andres), either can approve. ::: -## How do I create meaningful attestation questionnaires? +### How do I create meaningful attestation questionnaires? Attestation questionnaires are typically used in risk management to confirm that key controls, governance processes and documentation requirements have been followed throughout a record's lifecycle. These questionnaires are part of a broader effort to ensure accountability and regulatory compliance. @@ -131,15 +116,31 @@ Areas typically covered in the questionnaire: Work with your risk management team to create a template that accurately reflects your organization's attestation requirements. +::: {.attn} + +## Prerequisites + +- [x] {{< var link.login >}} +- [x] Records registered in the inventory require attestation.[^1] +- [x] If applicable, artifacts (findings) have been documented.[^2] +- [x] You are assigned a role with sufficient permissions to perform attestation tasks:[^3] + - [{{< fa hand >}} Customer Admin]{.bubble} — Sets up attestations + - [Submitter]{.bubble} — Stakeholder who submits attestation questionnaires + - [Reviewer]{.bubble} — Organizational role that reviews attestation questionnaires + - [Approver]{.bubble} — Organizational role that approves attestation questionnaires + +::: + ## Manage attestations ::: {#attestation-listing} ::: + [^1]: [Register records in the inventory](/guide/inventory/register-records-in-inventory.qmd) [^2]: [Working with artifacts](/guide/validation/working-with-artifacts.qmd) -[^3]: [Manage permissions](/guide/configuration/manage-permissions.qmd) \ No newline at end of file +[^3]: [Manage permissions](/guide/configuration/manage-permissions.qmd) \ No newline at end of file diff --git a/site/guide/configuration/configure-google-private-service-connect.qmd b/site/guide/configuration/configure-google-private-service-connect.qmd index 088d74bc01..e88c3d9703 100644 --- a/site/guide/configuration/configure-google-private-service-connect.qmd +++ b/site/guide/configuration/configure-google-private-service-connect.qmd @@ -77,7 +77,7 @@ Create a private subnet in a supported GCP region that can be used to expose {{< c. Configure the IP address range to ensure it includes at least a `/28` of usable private IP address space. d. Click **Create**. -2. Optional: Enable Private Google Access to provide access to Google APIs and services.[^2] +2. (Optional) Enable Private Google Access to provide access to Google APIs and services.[^2] 3. Provision two IP addresses in this subnet for later use: diff --git a/site/guide/configuration/customize-your-dashboard.qmd b/site/guide/configuration/customize-your-dashboard.qmd index d86acb88af..4c4d6646b0 100644 --- a/site/guide/configuration/customize-your-dashboard.qmd +++ b/site/guide/configuration/customize-your-dashboard.qmd @@ -28,9 +28,9 @@ Dashboards allow you to use widgets to quickly review and access information by 1. In the left sidebar, click **{{< fa home >}} Dashboard**. -2. Click **{{< fa plus>}} Add Dashboard**. +2. Click **{{< fa plus >}} Add Dashboard**. -3. On the Add New Dasboard modal that appears, enter the: +3. On the Add New Dashboard modal that appears, enter the: - **[dashboard name]{.smallcaps}** - **[description]{.smallcaps}** (optional) @@ -56,7 +56,7 @@ Deletion of dashboards is permanent. #### Edit dashboard details -a. Select **{{< fa pencil >}} Details** to edit a **[dashboard name]{.smallcaps}** or **[description]{.smallcaps}**. +a. Select **{{< fa pencil >}} Details** to edit a **[dashboard name]{.smallcaps}** or **[description]{.smallcaps}**. b. Make your edits then click **Save Changes** to apply your adjustments. @@ -99,11 +99,11 @@ Retrieve a list of the latest artifacts[^5] or recent activity.[^6] 3. Click **{{< fa pencil >}} Edit Dashboard**. -4. Hover over the title of a widget until the **{{< fa hand>}}** appears. +4. Hover over the title of a widget until the **{{< fa hand >}}** appears. 5. Click and drag to position your widget as desired. - To resize a widget, hover over the bottom-right corner of a widget until the **{{< fa hand>}}** appears, then adjust the dimensions to your liking. + To resize a widget, hover over the bottom-right corner of a widget until the **{{< fa hand >}}** appears, then adjust the dimensions to your liking. 6. Click **Done Editing** to exit the editor. @@ -174,7 +174,7 @@ Removing a widget from a dashboard will not delete the linked view or analytics 4. Hover over the widget you would like to remove. -5. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select [**{{< fa trash-can >}} Remove**]{.red}. +5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select [**{{< fa trash-can >}} Remove**]{.red}. 6. Click **Yes, Delete Widget** to confirm permanent deletion of the widget from that dashboard. diff --git a/site/guide/configuration/manage-platform-notifications.qmd b/site/guide/configuration/manage-platform-notifications.qmd index d4c0bc62d9..96338b37d5 100644 --- a/site/guide/configuration/manage-platform-notifications.qmd +++ b/site/guide/configuration/manage-platform-notifications.qmd @@ -63,7 +63,7 @@ To mark an individual update as read: a. Hover over the update you want to mark as read. -b. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa envelope >}} Mark as Read**. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa envelope >}} Mark as Read**. To mark multiple updates as read: @@ -79,7 +79,7 @@ To dismiss an individual update: a. Hover over the update you want to dismiss. -b. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa bell-slash >}} Dismiss**. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa bell-slash >}} Dismiss**. To dismiss all updates: diff --git a/site/guide/configuration/set-up-your-organization.qmd b/site/guide/configuration/set-up-your-organization.qmd index d69ae6b862..87bc635150 100644 --- a/site/guide/configuration/set-up-your-organization.qmd +++ b/site/guide/configuration/set-up-your-organization.qmd @@ -39,7 +39,7 @@ This task involves managing organizations within {{< var vm.product >}}, allowin a. Hover over the business unit you want to rename. -b. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa pencil >}} Edit Details** to rename the business unit. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa pencil >}} Edit Details** to rename the business unit. c. Click **Save** to apply your changes. @@ -51,7 +51,7 @@ In order to delete a business unit, there must be no records attached to that un a. Hover over the business unit you want to delete. -b. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select [**{{< fa trash-can >}} Delete Business Unit**]{.red} to remove the business unit. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select [**{{< fa trash-can >}} Delete Business Unit**]{.red} to remove the business unit. ::: {.callout-important} In order to delete a business unit, there must be no records attached to that unit. diff --git a/site/guide/documentation/collaborate-with-others.qmd b/site/guide/documentation/collaborate-with-others.qmd index a8f9bf43a3..0d087136cf 100644 --- a/site/guide/documentation/collaborate-with-others.qmd +++ b/site/guide/documentation/collaborate-with-others.qmd @@ -94,7 +94,7 @@ b. Click on the version you would like to compare another version to. c. Hover over the other version to compare with your first version. -d. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **Compare against selected**. +d. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **Compare against selected**. ### Rename a version diff --git a/site/guide/documentation/working-with-documentation.qmd b/site/guide/documentation/working-with-documentation.qmd index d5ada74553..3375eb7340 100644 --- a/site/guide/documentation/working-with-documentation.qmd +++ b/site/guide/documentation/working-with-documentation.qmd @@ -39,18 +39,7 @@ After you upload initial documentation through the {{< var validmind.developer > This section describes how to work with Development type documents[^1] (for example, model documentation) in the {{< var validmind.platform >}}. Typically, you perform the tasks described here **after you have uploaded some initial documentation** with the {{< var validmind.developer >}}. -[Learn more about the {{< var validmind.developer >}} {{< fa hand-point-right>}}](/developer/validmind-library.qmd){.button .button-green} -::: - -::: {.attn} - -## Prerequisites - -- [x] {{< var link.login >}} -- [x] The record you are documenting is registered in the inventory.[^2] -- [x] You have provided some content for the documentation, either by uploading it through the {{< var vm.developer >}}[^3] or via the {{< var vm.platform >}}. -- [x] You are a [{{< fa code >}} Developer]{.bubble} or assigned another role with sufficient permissions to perform the tasks in this guide.[^4] - +[Learn more about the {{< var validmind.developer >}} {{< fa hand-point-right >}}](/developer/validmind-library.qmd){.button .button-green} ::: ## Key concepts @@ -80,6 +69,17 @@ This section describes how to work with Development type documents[^1] (for exam :::: +::: {.attn} + +## Prerequisites + +- [x] {{< var link.login >}} +- [x] The record you are documenting is registered in the inventory.[^2] +- [x] You have provided some content for the documentation, either by uploading it through the {{< var vm.developer >}}[^3] or via the {{< var vm.platform >}}. +- [x] You are a [{{< fa code >}} Developer]{.bubble} or assigned another role with sufficient permissions to perform the tasks in this guide.[^4] + +::: + ## Document Overview {{< include _document-overview.qmd >}} @@ -106,12 +106,6 @@ Modify the contents of the **Latest** version of your document:[^6] b. Select **Save current revision** and enter a name. c. Click {{< fa check >}} to save the current revision. - - ## Prepare documentation Draft, edit, and refine your documentation, complete with supporting test results: diff --git a/site/guide/integrations/configure-analytics-export-step-1.png b/site/guide/integrations/configure-analytics-export-step-1.png deleted file mode 100644 index 55b5b742ba..0000000000 Binary files a/site/guide/integrations/configure-analytics-export-step-1.png and /dev/null differ diff --git a/site/guide/integrations/configure-analytics-export-step-2.png b/site/guide/integrations/configure-analytics-export-step-2.png deleted file mode 100644 index 7b4e6ce3af..0000000000 Binary files a/site/guide/integrations/configure-analytics-export-step-2.png and /dev/null differ diff --git a/site/guide/integrations/configure-analytics-export-step-3.png b/site/guide/integrations/configure-analytics-export-step-3.png deleted file mode 100644 index cb11c4aecc..0000000000 Binary files a/site/guide/integrations/configure-analytics-export-step-3.png and /dev/null differ diff --git a/site/guide/integrations/configure-analytics-exports.qmd b/site/guide/integrations/configure-analytics-exports.qmd index 24ca319819..8d00be60e8 100644 --- a/site/guide/integrations/configure-analytics-exports.qmd +++ b/site/guide/integrations/configure-analytics-exports.qmd @@ -7,7 +7,7 @@ date: last-modified --- -Configure scheduled exports of analytics datasets to cloud storage so that BI tools such as Tableau, Snowflake, and Looker can consume models, findings, workflow metrics, and activity events. +Configure scheduled exports of analytics datasets to cloud storage so that BI tools such as Tableau, Snowflake, and Looker can consume records (models), artifacts (findings), workflow metrics, and activity events. ::: {.attn} @@ -19,6 +19,30 @@ Configure scheduled exports of analytics datasets to cloud storage so that BI to ::: +## View analytics exports + +1. In the left sidebar, click **{{< fa gear >}} Settings**. + +2. Under {{< fa puzzle-piece >}} Integrations, select **Analytics Exports** to view existing export configuration details or export run history: + +::: {.panel-tabset} + +### View export details + +Click the export row you want to view, or hover over it and when the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa eye >}} View Details**. + +Review the destination, schedule, datasets, and next run for that export. + +### View export run history + +a. Hover over the export you want to inspect. + +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa history >}} View Run History**. + +Review past runs with their status, start time, duration, rows exported, and files written. + +::: + ## Create analytics exports 1. In the left sidebar, click **{{< fa gear >}} Settings**. @@ -27,27 +51,15 @@ Configure scheduled exports of analytics datasets to cloud storage so that BI to 3. On the Analytics Exports page, click **{{< fa plus >}} Create Analytics Export**. -4. From the **[datasets]{.smallcaps}** dropdown, choose which analytics datasets to export. For example: +4. From the **[datasets]{.smallcaps}** dropdown, choose which analytics datasets to export: - - Artifact - Model Limitation + - Artifact - Limitation - Artifact - Policy Exception - Artifact - Validation Issue - - Inventory Models - - Model Activity[^4] - - Custom artifact types[^3] - - Custom inventory record types - - ::: {.callout title="Model Activity exports"} - Model Activity exports audit events — comments, workflow status changes, and field updates on inventory records. Use this dataset for compliance reporting or audit trails. Model Activity respects the same export scope (organization, workspace, or selected models) and supports 30, 60, or 90-day window filtering. - ::: - - ::: {.callout title="Custom types"} - Any custom artifact types or custom inventory record types defined for your organization also appear in the datasets dropdown and can be exported. - ::: - -::: {.column-margin} -![Selecting datasets](configure-analytics-export-step-1.png){fig-alt="Create Analytics Export modal showing Select Datasets step and datasets dropdown." .screenshot} -::: + - Inventory Records + - Record Activity[^3] + - Custom inventory record types[^4] + - Custom artifact types[^5] 5. Click **Next** {{< fa angle-right >}}. @@ -62,10 +74,6 @@ Configure scheduled exports of analytics datasets to cloud storage so that BI to - **[test connection]{.smallcaps}** (optional) — Click to verify the destination can be accessed. -::: {.column-margin} -![Configuring your cloud storage destination](configure-analytics-export-step-2.png){fig-alt="Create Analytics Export modal showing Configure Destination step with cloud storage and output settings." .screenshot} -::: - 7. Click **Next** {{< fa angle-right >}}. 8. Set how often to export: @@ -74,99 +82,86 @@ Configure scheduled exports of analytics datasets to cloud storage so that BI to - **[time (utc)]{.smallcaps}** — Choose the time of day in UTC (example: `12:00 AM`). -::: {.column-margin} -![Setting the schedule](configure-analytics-export-step-3.png){fig-alt="Create Analytics Export modal showing Set Schedule step with Daily schedule and 12:00 am UTC." .screenshot} -::: - 9. Click **Create Analytics Export**. The export is created and runs on the schedule you set. Data is written to the configured path in your cloud storage so BI tools can read it. -## View details +## Manage analytics exports 1. In the left sidebar, click **{{< fa gear >}} Settings**. -2. Under {{< fa puzzle-piece >}} Integrations, select **Analytics Exports**. - -3. Click the export row you want to view, or hover over it and when the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa eye >}} View Details**. +2. Under {{< fa puzzle-piece >}} Integrations, select **Analytics Exports** to edit existing export configurations, disable or enable exports, or delete configured exports: -You see the destination, schedule, datasets, and next run for that export. +::: {.panel-tabset} -## Edit analytics exports +### Edit exports -1. In the left sidebar, click **{{< fa gear >}} Settings**. - -2. Under {{< fa puzzle-piece >}} Integrations, select **Analytics Exports**. - -3. Hover over the export you want to change. +a. Hover over the export you want to change. -4. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa pen >}} Edit**. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa pen >}} Edit**. -5. In the modal, adjust datasets, destination, or schedule, then click **Save Changes**. +c. Adjust selected datasets, export destination, or export schedule, then click **Save Changes**. -## Run analytics exports manually +### Disable or enable exports -1. In the left sidebar, click **{{< fa gear >}} Settings**. +a. Hover over the export you want to pause or restart. -2. Under {{< fa puzzle-piece >}} Integrations, select **Analytics Exports**. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa bolt >}} Disable** or **{{< fa bolt >}} Enable**, depending on the current setting. -3. Hover over the export you want to run. - -4. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa play >}} Run Now**. - -A one-off export runs in addition to the scheduled runs. The status for a run is shown on the export configuration row or in the run history. - -## View run history - -1. In the left sidebar, click **{{< fa gear >}} Settings**. - -2. Under {{< fa puzzle-piece >}} Integrations, select **Analytics Exports**. - -3. Hover over the export you want to inspect. - -4. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa history >}} View Run History**. - -You see past runs with their status, start time, duration, rows exported, and files written. - -## Disable or enable analytics exports +The export stops or starts running depending on the action you take. -1. In the left sidebar, click **{{< fa gear >}} Settings**. +### Delete configured exports -2. Under {{< fa puzzle-piece >}} Integrations, select **Analytics Exports**. - -3. Hover over the export you want to pause. +::: {.callout-important title="Deleting an analytics export configuration is permanent."} +Data you exported previously will remain in the cloud storage destination unchanged. +::: -4. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa bolt >}} Disable** or **{{< fa bolt >}} Enable**, depending on the current setting. +a. Hover over the export you want to remove. -The export stops or starts running depending on the action you take. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **Delete**. -## Delete analytics export configurations +c. In the confirmation dialog, click **Yes, Delete Export** to confirm deletion. -::: {.callout-warning title="Deleting an analytics export configuration is permanent."} -Data you exported previously will remain in the cloud storage destination unchanged. ::: +## Run analytics exports manually + 1. In the left sidebar, click **{{< fa gear >}} Settings**. 2. Under {{< fa puzzle-piece >}} Integrations, select **Analytics Exports**. -3. Hover over the export you want to remove. +3. Hover over the export you want to run. -4. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **Delete**. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa play >}} Run Now**. -5. In the confirmation dialog, click **Yes, Delete Export** to confirm deletion. +A one-off export runs in addition to the scheduled runs. The status for a run is shown on the export configuration row or in the run history. ## What's next - Use your BI tool to connect to the same bucket and path to build reports from the exported datasets. - Ensure credentials stay valid by rotating secrets when required and updating the export configuration if you change secrets.[^2] + [^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd) [^2]: [Manage secrets](/guide/integrations/manage-secrets.qmd) -[^3]: [Manage artifact types](/guide/validation/manage-artifact-types.qmd) +[^3]: + + Record Activity exports audit events — for example, comments, workflow status changes, and field updates on inventory records. Use this dataset for compliance reporting or audit trails. Record Activity respects the same export scope (organization, workspace, or selected records) and supports 30, 60, or 90-day window filtering. +

+ **Learn more:** [View record activity](/guide/inventory/view-record-activity.qmd) + +[^4]: + + Any custom inventory record types defined for your organization also appear in the datasets dropdown and can be exported. +

+ **Learn more:** [Manage inventory record types](/guide/inventory/manage-inventory-record-types.qmd) + +[^5]: -[^4]: [View record activity](/guide/inventory/view-record-activity.qmd) + Any custom artifact types defined for your organization also appear in the datasets dropdown and can be exported. +

+ **Learn more:** [Manage artifact types](/guide/validation/manage-artifact-types.qmd) diff --git a/site/guide/integrations/configure-connections.qmd b/site/guide/integrations/configure-connections.qmd index 2bca5f107e..4f31402def 100644 --- a/site/guide/integrations/configure-connections.qmd +++ b/site/guide/integrations/configure-connections.qmd @@ -6,28 +6,17 @@ title: "Configure connections" date: last-modified --- -Connections link {{< var vm.product >}} with the external systems your teams already use. +Connections link {{< var vm.product >}} with the external systems your teams already use. Each connection enables you to authenticate and keep events flowing between platforms such as Jira, ServiceNow, Amazon Bedrock and SageMaker, MLflow, and GitLab. -::: {.attn} - -## Prerequisites - -- [x] {{< var link.login >}} -- [x] You can manage workspace settings.[^1] -- [x] The integration's required secrets already exist in integration secrets.[^2] -- [x] You coordinated with the external system owner to obtain the required credentials and configuration details for the connection. - -::: - ## Supported connections :::: {.panel-tabset} ### Jira -A project tracking tool that teams use to plan work, track progress, and manage issues across a project lifecycle. +A project tracking tool that teams use to plan work, track progress, and manage issues across a project lifecycle. Required configuration details: @@ -42,7 +31,7 @@ Required configuration details: ### ServiceNow -An IT service management platform that helps teams handle requests incidents assets and other operational workflows. +An IT service management platform that helps teams handle requests, incidents, assets, and other operational workflows. Required configuration details: @@ -56,14 +45,14 @@ Required configuration details: : The ServiceNow username. **[password]{.smallcaps}** -: The secret that stores the ServiceNow password. +: The secret that stores the ServiceNow password. **[servicenow board]{.smallcaps}** : The board or table that receives linked tickets. ### Amazon SageMaker -An ML development service that lets teams build train and deploy models at scale. +An ML development service that lets teams build, train, and deploy models at scale. Required configuration details: @@ -71,10 +60,10 @@ Required configuration details: : The primary region where your SageMaker model registry lives, for example `us-west-2`. **[aws access key id]{.smallcaps}** -: The secret generated by AWS IAM with permissions to read the model registry. +: The secret generated by AWS IAM with permissions to read the SageMaker model registry. **[aws secret access key]{.smallcaps}** -: The secret generated by AWS IAM with permissions to read the model registry. +: The secret generated by AWS IAM with permissions to read the SageMaker model registry. ### Amazon Bedrock @@ -93,7 +82,7 @@ Required configuration details: ### MLflow -An open-source toolset that tracks experiments packages models and manages their deployment. +An open-source toolset that tracks experiments, packages models, and manages their deployment. Required configuration details: @@ -108,7 +97,7 @@ Required configuration details: ### GitLab -Synchronize GitLab model registry with ValidMind model inventory for comprehensive model tracking. +Synchronize your GitLab model registry with the {{< var vm.product >}} inventory for comprehensive record tracking. Required configuration details: @@ -140,7 +129,7 @@ Required configuration details: A user-defined connection to a third-party system that implements the {{< var vm.product >}} reference API.[^4] -Use custom integrations to connect internal model registries, proprietary platforms, or any service that exposes data through a compatible API. +Use custom integrations to connect internal inventory registries, proprietary platforms, or any service that exposes data through a compatible API. Required configuration details: @@ -151,10 +140,37 @@ Required configuration details: : A secret containing the API key for authenticating with your integration. **[integration types]{.smallcaps}** -: Select which types of objects this integration provides — Model Registry and/or Artifact / Ticket Source. +: Select which types of objects this integration provides — Record Registry and/or Artifact / Ticket Source. :::: +::: {.attn} + +## Prerequisites + +- [x] {{< var link.login >}} +- [x] You can manage workspace settings.[^1] +- [x] The integration's required secrets already exist in integration secrets.[^2] +- [x] You coordinated with the external system owner to obtain the required credentials and configuration details for the connection. + +::: + +## View connection details + +The connection detail page provides a dashboard-style view for managing a connection, its linked records, and metric sources. + +1. In the left sidebar, click **{{< fa gear >}} Settings**. + +2. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. + +3. Click the connection you want to view. + +The connection detail page displays: + +- **Connection status** — Shows whether the connection is operational, disabled, or experiencing issues. +- **Linked records** — Lists all {{< var vm.product >}} inventory records linked to resources in this integration. +- **Monitoring** — For integrations that provide metrics (such as Amazon Bedrock), shows configured metric sources and their sync status. + ## Add connections 1. In the left sidebar, click **{{< fa gear >}} Settings**. @@ -174,25 +190,42 @@ Required configuration details: - **[password]{.smallcaps}** — The secret that stores the secret key, password, or token required by the external service. - **[initial status]{.smallcaps}** — Set to `Operational` to enable immediately or `Disabled` if you plan to finish setup later. -6. Click **Save Integration**. +6. Click **Save Integration**. You can now [test the connection](#test-connections) to ensure it is working as expected. -## View connection details +## Edit connections + +1. In the left sidebar, click **{{< fa gear >}} Settings**. + +2. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. + +3. Click the connection you want to edit. + +4. In the modal that appears, click **Edit Connection**. + +5. Make your changes. For example: + + - **[tracking uri]{.smallcaps}** — Change the URI needed for the connection. + - **[password]{.smallcaps}** — Change the secret that stores the secret key, password, or token required by the external service. + +6. Click **Update Integration** to save your changes. -The connection detail page provides a dashboard-style view for managing a connection, its linked models, and metric sources. +## Test connections 1. In the left sidebar, click **{{< fa gear >}} Settings**. 2. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. -3. Click the connection you want to view. +3. Hover over the connection you want to test. -The connection detail page displays: +4. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa circle-check >}} Test Connection**. -- **Connection status** — Shows whether the connection is operational, disabled, or experiencing issues. -- **Linked models** — Lists all {{< var vm.product >}} inventory records linked to resources in this integration. -- **Monitoring** — For integrations that provide metrics (such as Amazon Bedrock), shows configured metric sources and their sync status. +If the test is successful, the message **{{< fa check-circle >}} Connection successful** displays. + +## Monitor connections + +::: {.panel-tabset} ## Monitor connection health @@ -215,9 +248,9 @@ Connections with errors or warnings display a status indicator, such as [{{< fa 3. Verify the external service is accessible. 4. Test the connection after making changes. -### View linked models +### View linked records -To see which models use a specific connection: +To see which records (models) use a specific connection: 1. In the left sidebar, click **{{< fa gear >}} Settings**. @@ -225,7 +258,7 @@ To see which models use a specific connection: 3. Click the connection to open its details page. -4. Review the linked models table, which shows the **VM Model** ({{< var vm.product >}} inventory record) and **External Name** (the linked external model) for each connection. +4. Review the linked records table, which shows the **VM Model** ({{< var vm.product >}} inventory record) and **External Name** (the linked external record) for each connection. ### View metric sources @@ -235,40 +268,41 @@ For connections that provide monitoring metrics, such as Amazon Bedrock: 2. Review the Metric Sources section to see available metrics. -3. These metrics can be added to monitoring documents for models linked to this connection.[^5] - -## Edit connections - -1. In the left sidebar, click **{{< fa gear >}} Settings**. +3. These metrics can be added to monitoring documents for records linked to this connection.[^5] -2. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. +## View monitoring data -3. Click the connection you want to edit. +Some integrations, such as Amazon Bedrock, can provide metrics that sync into {{< var vm.product >}} for use in monitoring documents. Metric sources define which external evaluations or metrics are available for a linked record. -4. In the modal that appears, click **Edit Connection**. +### How do metric sources work? -5. Make your changes. For example: +When a record in the {{< var vm.product >}} inventory is linked to an external resource, such as a Bedrock agent, available evaluations from that resource become metric sources. These metrics: - - **[tracking uri]{.smallcaps}** — Change the URI needed for the connection. - - **[password]{.smallcaps}** — Change the secret that stores the secret key, password, or token required by the external service. +- Sync automatically on a scheduled interval. +- Appear in the **From Integration** tab when adding metrics over time to monitoring documents.[^6] +- Support threshold configuration for alerting when values exceed acceptable limits. -6. Click **Update Integration** to save your changes. +::: {.callout title="Bedrock Agent Evaluations"} +For Amazon Bedrock connections, metric sources include agent evaluation results such as accuracy, helpfulness, and other assessment metrics. Link a record to a Bedrock agent to enable these metrics.[^7] +::: -## Test connections +### Access the Monitoring tab 1. In the left sidebar, click **{{< fa gear >}} Settings**. 2. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. -3. Hover over the connection you want to test. +3. Click on a connection that supports metric sources, for example a **Bedrock** connection. -4. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa circle-check >}} Test Connection**. +4. On the connection detail page, select the **Monitoring** tab. -If the test is successful, the message **{{< fa check-circle >}} Connection successful** displays. + This section lists all configured metric sources, their sync status, and when they last synced. + +::: ## Delete connections -::: {.callout-warning title="Deleting a connection is permanent."} +::: {.callout-important title="Deleting a connection is permanent and cannot be undone."} ::: 1. In the left sidebar, click **{{< fa gear >}} Settings**. @@ -281,34 +315,6 @@ If the test is successful, the message **{{< fa check-circle >}} Connection succ 5. In the confirmation dialog, select **OK** to confirm deletion. -## View monitoring data - -Some integrations, such as Amazon Bedrock, can provide metrics that sync into {{< var vm.product >}} for use in monitoring documents. Metric sources define which external evaluations or metrics are available for a linked model. - -### Access the Monitoring tab - -1. In the left sidebar, click **{{< fa gear >}} Settings**. - -2. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. - -3. Click on a connection that supports metric sources, for example a **Bedrock** connection. - -4. On the connection detail page, select the **Monitoring** tab. - - This section lists all configured metric sources, their sync status, and when they last synced. - -### How metric sources work - -When a model in the {{< var vm.product >}} inventory is linked to an external resource, such as a Bedrock agent, available evaluations from that resource become metric sources. These metrics: - -- Sync automatically on a scheduled interval. -- Appear in the **From Integration** tab when adding metrics over time to monitoring documents.[^5] -- Support threshold configuration for alerting when values exceed acceptable limits. - -::: {.callout title="Bedrock Agent Evaluations"} -For Amazon Bedrock connections, metric sources include agent evaluation results such as accuracy, helpfulness, and other assessment metrics. Link a model to a Bedrock agent to enable these metrics.[^6] -::: - [^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd) @@ -319,6 +325,8 @@ For Amazon Bedrock connections, metric sources include agent evaluation results [^4]: [Implement custom integrations](implement-custom-integrations.qmd) -[^5]: [Work with metrics over time](/guide/monitoring/work-with-metrics-over-time.qmd#add-integration-metrics) +[^5]: [Link external records](link-external-records.qmd) + +[^6]: [Work with metrics over time](/guide/monitoring/work-with-metrics-over-time.qmd#add-integration-metrics) -[^6]: [Link external models](link-external-models.qmd) +[^7]: [Synchronize records with AWS Bedrock](integrations-examples/synchronize-aws-bedrock.qmd) diff --git a/site/guide/integrations/implement-custom-integrations.qmd b/site/guide/integrations/implement-custom-integrations.qmd index 48a764effd..f95e451039 100644 --- a/site/guide/integrations/implement-custom-integrations.qmd +++ b/site/guide/integrations/implement-custom-integrations.qmd @@ -8,28 +8,16 @@ date: last-modified Connect {{< var vm.product >}} to third-party systems that aren't supported out of the box by building custom integrations using our reference API. -Custom integrations let you link resources, such as AI systems or models, from internal registries, proprietary platforms, or any service you control to the {{< var vm.product >}} model inventory. +Custom integrations let you link resources, such as AI systems or records such as models, from internal registries, proprietary platforms, or any service you control to the {{< var vm.product >}} inventory. -::: {.attn} - -## Prerequisites - -- [x] {{< var link.login >}} -- [x] You can manage permissions.[^1] -- [x] Your integration service is deployed and accessible from {{< var vm.product >}}. -- [x] You have the endpoint URL and API key for your integration service. -- [x] A secret containing your API key exists in integration secrets.[^2] - -::: - -## How custom integrations work +## How do custom integrations work? To create a custom integration, you build a service that implements the reference API endpoints: 1. Build a service that implements the required endpoints and connects to your data sources. 2. Deploy your service at a URL accessible to {{< var vm.product >}}. 3. Configure a custom integration in {{< var vm.product >}} that points to your service URL. -4. After implementation, your users can browse and link resources from your system to records in the model inventory. +4. After implementation, your users can browse and link resources from your system to records in the {{< var vm.product >}} inventory. Data flows bidirectionally — {{< var vm.product >}} reads your data and can write back metadata to enable linking. @@ -38,28 +26,41 @@ flowchart LR VM[ValidMind Platform] API[Your API service] DATA[Your data sources] - + VM <-->|Reference API| API API <--> DATA ``` +::: {.attn} + +## Prerequisites + +- [x] {{< var link.login >}} +- [x] You are assigned a role that can manage permissions.[^1] +- [x] Your integration service is deployed and accessible from {{< var vm.product >}}. +- [x] You have the endpoint URL and API key for your integration service. +- [x] A secret containing your API key exists in integration secrets.[^2] + +::: + ## Reference API The reference API defines the HTTP endpoints your service must implement. {{< var vm.product >}} calls these endpoints to discover and synchronize resources. -::: {.callout title="Reference implementation"} -A reference implementation with sample code is available. Contact your ValidMind representative for access. -::: +Bidirectional sync +: When linking resources, {{< var vm.product >}} can write metadata back to your system via `PUT` requests. This bidirectional sync enables you to store the {{< var vm.product >}} record identifier (`vm_cuid`) alongside your external records, creating a two-way link between systems. + +::: {.panel-tabset} ### Required endpoints Your service must expose these endpoints at the `/api/v1` base path: **List models** -: `GET /models` — Returns all models from your system. Supports optional `?resource_type=` filter. +: `GET /models` — Returns all records from your system. Supports optional `?resource_type=` filter. **Get model** -: `GET /models/{id}` — Returns a specific model by its unique identifier. +: `GET /models/{id}` — Returns a specific record by its unique identifier. **Update model** (optional) : `PUT /models/{id}` — Accepts metadata updates from {{< var vm.product >}}, enabling bidirectional sync. @@ -81,9 +82,9 @@ Your service must expose these endpoints at the `/api/v1` base path: **Resource types** : `GET /resource-types` — Returns available resource categories for filtering in the UI. -### Model response format +### `/models` response format -Your models endpoint should return objects with these fields: +Your `/models` (records) endpoint should return objects with these fields: | Field | Required | Description | |-------|----------|-------------| @@ -99,13 +100,13 @@ Your models endpoint should return objects with these fields: {{< var vm.product >}} authenticates requests using the `X-API-Key` header. Your service should validate this key and return `401 Unauthorized` if invalid or missing. -### Bidirectional sync +::: -When linking resources, {{< var vm.product >}} can write metadata back to your system via `PUT` requests. This bidirectional sync enables you to store the {{< var vm.product >}} model identifier (`vm_cuid`) alongside your external records, creating a two-way link between systems. +### Code examples -::: {.callout collapse="true" title="Code examples"} +::: {.panel-tabset} -**GET /models response** +#### `GET /models` response ```json [ @@ -124,7 +125,9 @@ When linking resources, {{< var vm.product >}} can write metadata back to your s ] ``` -**PUT /models/{id} request body** (what {{< var vm.product >}} sends) +#### `PUT /models/{id}` request body + +What {{< var vm.product >}} sends: ```json { @@ -132,7 +135,7 @@ When linking resources, {{< var vm.product >}} can write metadata back to your s } ``` -**Health check response** +#### Health check response ```json { @@ -140,7 +143,7 @@ When linking resources, {{< var vm.product >}} can write metadata back to your s } ``` -**Error response format** +#### Error response format ```json { @@ -150,76 +153,119 @@ When linking resources, {{< var vm.product >}} can write metadata back to your s ::: +::: {.callout title="Reference implementation"} +A reference implementation with sample code is available. Contact your {{< var vm.product >}} representative for access. +::: + ## Set up custom integrations -### Best practices +::: {.panel-tabset} -**Secure your service** -: Deploy your integration service behind HTTPS. Validate the API key on every request. +## 1. Add custom integration -**Handle errors gracefully** -: Return appropriate HTTP status codes (`400`, `401`, `404`, `500`) and error messages so users can troubleshoot connection issues. +a. In the left sidebar, click **{{< fa gear >}} Settings**. -**Paginate large responses** -: If your external system contains many resources, implement pagination to keep responses fast. +b. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. -**Monitor availability** -: Track the health of your integration service. {{< var vm.product >}} displays connection status in the UI, so users notice outages quickly. +c. Click **{{< fa plus >}} Add Connection**. -**Version your API** -: Include version information in your API path (`/api/v1/`) to support future changes without breaking existing integrations. +d. In the modal that opens, select **Custom Integration**. + +e. Enter the: + + - **[integration name]{.smallcaps}** -- A display name to identify this integration. + - **[description]{.smallcaps}** (optional) -- Additional details about the intended usage. + - **[endpoint url]{.smallcaps}** -- The base URL of your deployed integration that implements the reference API. + - **[api key]{.smallcaps}** -- Select a secret containing the API key for authenticating with your integration. + - **[integration types]{.smallcaps}** -- Select which types of objects this integration provides: + - **Record Registry** -- Sync models from your external system. + - **Artifact / Ticket Source** -- Sync artifacts or tickets from your external system. + - **[initial status]{.smallcaps}** -- Set to `Operational` to enable immediately or `Disabled` to finish setup later. + +f. Click **Save Integration**. + +g. Test the connection to verify your service is reachable: + + i. Hover over the custom integration you created. + ii. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa circle-check >}} Test Connection**. + + If the test succeeds, the message **{{< fa check-circle >}} Connection successful** is displayed. + +## 2. Link resources + +After configuring your custom integration, link resources to inventory records or artifacts: + +### Link inventory records to models + +a. In the left sidebar, click **{{< fa cubes >}} Inventory**. + +b. Select a record or find your record by applying a filter or searching for it.[^3] + +c. Click the **Integrations** tab. + +d. Select your custom integration connection. -### Add a custom integration +e. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa link >}} Link Model**: -1. In the left sidebar, click **{{< fa gear >}} Settings**. + - Select the external model to link.[^4] + - Select a **Sync Frequency**. + - Click **Test Connection** to verify the binding configuration. -2. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. +f. Click **Link Model**. -3. Click **{{< fa plus >}} Add Connection**. +### Link artifacts to tickets -4. In the modal that opens, select **Custom Integration**. +a. Locate the artifact you want to link to a ticket.[^5] -5. Enter the: +b. Click the **Integrations** tab. - - **[integration name]{.smallcaps}** — A display name to identify this integration. - - **[description]{.smallcaps}** (optional) — Additional details about the intended usage. - - **[endpoint url]{.smallcaps}** — The base URL of your deployed integration that implements the reference API. - - **[api key]{.smallcaps}** — Select a secret containing the API key for authenticating with your integration. - - **[integration types]{.smallcaps}** — Select which types of objects this integration provides: - - **Model Registry** — Sync models from your external system. - - **Artifact / Ticket Source** — Sync artifacts or tickets from your external system. - - **[initial status]{.smallcaps}** — Set to `Operational` to enable immediately or `Disabled` to finish setup later. +c. Select your custom integration connection. -6. Click **Save Integration**. +d. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa link >}} Link Artifact**: -7. Test the connection to verify your service is reachable: + - Search for or select the external ticket to link.[^6] + - Select a **Sync Frequency**. + - Click **Test Connection** to verify the binding configuration. - a. Hover over the custom integration you created. - - b. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa circle-check >}} Test Connection**. - - If the test succeeds, the message **{{< fa check-circle >}} Connection successful** displays. +e. Click **Link Ticket**. -### Link resources +::: -After configuring your custom integration, link resources to models in the inventory: +
-1. In the left sidebar, click **{{< fa cubes >}} Inventory**. +::: {.callout-button .pl4 .nt4} +::: {.callout collapse="true" appearance="minimal"} +### What are some best practices for implementing custom integrations? -2. Select a model by clicking on it. +**Secure your service** +: Deploy your integration service behind HTTPS. Validate the API key on every request. -3. In the right sidebar, locate your custom integration connection. +**Handle errors gracefully** +: Return appropriate HTTP status codes (`400`, `401`, `404`, `500`) and error messages so users can troubleshoot connection issues. -4. Hover over the connection. +**Paginate large responses** +: If your external system contains many resources, implement pagination to keep responses fast. + +**Monitor availability** +: Track the health of your integration service. {{< var vm.product >}} displays connection status in the UI, so users notice outages quickly. -5. When the **{{< fa ellipsis-vertical >}}** menu appears, click it and select **{{< fa link >}} Link Model**. +**Version your API** +: Include version information in your API path (`/api/v1/`) to support future changes without breaking existing integrations. -6. In the modal that opens, select the resource from your external system. +::: +::: -7. Click **Link Model**. [^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd) [^2]: [Manage secrets](manage-secrets.qmd) + +[^3]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) + +[^4]: If your integration exposes multiple resource types, select the resource type first to filter the available models. + +[^5]: [View and filter artifacts](/guide/validation/view-filter-artifacts.qmd) + +[^6]: If the ticket isn't available in the list, enter the ticket or issue ID from the external system. diff --git a/site/guide/integrations/integrations-examples/_add-workflow-example.qmd b/site/guide/integrations/integrations-examples/_add-workflow-example.qmd new file mode 100644 index 0000000000..eb06e8bfcd --- /dev/null +++ b/site/guide/integrations/integrations-examples/_add-workflow-example.qmd @@ -0,0 +1,17 @@ + + +a. In the left sidebar, click **{{< fa gear >}} Settings**. + +b. Under {{< fa shield >}} Governance, select **Workflows**. + +c. Click **{{< fa plus >}} Add Workflow**:^[[Add new workflows](/guide/workflows/configure-workflows.qmd#add-new-workflows)] + + - Under [workflow target]{.smallcaps} type, select **Inventory Record**. + - Enter a **[title]{.smallcaps}** and a **[description]{.smallcaps}** for the workflow. + - Select the **[record type]{.smallcaps}** this workflow applies to. + - Under **[workflow start]{.smallcaps}**, select when the workflow should be initiated. + - Under **[workflow expected duration]{.smallcaps}**, define the SLA for the workflow based on the start date in days, weeks, months, or years. + +d. Click **Save Draft** to save your blank workflow. diff --git a/site/guide/integrations/integrations-examples/_configure-workflow-http-step.qmd b/site/guide/integrations/integrations-examples/_configure-workflow-http-step.qmd new file mode 100644 index 0000000000..ba1b8863ae --- /dev/null +++ b/site/guide/integrations/integrations-examples/_configure-workflow-http-step.qmd @@ -0,0 +1,79 @@ + + +a. Configure the rest of your workflow steps, then drag and drop an **{{< fa cloud-arrow-up >}} HTTP Request** step^[[Workflow step types](/guide/workflows/workflow-step-types.qmd#http-request)] onto the canvas and connect it to your workflow. + +b. Double-click the step to open the **Configure HTTP Request** modal. + +:::: {.content-visible when-format="html" when-meta="includes.jira"} +c. Configure the required fields for Jira,[^configure-jira] replacing the placeholder values with your own: + + - **[url]{.smallcaps}** — `https://yourcompany.atlassian.net/rest/api/3/issue` + - **[method]{.smallcaps}** — POST + - **[headers]{.smallcaps}** — Add: + - `Content-Type`: `application/json` + - `Authorization`: `Bearer {{Jira Personal Access Token}}` + + ::: {.callout title="Use webhook secrets for credentials"} + Instead of entering credentials in plaintext, use a webhook secret: `Bearer {{secret:jira_pat}}`. To learn more, refer to [Manage secrets](/guide/integrations/manage-secrets.qmd#webhook-secrets). + ::: + + - **[body type]{.smallcaps}** — JSON + - **[body]{.smallcaps}** — Use the following JSON payload: + + ```json + { + "fields": { + "project": { + "key": "MODEL" + }, + "summary": "Model validation failed: {{Model Name}}", + "description": "The model [{{Model Name}}|{{Model URL}}] failed validation. Review artifacts in ValidMind.", + "issuetype": { + "name": "Bug" + } + } + } + ``` + +d. Click **Update Step** to save your configuration. + +[^configure-jira]: + + ![Create a Jira issue](integrations-examples-http-request-open-jira-ticket.png){width=80% fig-alt="Screenshot of the HTTP request step configured to create a Jira ticket, showing the required fields described in step 12." .screenshot} + +:::: + +:::: {.content-visible when-format="html" unless-meta="includes.jira"} +c. Configure the required fields for ServiceNow,[^configure-servicenow] replacing the placeholder values with your own: + + - **[url]{.smallcaps}** — `https://yourinstance.service-now.com/api/now/table/incident` + - **[method]{.smallcaps}** — POST + - **[headers]{.smallcaps}** — Add: + - `Content-Type`: `application/json` + - `Authorization`: `Basic {{ServiceNow Credentials}}` + + ::: {.callout title="Use webhook secrets for credentials"} + Instead of entering credentials in plaintext, use a webhook secret: `Basic {{secret:servicenow_creds}}`. To learn more, refer to [Manage secrets](/guide/integrations/manage-secrets.qmd#webhook-secrets). + ::: + + - **[body type]{.smallcaps}** — JSON + - **[body]{.smallcaps}** — Use the following JSON payload: + + ```json + { + "short_description": "Data drift issue detected: {{Model Name}}", + "description": "A potential issue has been identified for model {{Model Name}} (link: [{{Model URL}}]({{Model URL}})). Please review the ongoing monitoring documentation in ValidMind.", + "urgency": "2", + "category": "Model Risk" + } + ``` + +d. Click **Update Step** to save your configuration. + +[^configure-servicenow]: + + ![Create a ServiceNow incident](integrations-examples-http-request-open-servicenow-incident.png){width=80% fig-alt="Screenshot of the HTTP request step configured to create a ServiceNow incident, showing the required fields described in step 12." .screenshot} + +:::: diff --git a/site/guide/integrations/integrations-examples/_publish-workflow-example.qmd b/site/guide/integrations/integrations-examples/_publish-workflow-example.qmd new file mode 100644 index 0000000000..8f666708c2 --- /dev/null +++ b/site/guide/integrations/integrations-examples/_publish-workflow-example.qmd @@ -0,0 +1,9 @@ + + +a. Configure and link any additional workflow steps.^[[Configure workflows](/guide/workflows/configure-workflows.qmd#link-workflow-together)] + +b. Save your workflow to apply your changes. + +c. Publish your workflow to make it available for use. diff --git a/site/guide/integrations/integrations-examples/create-jira-ticket.qmd b/site/guide/integrations/integrations-examples/create-jira-ticket.qmd index 975f31de73..dfa5df8fa0 100644 --- a/site/guide/integrations/integrations-examples/create-jira-ticket.qmd +++ b/site/guide/integrations/integrations-examples/create-jira-ticket.qmd @@ -4,9 +4,11 @@ # SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial title: "Create a Jira ticket" date: last-modified +includes: + jira: true --- -Create a Jira ticket when model validation requires attention using an HTTP request workflow step. +Create a Jira ticket when validation requires attention using an HTTP request workflow step. ::: {.attn} @@ -20,66 +22,31 @@ Create a Jira ticket when model validation requires attention using an HTTP requ ::: -## Configure the workflow step +## Configure workflow step for Jira ticket creation -::: {.column-margin} -![Create a Jira issue](integrations-examples-http-request-open-jira-ticket.png){width=80% fig-alt="Screenshot of the HTTP request step configured to create a Jira ticket, showing the required fields described in step 4." .screenshot} -::: +::: {.panel-tabset} + +### 1. Add Inventory Record workflow + +{{< include /guide/integrations/integrations-examples/_add-workflow-example.qmd >}} + +### 2. Configure workflow step + +{{< include /guide/integrations/integrations-examples/_configure-workflow-http-step.qmd >}} -1. In the left sidebar, click **{{< fa gear >}} Settings**. - -2. Under {{< fa shield >}} Governance, select **Workflows**. - -3. Select the **Model Workflows** tab. - -4. Click on a workflow to modify or click **{{< fa plus >}} Add Model Workflow**[^4] to create a new workflow. - -5. From the **Workflow Steps** modal, drag and drop an **HTTP Request** step[^5] onto the canvas, then connect it to your workflow. - -6. Double-click the step to open the **Configure HTTP Request** modal. - -7. Configure the required fields, replacing the placeholder values with your own: - - - **[url]{.smallcaps}** — `https://yourcompany.atlassian.net/rest/api/3/issue` - - **[method]{.smallcaps}** — POST - - **[headers]{.smallcaps}** — Add: - - `Content-Type`: `application/json` - - `Authorization`: `Bearer {{Jira Personal Access Token}}` - - ::: {.callout-tip title="Use webhook secrets for credentials"} - Instead of entering credentials in plaintext, use a webhook secret: `Bearer {{secret:jira_pat}}`. See [Manage secrets](../manage-secrets.qmd#webhook-secrets). - ::: - - - **[body type]{.smallcaps}** — JSON - - **[body]{.smallcaps}** — Use the following JSON payload: - - ```json - { - "fields": { - "project": { - "key": "MODEL" - }, - "summary": "Model validation failed: {{Model Name}}", - "description": "The model [{{Model Name}}|{{Model URL}}] failed validation. Review artifacts in ValidMind.", - "issuetype": { - "name": "Bug" - } - } - } - ``` - -8. Click **Update Step** to save your configuration. +### 3. Publish workflow + +{{< include /guide/integrations/integrations-examples/_publish-workflow-example.qmd >}} The HTTP request to create the Jira ticket is sent when the workflow executes the step. - +::: -[^1]: [Manage permissions](../../configuration/manage-permissions.qmd) -[^2]: [Introduction to workflows](../../workflows/introduction-to-workflows.qmd) + -[^3]: [Manage secrets](../manage-secrets.qmd) +[^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd) -[^4]: [Add new workflows](../../workflows/configure-workflows.qmd#add-new-workflows) +[^2]: [Setting up workflows](/guide/workflows/setting-up-workflows.qmd) -[^5]: [Workflow step types](../../workflows/workflow-step-types.qmd#http-request) +[^3]: [Manage secrets](/guide/integrations/manage-secrets.qmd) diff --git a/site/guide/integrations/integrations-examples/create-servicenow-incident.qmd b/site/guide/integrations/integrations-examples/create-servicenow-incident.qmd index 7ecde2eadf..6d6e8db531 100644 --- a/site/guide/integrations/integrations-examples/create-servicenow-incident.qmd +++ b/site/guide/integrations/integrations-examples/create-servicenow-incident.qmd @@ -20,58 +20,31 @@ Create a ServiceNow incident when a data drift issue is detected during ongoing ::: -## Configure the workflow step +## Configure workflow step for ServiceNow incident creation -1. In the left sidebar, click **{{< fa gear >}} Settings**. +::: {.panel-tabset} -2. Under {{< fa shield >}} Governance, select **Workflows**. +### 1. Add Inventory Record workflow -3. Select the **Model Workflows** tab. +{{< include /guide/integrations/integrations-examples/_add-workflow-example.qmd >}} -4. Click on a workflow to modify or click **{{< fa plus >}} Add Model Workflow**[^4] to create a new workflow. +### 2. Configure workflow step -5. From the **Workflow Steps** modal, drag and drop an **HTTP Request** step[^5] onto the canvas, then connect it to your workflow. +{{< include /guide/integrations/integrations-examples/_configure-workflow-http-step.qmd >}} -6. Double-click the step to open the **Configure HTTP Request** modal. +### 3. Publish workflow -7. Configure the required fields, replacing the placeholder values with your own: +{{< include /guide/integrations/integrations-examples/_publish-workflow-example.qmd >}} - - **[url]{.smallcaps}** — `https://yourinstance.service-now.com/api/now/table/incident` - - **[method]{.smallcaps}** — POST - - **[headers]{.smallcaps}** — Add: - - `Content-Type`: `application/json` - - `Authorization`: `Basic {{ServiceNow Credentials}}` - - ::: {.callout-tip title="Use webhook secrets for credentials"} - Instead of entering credentials in plaintext, use a webhook secret: `Basic {{secret:servicenow_creds}}`. See [Manage secrets](../manage-secrets.qmd#webhook-secrets). - ::: - - - **[body type]{.smallcaps}** — JSON - - **[body]{.smallcaps}** — Use the following JSON payload: - - ```json - { - "short_description": "Data drift issue detected: {{Model Name}}", - "description": "A potential issue has been identified for model {{Model Name}} (link: [{{Model URL}}]({{Model URL}})). Please review the ongoing monitoring documentation in ValidMind.", - "urgency": "2", - "category": "Model Risk" - } - ``` +The HTTP request to create the ServiceNow incident is sent when the workflow executes the step. -::: {.column-margin} -![Create a ServiceNow incident](integrations-examples-http-request-open-servicenow-incident.png){width=80% fig-alt="Screenshot of the HTTP request step configured to create a ServiceNow incident, showing the required fields described in step 4." .screenshot} ::: -The HTTP request to create the ServiceNow incident is sent when the workflow executes the step. -[^1]: [Manage permissions](../../configuration/manage-permissions.qmd) - -[^2]: [Introduction to workflows](../../workflows/introduction-to-workflows.qmd) - -[^3]: [Manage secrets](../manage-secrets.qmd) +[^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd) -[^4]: [Add new workflows](../../workflows/configure-workflows.qmd#add-new-workflows) +[^2]: [Setting up workflows](/guide/workflows/setting-up-workflows.qmd) -[^5]: [Workflow step types](../../workflows/workflow-step-types.qmd#http-request) +[^3]: [Manage secrets](/guide/integrations/manage-secrets.qmd) diff --git a/site/guide/integrations/integrations-examples/synchronize-aws-bedrock.qmd b/site/guide/integrations/integrations-examples/synchronize-aws-bedrock.qmd index ef136a1d60..2427585bf8 100644 --- a/site/guide/integrations/integrations-examples/synchronize-aws-bedrock.qmd +++ b/site/guide/integrations/integrations-examples/synchronize-aws-bedrock.qmd @@ -2,11 +2,19 @@ # 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: "Synchronize models with AWS Bedrock" +title: "Synchronize records with AWS Bedrock" date: last-modified --- -Link {{< var vm.product >}} models to foundation models and generative AI agents in Amazon Bedrock, supporting governance across your AI/ML ecosystem. +Link {{< var vm.product >}} records to foundation models and generative AI agents in Amazon Web Services (AWS) Bedrock, supporting governance across your AI/ML ecosystem. + +## How does the integration with AWS Bedrock work? + +AWS Bedrock exposes two primary integration surfaces: + +- **Foundation model layer** — Access to AWS-hosted and custom foundation models through the Bedrock model catalog (Discover and Tune views). + +- **Application layer** — Bedrock primitives such as agents, flows, and knowledge bases that represent built generative AI applications and workflows. ::: {.attn} @@ -18,23 +26,21 @@ Link {{< var vm.product >}} models to foundation models and generative AI agents ::: -AWS Bedrock exposes two primary integration surfaces: +## Sync {{< var vm.product >}} records with AWS Bedrock -- **Foundation model layer** — Access to AWS-hosted and custom foundation models through the Bedrock model catalog (Discover and Tune views). - -- **Application layer** — Bedrock primitives such as agents, flows, and knowledge bases that represent built generative AI applications and workflows. +::: {.panel-tabset} -## Configure the connection +### 1. Configure Bedrock connection -1. In the left sidebar, click **{{< fa gear >}} Settings**. +a. In the left sidebar, click **{{< fa gear >}} Settings**. -2. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. +b. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. -3. Click **{{< fa plus >}} Add Connection**. +c. Click **{{< fa plus >}} Add Connection**. -4. In the modal that opens, select **AWS Bedrock**. +d. In the modal that opens, select **AWS Bedrock**. -5. Complete: +e. Complete: - **[integration name]{.smallcaps}** — How other admins can identify the connection. - **[description]{.smallcaps}** (optional) — The intended usage or additional details. @@ -43,40 +49,30 @@ AWS Bedrock exposes two primary integration surfaces: - **[aws secret access key]{.smallcaps}** — The secret generated by AWS IAM with permissions to access Bedrock. - **[initial status]{.smallcaps}** — Set to `Operational` to enable immediately or `Disabled` if you plan to finish setup later. -6. Click **Save Integration**. +f. Click **Save Integration**. -7. Test the connection: +g. Test the connection: - a. Hover over the AWS Bedrock connection you just created. - b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa circle-check >}} Test Connection**. + i. Hover over the AWS Bedrock connection you just created. + ii. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa circle-check >}} Test Connection**. If the test is successful, the message **{{< fa check-circle >}} Connection successful** displays. -## Link models from Bedrock +### 2. Link records to Bedrock -Once the connection is configured, you can link {{< var vm.product >}} models to your Bedrock resources: +Once the connection is configured, you can link {{< var vm.product >}} records to your Bedrock resources: -::: {.callout title="Model dependencies"} -Bedrock agents, flows, and runtimes typically call foundation models (LLMs) under the hood. When you link these application-layer resources to {{< var vm.product >}}, consider also registering their underlying foundation models and creating dependency relationships between them. +a. In the left sidebar, click **{{< fa cubes >}} Inventory**. -This builds a complete dependency graph showing how your AI applications relate to underlying models. Benefits include: +b. Select a record or find your record by applying a filter or searching for it.[^2] -- **Impact analysis** — See which applications are affected if a foundation model is deprecated or has compliance issues. -- **Full audit trails** — Documentation and risk assessments capture the entire model stack, not just the top-level application. -- **Governance visibility** — Track model versions and changes across your AI ecosystem. -::: - -1. In the left sidebar, click **{{< fa cubes >}} Inventory**. - -2. Select a model by clicking on it or find your model by applying a filter or searching for it.[^2] - -3. Scroll down until you locate the **Amazon Bedrock** connection box in the right sidebar. +c. Scroll down until you locate the **Amazon Bedrock** connection box in the right sidebar. -4. Hover over the Amazon Bedrock box. +d. Hover over the Amazon Bedrock box. -5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa link >}} Link Model**. +e. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa link >}} Link Model**. -6. In the modal that opens, use the tabs to filter by resource type: +f. In the modal that opens, use the tabs to filter by resource type: - **All** — View all available Bedrock resources. - **Foundation Models** — AWS-hosted and custom foundation models from the Bedrock catalog. @@ -84,16 +80,28 @@ This builds a complete dependency graph showing how your AI applications relate - **Flows** — Prompt flows and orchestration workflows. - **AgentCore Runtimes** — Agent runtime environments. -7. Click **[select model]{.smallcaps}** to choose the specific Bedrock resource to link. +g. Click **[select model]{.smallcaps}** to choose the specific Bedrock resource to link. + +h. (Optional) Click **Test Connection** to ensure the connection is working as expected. + + If the test is successful, the message **{{< fa check-circle >}} Connection Test Successful** is displayed. + +i. Click **Link Model**. -8. Optional: Click **Test Connection** to ensure the connection is working as expected. +::: {.callout title="On record dependencies"} +Bedrock agents, flows, and runtimes typically call foundation models (LLMs) under the hood. When you link these application-layer resources to {{< var vm.product >}}, consider also registering their underlying foundation models and creating dependency relationships between them: [Configure record interdependencies](/guide/inventory/configure-record-interdependencies.qmd) - If the test is successful, the message **{{< fa check-circle >}} Connection Test Successful** displays. +This builds a complete dependency graph showing how your AI applications relate to underlying models. Benefits include: -9. Click **Link Model**. +- **Impact analysis** — See which applications are affected if a foundation model is deprecated or has compliance issues. +- **Full audit trails** — Documentation and risk assessments capture the entire model stack, not just the top-level application. +- **Governance visibility** — Track model versions and changes across your AI ecosystem. +::: + +::: -[^1]: [Manage permissions](../../configuration/manage-permissions.qmd) +[^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd) -[^2]: [Working with the inventory](../../inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) +[^2]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) diff --git a/site/guide/integrations/integrations-examples/synchronize-aws-sagemaker.qmd b/site/guide/integrations/integrations-examples/synchronize-aws-sagemaker.qmd index cc87f119f5..deb6fe137d 100644 --- a/site/guide/integrations/integrations-examples/synchronize-aws-sagemaker.qmd +++ b/site/guide/integrations/integrations-examples/synchronize-aws-sagemaker.qmd @@ -2,11 +2,11 @@ # 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: "Synchronize models with AWS SageMaker" +title: "Synchronize records with AWS SageMaker" date: last-modified --- -Synchronize models registered in the {{< var vm.product >}} model inventory with AWS SageMaker models. +Synchronize records registered in the {{< var vm.product >}} inventory with Amazon Web Services (AWS) SageMaker models. ::: {.attn} @@ -18,65 +18,67 @@ Synchronize models registered in the {{< var vm.product >}} model inventory with ::: -## Configure the connection +## Sync {{< var vm.product >}} records with AWS SageMaker -::: {.column-margin} -![Connect with AWS SageMaker](integrations-examples-aws-sagemaker.png){width=80% fig-alt="Screenshot of the AWS Sagemaker connection configured to synchronize models, showing the required fields described in step 5." .screenshot} -::: +::: {.panel-tabset} -::: {.column-margin} -![A linked AWS SageMaker model](integrations-examples-aws-sagemaker-linked-model.png){width=60% fig-alt="Screenshot of the model linked to AWS SageMaker, showing the required fields described in step 4." .screenshot} -::: +### 1. Configure AWS SageMaker connection -1. In the left sidebar, click **{{< fa gear >}} Settings**. +a. In the left sidebar, click **{{< fa gear >}} Settings**. -2. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. +b. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. -3. Click **{{< fa plus >}} Add Connection**. +c. Click **{{< fa plus >}} Add Connection**. -4. In the modal that opens, select **AWS Sagemaker**. +d. In the modal that opens, select **AWS SageMaker**.[^2] -5. Complete: +e. Complete: - **[integration name]{.smallcaps}** — How other admins can identify the connection. - **[description]{.smallcaps}** (optional) — The intended usage or additional details. - **[aws region]{.smallcaps}** - The primary region where your SageMaker model registry lives, for example `us-west-2`. - - **[aws access key id]{.smallcaps}** — The secret generated by AWS IAM with permissions to read the model registry. - - **[aws secret access key]{.smallcaps}** — The secret generated by AWS IAM with permissions to read the model registry. + - **[aws access key id]{.smallcaps}** — The secret generated by AWS IAM with permissions to read the SageMaker model registry. + - **[aws secret access key]{.smallcaps}** — The secret generated by AWS IAM with permissions to read the SageMaker model registry. - **[initial status]{.smallcaps}** — Set to `Operational` to enable immediately or `Disabled` if you plan to finish setup later. -6. Click **Save Integration**. +f. Click **Save Integration**. -7. Test the connection: - - a. Hover over the AWS SageMaker connection you just created. - b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa circle-check >}} Test Connection**. +g. Test the connection: - If the test is successful, the message **{{< fa check-circle >}} Connection successful** displays. + i. Hover over the AWS SageMaker connection you just created. + ii. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa circle-check >}} Test Connection**. + If the test is successful, the message **{{< fa check-circle >}} Connection successful** is displayed. -## Link the models -1. In the left sidebar, click **{{< fa cubes >}} Inventory**. +### 2. Link records to AWS SageMaker -2. Select a model by clicking on it or find your model by applying a filter or searching for it.[^2] +a. In the left sidebar, click **{{< fa cubes >}} Inventory**. -3. Scroll down until you locate the **Amazon Sagemaker** connection box in the right sidebar. +b. Select a record or find your record by applying a filter or searching for it.[^3] -4. Hover over the Amazon SageMaker box. +c. Scroll down until you locate the **Amazon SageMaker** connection box in the right sidebar. -5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa link >}} Link Model**. +d. Hover over the Amazon SageMaker box. -6. In the modal that opens, click the [select model]{.smallcaps} dropdown to pick the AWS SageMaker model to link. +e. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa link >}} Link Model**. -7. Optional: Click **Test Connection** to ensure the connection is working as expected. +f. In the modal that opens, click the [select model]{.smallcaps} dropdown to pick the AWS SageMaker model to link. - If the test is successful, the message **{{< fa check-circle >}} Connection Test Successful** displays. +g. (Optional) Click **Test Connection** to ensure the connection is working as expected. -8. Click **Link Model**. + If the test is successful, the message **{{< fa check-circle >}} Connection Test Successful** is displayed. + +h. Click **Link Model**. + +::: -[^1]: [Manage permissions](../../configuration/manage-permissions.qmd) +[^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd) + +[^2]: + + ![Connect with AWS SageMaker](integrations-examples-aws-sagemaker.png){width=80% fig-alt="Screenshot of the AWS Sagemaker connection configured to synchronize models, showing the required fields described in step 5." .screenshot} -[^2]: [Working with the inventory](../../inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) +[^3]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) diff --git a/site/guide/integrations/integrations-examples/synchronize-gitlab.qmd b/site/guide/integrations/integrations-examples/synchronize-gitlab.qmd index c8a9095ee4..bb4e7ae67b 100644 --- a/site/guide/integrations/integrations-examples/synchronize-gitlab.qmd +++ b/site/guide/integrations/integrations-examples/synchronize-gitlab.qmd @@ -2,11 +2,11 @@ # 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: "Synchronize models with GitLab" +title: "Synchronize records with GitLab" date: last-modified --- -Synchronize GitLab model registry with ValidMind model inventory for comprehensive model tracking. +Synchronize your GitLab model registry with the {{< var vm.product >}} inventory for comprehensive tracking. ::: {.attn} @@ -19,21 +19,21 @@ Synchronize GitLab model registry with ValidMind model inventory for comprehensi ::: -## Configure the connection +## Sync {{< var vm.product >}} records with GitLab -::: {.column-margin} -![Configure GitLab connection](integrations-examples-gitlab.png){width=80% fig-alt="Screenshot of the Configure GitLab dialog showing fields for integration name, description, project ID, GitLab instance URL, personal access token, and initial status." .screenshot} -::: +::: {.panel-tabset} + +### 1. Configure GitLab connection -1. In the left sidebar, click **{{< fa gear >}} Settings**. +a. In the left sidebar, click **{{< fa gear >}} Settings**. -2. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. +b. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. -3. Click **{{< fa plus >}} Add Connection**. +c. Click **{{< fa plus >}} Add Connection**. -4. In the modal that opens, select **GitLab**. +d. In the modal that opens, select **GitLab**.[^3] -5. Complete: +e. Complete: - **[integration name]{.smallcaps}** — How other admins can identify the connection. - **[description]{.smallcaps}** (optional) — The intended usage or additional details. @@ -42,39 +42,47 @@ Synchronize GitLab model registry with ValidMind model inventory for comprehensi - **[personal access token]{.smallcaps}** — Select a secret containing your GitLab Personal Access Token with `api` or `read_api` scope. - **[initial status]{.smallcaps}** — Set to `Operational` to enable immediately or `Disabled` if you plan to finish setup later. -6. Click **Save Integration**. +f. Click **Save Integration**. + +g. Test the connection: + + i. Hover over the GitLab connection you just created. + ii. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa circle-check >}} Test Connection**. -7. Test the connection: + If the test is successful, the message **{{< fa check-circle >}} Connection successful** is displayed. - a. Hover over the GitLab connection you just created. - b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa circle-check >}} Test Connection**. +### 2. Link records to GitLab - If the test is successful, the message **{{< fa check-circle >}} Connection successful** displays. +a. In the left sidebar, click **{{< fa cubes >}} Inventory**. -## Link the models +b. Select a record or find your record by applying a filter or searching for it.[^4] -1. In the left sidebar, click **{{< fa cubes >}} Inventory**. +c. Scroll down until you locate the **GitLab** connection box in the right sidebar. -2. Select a model by clicking on it or find your model by applying a filter or searching for it.[^3] +d. Hover over the GitLab box. -3. Scroll down until you locate the **GitLab** connection box in the right sidebar. +e. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa link >}} Link Model**. -4. Hover over the GitLab box. +f. In the modal that opens, click the [select model]{.smallcaps} dropdown to pick the GitLab model to link. -5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa link >}} Link Model**. +g. (Optional) Click **Test Connection** to ensure the connection is working as expected. -6. In the modal that opens, click the [select model]{.smallcaps} dropdown to pick the GitLab model to link. + If the test is successful, the message **{{< fa check-circle >}} Connection Test Successful** is displayed. -7. Optional: Click **Test Connection** to ensure the connection is working as expected. +h. Click **Link Model**. - If the test is successful, the message **{{< fa check-circle >}} Connection Test Successful** displays. +::: -8. Click **Link Model**. -[^1]: [Manage permissions](../../configuration/manage-permissions.qmd) +[^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd) + +[^2]: [Manage secrets](/guide/integrations/manage-secrets.qmd) + +[^3]: + + ![Configure GitLab connection](integrations-examples-gitlab.png){width=80% fig-alt="Screenshot of the Configure GitLab dialog showing fields for integration name, description, project ID, GitLab instance URL, personal access token, and initial status." .screenshot} -[^2]: [Manage secrets](../manage-secrets.qmd) -[^3]: [Working with the inventory](../../inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) +[^4]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) diff --git a/site/guide/integrations/integrations-examples/synchronize-with-databricks.qmd b/site/guide/integrations/integrations-examples/synchronize-with-databricks.qmd index ec2c3eb2b4..bbeb398146 100644 --- a/site/guide/integrations/integrations-examples/synchronize-with-databricks.qmd +++ b/site/guide/integrations/integrations-examples/synchronize-with-databricks.qmd @@ -17,22 +17,10 @@ listing: description: "Install the {{< var validmind.developer >}}, load data from a Unity Catalog table via Spark, train a simple classification model, and run ValidMind tests to send results to the {{< var validmind.platform >}}." --- -Link {{< var vm.product >}} inventory records to models, datasets, and agents in Databricks Unity Catalog for governance across your ML ecosystem and bidirectional metadata synchronization. +Link {{< var vm.product >}} inventory records to models, datasets, and agents in Databricks Unity Catalog for governance across your ML ecosystem and bidirectional metadata synchronization. You can also run validation notebooks directly against Databricks-hosted data. -::: {.attn} - -## Prerequisites - -- [x] {{< var link.login >}} -- [x] You are a [{{< fa hand >}} Customer Admin]{.bubble} or assigned another role with sufficient permissions to configure connections.[^1] -- [x] A secret is configured for your Databricks Personal Access Token.[^2] -- [x] You have admin access to your Databricks workspace. - -::: - - ## How does the integration with Databricks work? Databricks Unity Catalog provides a unified governance solution for all data and AI assets across your Databricks workspaces. The integration exposes three Unity Catalog resource types: @@ -68,21 +56,32 @@ flowchart LR ``` -## Configure the connection +::: {.attn} + +## Prerequisites + +- [x] {{< var link.login >}} +- [x] You are a [{{< fa hand >}} Customer Admin]{.bubble} or assigned another role with sufficient permissions to configure connections.[^1] +- [x] A secret is configured for your Databricks Personal Access Token.[^2] +- [x] You have admin access to your Databricks workspace. -::: {.column-margin .pt6} -![Configure the Databricks connection](configure-databricks.png){width=80% fig-alt="Screenshot of the Configure Databricks connection dialog showing the required fields described in step 5." .screenshot} ::: -1. In the left sidebar, click **{{< fa gear >}} Settings**. +## Sync {{< var vm.product >}} records with Databricks + +::: {.panel-tabset} + +### 1. Configure Databricks connection -2. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. +a. In the left sidebar, click **{{< fa gear >}} Settings**. -3. Click **{{< fa plus >}} Add Connection**. +b. Under {{< fa puzzle-piece >}} Integrations, select **Connections**. -4. In the modal that opens, select **Databricks**. +c. Click **{{< fa plus >}} Add Connection**. -5. Complete: +d. In the modal that opens, select **Databricks**.[^3] + +e. Complete: - **[integration name]{.smallcaps}** — How other admins can identify the connection. - **[description]{.smallcaps}** (optional) — The intended usage or additional details. @@ -91,49 +90,54 @@ flowchart LR - **[personal access token]{.smallcaps}** — Select a secret containing your Databricks Personal Access Token. - **[initial status]{.smallcaps}** — Set to `Operational` to enable immediately or `Disabled` if you plan to finish setup later. -6. Click **Save Integration**. +f. Click **Save Integration**. -7. Test the connection: +g. Test the connection: - a. Hover over the Databricks connection you just created. - b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa circle-check >}} Test Connection**. + i. Hover over the Databricks connection you just created. + ii. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa circle-check >}} Test Connection**. - If the test is successful, the message **{{< fa check-circle >}} Connection successful** displays. + If the test is successful, the message **{{< fa check-circle >}} Connection successful** is displayed. -## Link records to Databricks +### 2. Link records to Databricks Once the connection is configured, you can link {{< var vm.product >}} inventory records to your Databricks Unity Catalog resources: -1. In the left sidebar, click **{{< fa cubes >}} Inventory**. +a. In the left sidebar, click **{{< fa cubes >}} Inventory**. -2. Select a record by clicking on it or find your record by applying a filter or searching for it.[^3] +b. Select a record by clicking on it or find your record by applying a filter or searching for it.[^4] -3. Scroll down until you locate the **Databricks** connection box in the right sidebar. +c. Scroll down until you locate the **Databricks** connection box in the right sidebar. -4. Hover over the Databricks box. +d. Hover over the Databricks box. -5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa link >}} Link Model**. +e. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa link >}} Link Model**. -6. In the modal that opens: +f. In the modal that opens: - **[select model]{.smallcaps}** — Choose the Databricks model to link from the dropdown. - **[sync frequency]{.smallcaps}** — Set how often ValidMind automatically syncs data from the external system. -7. Click **Link Model** to complete the link. - -8. Click **Link Model**. +g. Click **Link Model** to complete the link. After linking, metadata from the Unity Catalog resource syncs to {{< var vm.product >}}. You can use linked fields in custom calculated fields to surface Databricks metadata directly in your inventory views. +::: + ## What's next :::{#whats-next} ::: + -[^1]: [Manage permissions](../../configuration/manage-permissions.qmd) +[^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd) + +[^2]: [Manage secrets](/guide/integrations/manage-secrets.qmd) + +[^3]: -[^2]: [Manage secrets](../manage-secrets.qmd) + ![Configure the Databricks connection](configure-databricks.png){width=80% fig-alt="Screenshot of the Configure Databricks connection dialog showing the required fields described in step 5." .screenshot} -[^3]: [Working with the inventory](../../inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) +[^4]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) diff --git a/site/guide/integrations/integrations-examples/use-webhooks-with-workflows.qmd b/site/guide/integrations/integrations-examples/use-webhooks-with-workflows.qmd index ea216d903f..dfba80dd14 100644 --- a/site/guide/integrations/integrations-examples/use-webhooks-with-workflows.qmd +++ b/site/guide/integrations/integrations-examples/use-webhooks-with-workflows.qmd @@ -25,15 +25,15 @@ Start a {{< var vm.product >}} workflow from an external system by sending a POS ::: {.panel-tabset} -### a. Configure workflow in {{< var vm.product >}} +### 1. Configure workflow in {{< var vm.product >}} -1. Add a new workflow, selecting the **Via Webhook** workflow start option.[^3] +a. Add a new workflow, selecting the **Via Webhook** workflow start option.[^3] -2. From the **Workflow Steps** modal, drag and drop a **Webhook** step[^4] onto the canvas, then connect it to your workflow. +b. From the **Workflow Steps** modal, drag and drop a **Webhook** step[^4] onto the canvas, then connect it to your workflow. -3. Double-click the step to open the **Webhook Step Trigger** modal. +c. Double-click the step to open the **Webhook Step Trigger** modal. -4. Copy or select the webhook details: +d. Copy or select the webhook details: - **URL** — Click **{{< fa regular copy >}} Copy** for the unique POST webhook URL to use when configuring your external system. - **[select target {record-type} record for payload]{.smallcaps}** — Select the record that is associated with the webhook payload from the dropdown. @@ -52,14 +52,14 @@ Start a {{< var vm.product >}} workflow from an external system by sending a POS - `x-api-secret`: `{{API Secret}}` - **[wait for webhook trigger when reached]{.smallcaps}** — When enabled, the workflow pauses execution when it reaches this step and waits for the external system to send the POST request. -5. Click **Save**. +e. Click **Save**. -### b. Start workflow from external system +### 2. Start workflow from external system -Send a POST request to the webhook URL with a JSON payload that includes the `run_workflow` action for the target model CUID: +Send a POST request to the webhook URL with a JSON payload that includes the `run_workflow` action for the target record (model) CUID: ```bash -curl -X POST https://api.prod.vm.validmind.ai/vm/api/v1/webhooks/xxxxxxxxxxxxxxxxxxxxxxxxx/xxxx -H 'Content-Type`: `application/json' -H 'x-api-key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' -H 'x-api-secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' --data '{ +curl -X POST https://api.prod.vm.validmind.ai/vm/api/v1/webhooks/xxxxxxxxxxxxxxxxxxxxxxxxx/xxxx -H 'Content-Type: application/json' -H 'x-api-key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' -H 'x-api-secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' --data '{ "action": "run_workflow", "target": "", "entity_name": "InventoryModel" @@ -73,15 +73,15 @@ Trigger a waiting {{< var vm.product >}} workflow step to continue from an exter ::: {.panel-tabset} -### a. Configure workflow in {{< var vm.product >}} +### 1. Configure workflow in {{< var vm.product >}} -1. Open the workflow you want to configure, or add a new workflow.[^3] +a. Open the workflow you want to configure, or add a new workflow.[^3] -2. From the **Workflow Steps** modal, drag and drop a **Webhook** step[^4] onto the canvas, then connect the step to your workflow. +b. From the **Workflow Steps** modal, drag and drop a **Webhook** step[^4] onto the canvas, then connect the step to your workflow. -3. Double-click the step to open the **Webhook Step Trigger** modal. +c. Double-click the step to open the **Webhook Step Trigger** modal. -4. Copy or select the webhook details: +d. Copy or select the webhook details: - **URL** — Click **{{< fa regular copy >}} Copy** for the unique POST webhook URL to use when configuring your external system. - **[select target {record-type} record for payload]{.smallcaps}** — Select the record that is associated with the webhook payload from the dropdown. @@ -99,16 +99,16 @@ Trigger a waiting {{< var vm.product >}} workflow step to continue from an exter - `x-api-key`: `{{API Key}}` - `x-api-secret`: `{{API Secret}}` -5. Click **Update Step** to save your configuration. +e. Click **Update Step** to save your configuration. When the workflow reaches this step, it pauses and waits for the external system. -### b. Trigger workflow to continue from external system +### 2. Trigger workflow to continue from external system -Send a POST request to the webhook URL with a JSON payload containing the `run_step` action for the model CUID: +Send a POST request to the webhook URL with a JSON payload containing the `run_step` action for the target record (model) CUID: ```bash -curl -X POST https://api.prod.vm.validmind.ai/vm/api/v1/webhooks/xxxxxxxxxxxxxxxxxxxxxxxxx/xxxx -H 'Content-Type`: `application/json' -H 'x-api-key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' -H 'x-api-secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' --data '{ +curl -X POST https://api.prod.vm.validmind.ai/vm/api/v1/webhooks/xxxxxxxxxxxxxxxxxxxxxxxxx/xxxx -H 'Content-Type: application/json' -H 'x-api-key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' -H 'x-api-secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' --data '{ "action": "run_step", "target": "", "entity_name": "InventoryModel" @@ -119,10 +119,10 @@ curl -X POST https://api.prod.vm.validmind.ai/vm/api/v1/webhooks/xxxxxxxxxxxxxxx -[^1]: [Manage permissions](../../configuration/manage-permissions.qmd) +[^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd) -[^2]: [Introduction to workflows](../../workflows/introduction-to-workflows.qmd) +[^2]: [Introduction to workflows](/guide/workflows/introduction-to-workflows.qmd) -[^3]: [Add new workflows](../../workflows/configure-workflows.qmd#add-new-workflows) +[^3]: [Add new workflows](/guide/workflows/configure-workflows.qmd#add-new-workflows) -[^4]: [Workflow step types](../../workflows/workflow-step-types.qmd#webhook) +[^4]: [Workflow step types](/guide/workflows/workflow-step-types.qmd#webhook) diff --git a/site/guide/integrations/link-external-models.qmd b/site/guide/integrations/link-external-records.qmd similarity index 54% rename from site/guide/integrations/link-external-models.qmd rename to site/guide/integrations/link-external-records.qmd index 3c3aa16ee7..0e5b3dc569 100644 --- a/site/guide/integrations/link-external-models.qmd +++ b/site/guide/integrations/link-external-records.qmd @@ -2,13 +2,14 @@ # 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: "Link external models" +title: "Link external records" date: last-modified aliases: - /guide/integrations/linking-external-models.html + - /guide/integrations/link-external-models.html --- -Link models in the {{< var vm.product >}} model inventory to external systems to keep model information synchronized. +Link records (models) tracked in {{< var vm.product >}} to external systems to keep your inventories synchronized. You can link, refresh, edit, and remove these connections as needed. @@ -17,49 +18,39 @@ You can link, refresh, edit, and remove these connections as needed. ## Prerequisites - [x] {{< var link.login >}} -- [x] The record you want to link external models for is registered in the inventory.[^1] +- [x] The record you want to link external records for is registered in the inventory.[^1] - [x] A connection is configured for the external system you want to link to.[^2] -- [x] You are assigned a role with sufficient permissions to manage model links, such as [{{< fa hand >}} Customer Admin]{.bubble}.[^3] +- [x] You are assigned a role with sufficient permissions to manage record links, such as [{{< fa hand >}} Customer Admin]{.bubble}.[^3] ::: -## Link models +## Link records 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. -2. Select a model by clicking on it or find your model by applying a filter or searching for it.[^4] +2. Select a record or find your record by applying a filter or searching for it.[^4] -3. Scroll down until you locate the available connections for integrations in the right sidebar. - - For example, **MLflow** or **Amazon SageMaker**. - -::: {.column-margin} -![Connections for MLflow and AWS SageMaker](linking-models-available-connections.png){fig-alt="Screenshot of the available connections to link to, showing the required fields described in step 3." .screenshot} -::: - -::: {.column-margin} -![A linked AWS SageMaker model](integrations-examples-aws-sagemaker-linked-model.png){width=60% fig-alt="Screenshot of the model linked to AWS SageMaker, showing the required fields described in step 4." .screenshot} -::: +3. Scroll down until you locate the available connections for integrations in the right sidebar. 4. Hover over the connection. 5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa link >}} Link Model**. -6. In the modal that opens, pick the external model from the [select model]{.smallcaps} dropdown. +6. In the modal that opens, pick the external record from the [select model]{.smallcaps} dropdown. -7. Optional: Click **Test Connection** to ensure the connection is working as expected. +7. (Optional) Click **Test Connection** to ensure the connection is working as expected. If the test is successful, the message **{{< fa check-circle >}} Connection Test Successful** displays. 8. Click **Link Model**. -After linking, the message **Pending initial sync** displays. This means that the model is linked to the external system, but data hasn't been synchronized yet. If necessary, you can refresh the model data.[^5] +After linking, the message **Pending initial sync** displays. This means that the record is linked to the external system, but data hasn't been synchronized yet. If necessary, you can refresh the record data.[^5] -## Refresh model data +## Refresh record data 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. -2. Select a model by clicking on it or find your model by applying a filter or searching for it.[^6] +2. Select a record or find your record by applying a filter or searching for it.[^4] 3. Scroll down until you locate the connection you want to edit in the right sidebar. For example, **Amazon SageMaker**. @@ -67,11 +58,11 @@ After linking, the message **Pending initial sync** displays. This means that th 5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa sync >}} Refresh**. -## Edit model links +## Edit record links 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. -2. Select a model by clicking on it or find your model by applying a filter or searching for it.[^6] +2. Select a record or find your record by applying a filter or searching for it.[^4] 3. Scroll down until you locate the connection you want to edit in the right sidebar. For example, **Amazon SageMaker**. @@ -79,15 +70,15 @@ After linking, the message **Pending initial sync** displays. This means that th 5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa link >}} Edit Link**. -6. In the modal that opens, make your changes. For example, select a different model from the **[select model]{.smallcaps}** dropdown. +6. In the modal that opens, make your changes. For example, select a different record from the **[select model]{.smallcaps}** dropdown. -8. Click **Update Link** to save your changes. +7. Click **Update Link** to save your changes. -## Remove model links +## Remove record links 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. -2. Select a model by clicking on it or find your model by applying a filter or searching for it.[^7] +2. Select a record or find your record by applying a filter or searching for it.[^4] 3. Scroll down until you locate the integration box (for example, **MLflow** or **Amazon SageMaker**) in the right sidebar. @@ -97,8 +88,6 @@ After linking, the message **Pending initial sync** displays. This means that th 6. Click **Yes, Unlink Integration** to confirm removal of the link. -The model is unlinked from the external system. - [^1]: [Register records in the inventory](/guide/inventory/register-records-in-inventory.qmd) @@ -109,8 +98,4 @@ The model is unlinked from the external system. [^4]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) -[^5]: [Refresh model data](#refresh-model-data) - -[^6]: [Configure connections](configure-connections.qmd) - -[^7]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) +[^5]: [Refresh record data](#refresh-record-data) diff --git a/site/guide/integrations/manage-secrets.qmd b/site/guide/integrations/manage-secrets.qmd index 1b662bf52e..cefad58a10 100644 --- a/site/guide/integrations/manage-secrets.qmd +++ b/site/guide/integrations/manage-secrets.qmd @@ -24,171 +24,182 @@ You store each secret once and then reuse it across supported integrations. Integration secrets authenticate persistent connections to external platforms. You store each secret once and then reuse it across supported integrations by selecting it from a dropdown when configuring a connection. -### Add integration secrets - 1. In the left sidebar, click **{{< fa gear >}} Settings**. -2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then open the **Integration Secrets** tab. +2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then click the **Integration Secrets** tab to view, add, edit, revoke, or delete integration secrets: -3. Click **{{< fa plus >}} Add Secret**. +### View integration secret details -4. Fill in the details: +Click the secret you want to view. - - **[secret name]{.smallcaps}** — Enter an easily identifiable label that indicates which system the secret belongs to. - - **[description]{.smallcaps}** (optional) — Summarize when to use the secret or who owns it so other admins know whether it is safe to re-use. - - **[secret value]{.smallcaps}** — Paste the credential exactly as issued by the external system. The value is encrypted and never displayed in plaintext again. - - **[expiration date]{.smallcaps}** (optional) — Set a rotation reminder if the external system enforces key expiry. +### Add or edit integration secrets -5. Click **Create Secret**. +::: {.panel-tabset} -The secret can now be selected when configuring connections.[^2] +### Add integration secrets -::: {.column-margin} -::: {.callout-tip title="For secrets with expiration dates"} -Recommended: Create a new secret and update integrations that should use it.

Or, to continue using the same secret, extend the expiration date. -::: -::: +a. Click **{{< fa plus >}} Add Secret**. -### View integration secret details +b. Fill in the details: -1. In the left sidebar, click **{{< fa gear >}} Settings**. + - **[secret name]{.smallcaps}** — Enter an easily identifiable label that indicates which system the secret belongs to. + - **[description]{.smallcaps}** (optional) — Summarize when to use the secret or who owns it so other admins know whether it is safe to re-use. + - **[secret value]{.smallcaps}** — Paste the credential exactly as issued by the external system. The value is encrypted and never displayed in plaintext again. + - **[expiration date]{.smallcaps}** (optional) — Set a rotation reminder if the external system enforces key expiry. -2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then open the **Integration Secrets** tab. +c. Click **Create Secret**. -3. Click the secret you want to view. +The secret can now be selected when configuring connections.[^2] ### Edit integration secrets -1. In the left sidebar, click **{{< fa gear >}} Settings**. - -2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then open the **Integration Secrets** tab. - -3. Click the secret you want to change. +a. Click the secret you want to modify. -4. In the modal that appears, click **Edit Secret**. +b. In the modal that appears, click **Edit Secret**. -5. Make your changes. For example: +c. Make your changes. For example: - **[secret value]{.smallcaps}** — Paste a new value if the external platform issued a replacement token. - **[expiration date]{.smallcaps}** (optional) — Extend the expiry window if you want to keep the secret active for longer. -6. Click **Update Secret** to save your changes. +d. Click **Update Secret** to save your changes. -### Revoke integration secrets +::: -1. In the left sidebar, click **{{< fa gear >}} Settings**. -2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then open the **Integration Secrets** tab. +### Revoke or delete integration secrets + +::: {.panel-tabset} -3. Hover over the secret you want to change. +### Revoke integration secrets + +a. Hover over the secret you want to revoke. -4. When **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa triangle-exclamation >}} Revoke**. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa triangle-exclamation >}} Revoke**. -5. On the confirmation dialogue that appears, select **OK** to confirm revocation. +c. On the confirmation dialogue that appears, select **OK** to confirm revocation. Revocation immediately disables the secret so it can no longer be used, but does not remove it. ### Delete integration secrets -::: {.callout-warning title="Deleting a secret is permanent."} +::: {.callout-important title="Deleting a secret is permanent."} Be sure to update any connections that depend on this secret before deleting it. ::: -1. In the left sidebar, click **{{< fa gear >}} Settings**. +a. Hover over the secret you want to remove. + +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click it, then select **{{< fa trash >}} Delete**. + +c. In the confirmation dialog, select **OK** to confirm deletion. + +::: + -2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then open the **Integration Secrets** tab. +
-3. Hover over the secret you want to remove. +::: {.callout-button .pl4 .nt4} +::: {.callout collapse="true" appearance="minimal"} +### How should I manage secrets with expiration dates? -4. When **{{< fa ellipsis-vertical >}}** appears, click it, then select **{{< fa trash >}} Delete**. +(Recommended) Create a new secret and update integrations that should use it. -5. In the confirmation dialog, select **OK** to confirm deletion. +Or, to continue using the same secret, extend the expiration date. + +::: +::: ## Webhook secrets Webhook secrets authenticate outgoing HTTP requests in workflows. Instead of hardcoding credentials directly into HTTP Request step header values, you store secrets once and reference them using `{{secret:name}}` syntax. HTTPS is enforced when secrets are used. -### Add webhook secrets - 1. In the left sidebar, click **{{< fa gear >}} Settings**. -2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then open the **Webhook Secrets** tab. +2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then click the **Webhook Secrets** tab to view, add, edit, revoke, or delete webhook secrets: + +### View webhook secret details + +Click the secret you want to view. -3. Click **{{< fa plus >}} Add Secret**. +### Add or edit webhook secrets -4. Fill in the details: +::: {.panel-tabset} + +### Add webhook secrets + +a. Click **{{< fa plus >}} Add Secret**. + +b. Fill in the details: - **[secret name]{.smallcaps}** — Enter an easily identifiable label. Use this name to reference the secret: `{{secret:secret_name}}`. - **[description]{.smallcaps}** (optional) — Summarize what the secret is used for. - **[secret value]{.smallcaps}** — Paste the credential. The value is encrypted at rest and never displayed in plaintext again. - **[expiration date]{.smallcaps}** (optional) — Set a rotation reminder if the credential expires. -5. Click **Create Secret**. +c. Click **Create Secret**. The secret can now be referenced in HTTP Request step headers using `{{secret:secret_name}}` syntax. -#### Usage example +
+ +::: {.callout-button .pl4 .nt4} +::: {.callout collapse="true" appearance="minimal"} +### Webhook secret usage example + In a workflow HTTP Request step, add a header: -- **Header Name**: `Authorization` +- **Header Name**: `Authorization` - **Header Value**: `Bearer {{secret:jira_pat}}` At runtime, the workflow engine replaces `{{secret:jira_pat}}` with the stored value and sends the request over HTTPS. -### View webhook secret details - -1. In the left sidebar, click **{{< fa gear >}} Settings**. - -2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then open the **Webhook Secrets** tab. - -3. Click the secret you want to view. +::: +::: ### Edit webhook secrets -1. In the left sidebar, click **{{< fa gear >}} Settings**. - -2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then open the **Webhook Secrets** tab. - -3. Click the secret you want to change. +a. Click the secret you want to modify. -4. Make your changes. For example: +b. Make your changes. For example: - **[secret value]{.smallcaps}** — Paste a new value if the credential was rotated. - **[expiration date]{.smallcaps}** (optional) — Extend the expiry window. -5. Click **Update Secret** to save your changes. +c. Click **Update Secret** to save your changes. -### Revoke webhook secrets +::: -1. In the left sidebar, click **{{< fa gear >}} Settings**. +### Revoke or delete webhook secrets + +::: {.panel-tabset} -2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then open the **Webhook Secrets** tab. +### Revoke webhook secrets -3. Hover over the secret you want to revoke. +a. Hover over the secret you want to revoke. -4. When **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa triangle-exclamation >}} Revoke**. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa triangle-exclamation >}} Revoke**. -5. On the confirmation dialogue that appears, select **OK** to confirm revocation. +c. On the confirmation dialogue that appears, select **OK** to confirm revocation. Revocation immediately disables the secret. Any HTTP Request workflow steps referencing it will fail until you update them to use an active secret. ### Delete webhook secrets -::: {.callout-warning title="Deleting a secret is permanent."} +::: {.callout-important title="Deleting a secret is permanent."} Be sure to update any HTTP Request workflow steps that depend on this secret before deleting it. ::: -1. In the left sidebar, click **{{< fa gear >}} Settings**. +a. Hover over the secret you want to remove. -2. Under {{< fa puzzle-piece >}} Integrations, select **Secrets**, then open the **Webhook Secrets** tab. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click it, then select **{{< fa trash >}} Delete**. -3. Hover over the secret you want to remove. +c. In the confirmation dialog, select **OK** to confirm deletion. -4. When **{{< fa ellipsis-vertical >}}** appears, click it, then select **{{< fa trash >}} Delete**. +::: -5. In the confirmation dialog, select **OK** to confirm deletion. [^1]: [Manage permissions](/guide/configuration/manage-permissions.qmd) + [^2]: [Configure connections](/guide/integrations/configure-connections.qmd) diff --git a/site/guide/integrations/managing-integrations.qmd b/site/guide/integrations/managing-integrations.qmd index 4b251ae341..e8fa3650cc 100644 --- a/site/guide/integrations/managing-integrations.qmd +++ b/site/guide/integrations/managing-integrations.qmd @@ -12,29 +12,55 @@ listing: sort: false fields: [title, description] contents: - - manage-secrets.qmd + - manage-secrets.qmd - configure-connections.qmd - configure-analytics-exports.qmd - implement-custom-integrations.qmd - - link-external-models.qmd + - link-external-records.qmd - integrations-examples.qmd --- Integrations connect the {{< var validmind.platform >}} with external systems or services, enabling bidirectional data synchronization, workflow automation, and API access. -## What can I do with integrations? +## Key concepts + + + +:::: {.flex .flex-wrap .justify-around} + +::: {.w-50-ns .pr3} + +{{< include /about/glossary/integrations/_integration.qmd >}} + +{{< include /about/glossary/integrations/_secret.qmd >}} + +{{< include /about/glossary/integrations/_connection.qmd >}} + +::: + +::: {.w-50-ns .pl3} + +{{< include /about/glossary/integrations/_http-request.qmd >}} + +{{< include /about/glossary/integrations/_webhook.qmd >}} + +::: + +:::: + +### What can I do with integrations? ```{mermaid} graph TD A[ValidMind Platform] B[Analytics and reporting] - C[Model inventory] + C[Inventory] D[Workflows] E[Public REST API] F[Testing & documentation] G[Service integration] H[AI assistants] - + A <--> B A <--> C A <--> D @@ -46,6 +72,8 @@ graph TD +::: {.panel-tabset} + ### Analytics and reporting Access built-in analytics and dashboards. Or, import analytics data into external reporting tools to build unified reports that combine {{< var vm.product >}} insights with other sources. Schedule exports of analytics datasets to cloud storage for BI tools like Tableau, Snowflake, and Looker.[^1][^6] @@ -70,9 +98,9 @@ Access built-in analytics and dashboards. Or, import analytics data into externa --- -### Model inventory +### Inventory -Link to models in external registries and development platforms and keep inventories synced with versions, inventory fields, and other metadata.[^2] +Link to records (such as models) in external registries and development platforms and keep inventories synced with versions, inventory fields, and other metadata.[^2] **Supported** @@ -132,17 +160,17 @@ Link to models in external registries and development platforms and keep invento ![Workflow integration example](simple-integrations-workflow.png){width=80% fig-alt="A workflow showing an automation sequence. A green start node runs an HTTP request that sends a POST to https://some.example.com/request. The workflow then moves to a webhook step that pauses until a webhook call is received. Once the webhook arrives, the flow continues to a red end node." .screenshot} ::: -Manage model lifecycles by configuring workflows to transition models through your organization’s custom model stages.[^3] +Manage record lifecycles by configuring workflows to transition records through your organization’s custom record stages.[^3] :::: {.flex .flex-wrap .justify-around} ::: {.w-50 .pr5} -**From {{< var vm.product >}}** -Send HTTP requests to external services when a model reaches a specific state or to trigger updates in other systems. +**From {{< var vm.product >}}** +Send HTTP requests to external services when a record reaches a specific stage or to trigger updates in other systems. ::: ::: {.w-50 .pl3 .pr3} -**From external systems** +**From external systems** Send webhooks (POST requests) into {{< var vm.product >}} to start workflows or to resume workflows that are paused and waiting for input. ::: @@ -159,7 +187,7 @@ Gain programmatic access to platform resources. The API supports integration wit :::: {.flex .flex-wrap .justify-around} ::: {.w-33-ns} -- Create models +- Create records (models) ::: ::: {.w-33-ns} @@ -167,7 +195,7 @@ Gain programmatic access to platform resources. The API supports integration wit ::: ::: {.w-33-ns} -- Manage model inventory +- Manage your inventory ::: :::: @@ -224,7 +252,7 @@ Link to tickets in external systems and keep them synchronized. Attach tickets t ### AI assistants -Connect AI assistants to {{< var vm.product >}} using the Model Context Protocol (MCP). Query and manage your model inventory through natural language conversations.[^7] +Connect AI assistants to {{< var vm.product >}} using the Model Context Protocol (MCP). Query and manage your inventory through natural language conversations.[^7] **Supported** @@ -244,32 +272,8 @@ Connect AI assistants to {{< var vm.product >}} using the Model Context Protocol :::: -## Key concepts - - - -:::: {.flex .flex-wrap .justify-around} - -::: {.w-50-ns .pr3} - -{{< include /about/glossary/integrations/_integration.qmd >}} - -{{< include /about/glossary/integrations/_secret.qmd >}} - -{{< include /about/glossary/integrations/_connection.qmd >}} - ::: -::: {.w-50-ns .pl3} - -{{< include /about/glossary/integrations/_http-request.qmd >}} - -{{< include /about/glossary/integrations/_webhook.qmd >}} - -::: - -:::: - ## Manage integrations :::{#integrations-listing} diff --git a/site/guide/inventory/_remove-attachments.qmd b/site/guide/inventory/_remove-attachments.qmd index 0adedfad1b..0307be89af 100644 --- a/site/guide/inventory/_remove-attachments.qmd +++ b/site/guide/inventory/_remove-attachments.qmd @@ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial --> 2. Locate the file you want to remove, and click on the **{{< fa ellipsis-vertical >}}** menu. - - Select **{{< fa trash-can>}} Delete File** to remove the file. Click **Yes, Delete File** to confirm permanent deletion of that file. + - Select **{{< fa trash-can >}} Delete File** to remove the file. Click **Yes, Delete File** to confirm permanent deletion of that file. - Select **Remove Notes** to delete any notes. Removal of notes is saved automatically. 3. Click **Save** to apply the deletion. diff --git a/site/guide/inventory/_rename-field-keys.qmd b/site/guide/inventory/_rename-field-keys.qmd index c72fd1ca25..e322201813 100644 --- a/site/guide/inventory/_rename-field-keys.qmd +++ b/site/guide/inventory/_rename-field-keys.qmd @@ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial --> 1. Hover over the **[actions]{.smallcaps}** column on the far-right for the field whose key you want to rename. -1. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa pen-to-square >}} Rename Key**. +1. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa pen-to-square >}} Rename Key**. 1. Enter the [new key]{.smallcaps} and click **Check Availability**. diff --git a/site/guide/inventory/manage-inventory-fields.qmd b/site/guide/inventory/manage-inventory-fields.qmd index b810431c5c..f57ab7ee04 100644 --- a/site/guide/inventory/manage-inventory-fields.qmd +++ b/site/guide/inventory/manage-inventory-fields.qmd @@ -119,7 +119,7 @@ Deleting an inventory field will remove it from all records using that field, ev 3. Hover over the field you would like to delete. -4. When the **{{< fa ellipsis-vertical >}}** appears under the Actions column, click on it and select [**{{< fa trash-can >}} Delete Field**]{.red}. +4. When the **{{< fa ellipsis-vertical >}}** menu appears under the Actions column, click on it and select [**{{< fa trash-can >}} Delete Field**]{.red}. 5. Click **Yes, Delete Field** to confirm permanent deletion. diff --git a/site/guide/mcp/connect-ai-assistants-via-mcp.qmd b/site/guide/mcp/connect-ai-assistants-via-mcp.qmd index a2e66f0717..36c22559a5 100644 --- a/site/guide/mcp/connect-ai-assistants-via-mcp.qmd +++ b/site/guide/mcp/connect-ai-assistants-via-mcp.qmd @@ -6,20 +6,7 @@ title: "Connect AI assistants via MCP" date: last-modified --- -The {{< var vm.product >}} MCP (Model Context Protocol) server enables AI assistants to query and manage your model inventory through natural language, providing seamless access to models, artifacts, templates, and custom fields. - - -::: {.attn} - -## Prerequisites - -- [x] {{< var link.login >}} -- [x] You have your API key and secret.[^1] -- [x] You have a compatible AI assistant installed: - - Cursor IDE[^2] - - Claude Code[^3] - -::: +The {{< var vm.product >}} MCP (Model Context Protocol) server enables AI assistants to query and manage your inventory through natural language, providing seamless access to records (models), artifacts (findings), templates, and custom fields. ## Key concepts @@ -61,28 +48,22 @@ Your AI assistant sends natural language queries through the MCP protocol. The { ### What can I do with {{< var vm.product >}} MCP? -The MCP server exposes tools for working with your model inventory: +The MCP server exposes tools for working with your {{< var vm.product >}} inventory: -:::: {.flex .flex-wrap .justify-around} - -::: {.w-50-ns .pr3} +::: {.panel-tabset} -**Model and artifact operations** +#### Record and artifact operations -- List and get models -- List and get artifacts +- List and get records (models) +- List and get artifacts (findings) - Filter by risk level, deployment region, or ownership -**Custom field operations** +#### Custom field operations -- List custom fields for models and artifacts +- List custom fields for records and artifacts - Update custom field values -::: - -::: {.w-50-ns .pl3} - -**Template operations** +#### Template operations - List available templates - Get template details @@ -91,15 +72,26 @@ The MCP server exposes tools for working with your model inventory: ::: -:::: - -**Example queries you can ask:** - -- "Show me all models that are high risk" -- "Find all the models I am an owner for" +::: {.callout title="Example queries you can ask"} +- "Show me all model-type records that are high risk" +- "Find all the records I am an owner for" - "List my validation artifacts" - "What templates are available for credit risk models?" +::: + +::: {.attn} + +## Prerequisites + +- [x] {{< var link.login >}} +- [x] You have your API key and secret.[^1] +- [x] You have a compatible AI assistant installed: + - Cursor IDE[^2] + - Claude Code[^3] + +::: + ## Configure your AI assistant ::: {.panel-tabset} @@ -134,9 +126,9 @@ The MCP server exposes tools for working with your model inventory: 7. Try asking Cursor questions like: - - "What models do I own?" - - "Show me all tier 1 models" - - "Register a new model called Customer Churn" + - "What records do I own?" + - "Show me all tier 1 model-type records" + - "Register a new model-type record called Customer Churn" ### Claude Code @@ -160,9 +152,9 @@ The MCP server exposes tools for working with your model inventory: 4. Start Claude Code and try asking questions like: - - "What models do I own?" - - "Show me all tier 1 models" - - "Register a new model called Customer Churn" + - "What records do I own?" + - "Show me all tier 1 model-type records" + - "Register a new model-type record called Customer Churn" ::: diff --git a/site/guide/monitoring/work-with-metrics-over-time.qmd b/site/guide/monitoring/work-with-metrics-over-time.qmd index 09ba39ddc2..78801e96d6 100644 --- a/site/guide/monitoring/work-with-metrics-over-time.qmd +++ b/site/guide/monitoring/work-with-metrics-over-time.qmd @@ -162,6 +162,6 @@ After you have added metrics over time to your document, you can view the follow [^10]: [Working with documents](/guide/templates/working-with-documents.qmd) -[^11]: [Configure connections](/guide/integrations/configure-connections.qmd) and [Link external models](/guide/integrations/link-external-models.qmd) +[^11]: [Configure connections](/guide/integrations/configure-connections.qmd) and [Link external records](/guide/integrations/link-external-records.qmd) [^12]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) \ No newline at end of file diff --git a/site/guide/reporting/export-analytics.qmd b/site/guide/reporting/export-analytics.qmd index d90abd1788..92071d5965 100644 --- a/site/guide/reporting/export-analytics.qmd +++ b/site/guide/reporting/export-analytics.qmd @@ -26,7 +26,7 @@ Export analytics widgets as comma-delimited tables (`.csv`). 3. Hover over the widget you would like to export. -4. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa download >}} Export CSV**. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa download >}} Export CSV**. 5. After the `.csv` file downloads automatically, open the file to confirm that the data exported is correct and is as expected. diff --git a/site/guide/shared/manage-views/_organization-views.qmd b/site/guide/shared/manage-views/_organization-views.qmd index 1c866adb5a..11b47ef720 100644 --- a/site/guide/shared/manage-views/_organization-views.qmd +++ b/site/guide/shared/manage-views/_organization-views.qmd @@ -31,7 +31,7 @@ To publish a saved personal view to your organization, you must have permissions 4. Hover over the name of the view you want to share with your organization. -5. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa upload >}} Publish to Organization**. +5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa upload >}} Publish to Organization**. 6. (Optional) Edit the [view name]{.smallcaps} and [description]{.smallcaps} for your shared view. @@ -49,7 +49,7 @@ To unshare a saved organization view: 3. Hover over the view you want to remove from shared organization access. -4. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa download >}} Unpublish**. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa download >}} Unpublish**. 5. Click **Yes, Unpublish View** to confirm removal of the view from shared organization access. @@ -67,7 +67,7 @@ Deletion of saved views is permanent. 3. Hover over the view you want to remove from your organization. -4. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa trash-can >}} Remove View**. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa trash-can >}} Remove View**. 5. Click **Yes, Remove View** to confirm permanent deletion of that view. diff --git a/site/guide/shared/manage-views/_personal-views.qmd b/site/guide/shared/manage-views/_personal-views.qmd index 3d81b810e4..9d4bf0ff08 100644 --- a/site/guide/shared/manage-views/_personal-views.qmd +++ b/site/guide/shared/manage-views/_personal-views.qmd @@ -63,7 +63,7 @@ Deletion of saved views is permanent. 3. Hover over the name of the view you want to edit or remove. -4. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select: +4. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select: - **{{< fa pencil >}} Edit View** to edit the [view name]{.smallcaps} and [description]{.smallcaps}. Click **Save Changes** to apply your edits. - [**{{< fa trash-can >}} Remove View**]{.red} to delete the view. Click **Yes, Delete View** to confirm permanent deletion of that view. diff --git a/site/guide/templates/_template-schema-generated.qmd b/site/guide/templates/_template-schema-generated.qmd index 2deebf3d2b..a63b1717fa 100644 --- a/site/guide/templates/_template-schema-generated.qmd +++ b/site/guide/templates/_template-schema-generated.qmd @@ -1,12 +1,6 @@ +SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial --> ```{=html} diff --git a/site/guide/templates/customize-document-checker.qmd b/site/guide/templates/customize-document-checker.qmd index 535c206cf0..1e1927a380 100644 --- a/site/guide/templates/customize-document-checker.qmd +++ b/site/guide/templates/customize-document-checker.qmd @@ -57,7 +57,7 @@ Default regulations provided by {{< var vm.product >}} cannot be edited.[^2] a. Hover over the regulation or policy you want to edit. -b. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa pencil >}} Edit** to make changes to the: +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa pencil >}} Edit** to make changes to the: - **[regulation or policy name]{.smallcaps}** - (Optional) **[description]{.smallcaps}** @@ -106,7 +106,7 @@ Cloned assessments are the same assessment type and are available to the same do a. Hover over the assessment you want to clone. -b. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa copy >}} Clone Assessment** to make changes to the: +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa copy >}} Clone Assessment** to make changes to the: - **[regulation or policy name]{.smallcaps}** - (Optional) **[description]{.smallcaps}** @@ -144,7 +144,7 @@ Click **{{}} Search** to enter your keywords, then press * a. Hover over the question you want to edit. -b. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa pencil >}} Edit** to make changes to the **[question]{.smallcaps}**. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa pencil >}} Edit** to make changes to the **[question]{.smallcaps}**. c. Click **Update Question** to save your changes. diff --git a/site/guide/templates/manage-document-templates.qmd b/site/guide/templates/manage-document-templates.qmd index da5aee54a7..76ed999d24 100644 --- a/site/guide/templates/manage-document-templates.qmd +++ b/site/guide/templates/manage-document-templates.qmd @@ -166,5 +166,5 @@ Delete templates no longer required by your organization: **To delete a template without reviewing template details:**

- a. Hover over the template until the **{{< fa ellipsis-vertical >}}** appears, then click on it. + a. Hover over the template until the **{{< fa ellipsis-vertical >}}** menu appears, then click on it. b. Select [**{{< fa trash-can >}} Delete**]{.red}. \ No newline at end of file diff --git a/site/guide/templates/manage-document-types.qmd b/site/guide/templates/manage-document-types.qmd index dfc5752195..d318214a0e 100644 --- a/site/guide/templates/manage-document-types.qmd +++ b/site/guide/templates/manage-document-types.qmd @@ -65,7 +65,7 @@ Once created, customize the available templates for your document type.[^7] a. Hover over the document type you want to edit. -b. When the **{{< fa ellipsis-vertical >}}** appears under the Actions column, click on it and select **{{< fa pencil >}} Edit** to change your document type's details. +b. When the **{{< fa ellipsis-vertical >}}** menu appears under the Actions column, click on it and select **{{< fa pencil >}} Edit** to change your document type's details. c. Click **Update Document Type** to apply your changes. @@ -73,7 +73,7 @@ c. Click **Update Document Type** to apply your changes. a. Hover over the document type you want to delete. -b. When the **{{< fa ellipsis-vertical >}}** appears under the Actions column, click on it and select [**{{< fa trash-can >}} Delete**]{.red} to remove the document type. +b. When the **{{< fa ellipsis-vertical >}}** menu appears under the Actions column, click on it and select [**{{< fa trash-can >}} Delete**]{.red} to remove the document type. c. Click **Yes, Delete Document Type** to confirm permanent deletion of that document type. diff --git a/site/guide/templates/manage-documents.qmd b/site/guide/templates/manage-documents.qmd index d06e02b407..ae09f9cc23 100644 --- a/site/guide/templates/manage-documents.qmd +++ b/site/guide/templates/manage-documents.qmd @@ -158,7 +158,7 @@ Deletion of documents on records is permanent and cannot be undone. 4. Hover over the document you want to delete. -5. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select [**{{< fa trash-can >}} Delete**]{.red} to remove the document. +5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select [**{{< fa trash-can >}} Delete**]{.red} to remove the document. 6. Click **Yes, Delete Document** to confirm permanent deletion of that document from the record. diff --git a/site/guide/validation/_add-edit-artifact-statuses.qmd b/site/guide/validation/_add-edit-artifact-statuses.qmd index 25797b00e9..c76ad1b230 100644 --- a/site/guide/validation/_add-edit-artifact-statuses.qmd +++ b/site/guide/validation/_add-edit-artifact-statuses.qmd @@ -16,7 +16,7 @@ c. When you are done, click **Add Status** to create your new status. a. Hover over the artifact status you'd like to modify. -b. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select: +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select: - **{{< fa pencil >}} Edit Details** to change the **[status name]{.smallcaps}** or **[color]{.smallcaps}** of the status, then click **Update Status** to apply your changes. - [**{{< fa trash-can >}} Delete Status**]{.red} to remove the status. Click **OK** to confirm permanent deletion of that status. @@ -48,7 +48,7 @@ c. When you are done, click **Add Status** to create your new status. a. Hover over the artifact status you'd like to modify. -b. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa pencil >}} Edit Details** to change the **[status name]{.smallcaps}** or **[color]{.smallcaps}** of the status. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa pencil >}} Edit Details** to change the **[status name]{.smallcaps}** or **[color]{.smallcaps}** of the status. c. Click **Update Status** to apply your changes. diff --git a/site/guide/validation/_remove-artifact-view.qmd b/site/guide/validation/_remove-artifact-view.qmd index 6fa4ae1767..372685d317 100644 --- a/site/guide/validation/_remove-artifact-view.qmd +++ b/site/guide/validation/_remove-artifact-view.qmd @@ -8,7 +8,7 @@ SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial --> 4. Hover over the name of the view you want to edit or remove. -5. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select: +5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select: - **{{< fa pencil >}} Edit View** to edit the [view name]{.smallcaps} and [description]{.smallcaps}. Click **Save Changes** to apply your edits. - [**{{< fa trash-can >}} Remove View**]{.red} to delete the view. Click **Yes, Delete View** to confirm permanent deletion of that view. \ No newline at end of file diff --git a/site/guide/validation/configure-assessment-options.qmd b/site/guide/validation/configure-assessment-options.qmd index bd0bce9097..9e3e8c402e 100644 --- a/site/guide/validation/configure-assessment-options.qmd +++ b/site/guide/validation/configure-assessment-options.qmd @@ -56,7 +56,7 @@ c. Click **Add Option** to insert the new option into that validation report tem a. Hover over the assessment option you want to edit. -b. When **{{< fa ellipsis-vertical >}}** appears, select **{{< fa pencil >}} Edit Option**. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, select **{{< fa pencil >}} Edit Option**. c. Update the details for your assessment option: @@ -75,7 +75,7 @@ Assessment options can only be deleted if they are not assigned to sections in a a. Hover over the assessment option you want to edit. -b. When **{{< fa ellipsis-vertical >}}** appears, select [**{{< fa trash-can >}} Delete Option**]{.red}. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, select [**{{< fa trash-can >}} Delete Option**]{.red}. c. Click **Delete Assessment Option** to confirm removal of that option. diff --git a/site/guide/validation/manage-artifact-fields.qmd b/site/guide/validation/manage-artifact-fields.qmd index 8d20312dd7..36be54518e 100644 --- a/site/guide/validation/manage-artifact-fields.qmd +++ b/site/guide/validation/manage-artifact-fields.qmd @@ -117,7 +117,7 @@ Deleting an artifact field will remove it from all artifacts using that field, e 3. Hover over the field you would like to delete. -4. When the **{{< fa ellipsis-vertical >}}** appears under the Actions column, click on it and select [**{{< fa trash-can >}} Delete Field**]{.red}. +4. When the **{{< fa ellipsis-vertical >}}** menu appears under the Actions column, click on it and select [**{{< fa trash-can >}} Delete Field**]{.red}. 5. Click **Yes, Delete Field** to confirm permanent deletion. diff --git a/site/guide/validation/manage-artifact-severities.qmd b/site/guide/validation/manage-artifact-severities.qmd index bba73efccd..b91bc0a9cf 100644 --- a/site/guide/validation/manage-artifact-severities.qmd +++ b/site/guide/validation/manage-artifact-severities.qmd @@ -32,7 +32,7 @@ aliases: 3. Hover over the severity you want to edit. -4. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa pencil >}} Edit Severity**. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa pencil >}} Edit Severity**. 5. Make your changes to the **[name]{.smallcaps}** and **[color]{.smallcaps}** of the severity. @@ -56,7 +56,7 @@ Severities can only be deleted if they are not in use by any artifacts. 3. Hover over the severity you would like to delete. -4. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select [**{{< fa trash-can >}} Delete Severity**]{.red}. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select [**{{< fa trash-can >}} Delete Severity**]{.red}. 5. Click **Delete Artifact Severity** to confirm permanent deletion. diff --git a/site/guide/validation/manage-artifact-types.qmd b/site/guide/validation/manage-artifact-types.qmd index f7ad85c26f..ac667db17d 100644 --- a/site/guide/validation/manage-artifact-types.qmd +++ b/site/guide/validation/manage-artifact-types.qmd @@ -87,7 +87,7 @@ Custom artifact types support the same features as default types, including stat 3. Hover over the artifact type you want to archive or delete. -5. When the **{{< fa ellipsis-vertical >}}** appears, click [**{{< fa box-archive >}} Archive Artifact Type**]{.red} under the Actions column. +5. When the **{{< fa ellipsis-vertical >}}** menu appears, click [**{{< fa box-archive >}} Archive Artifact Type**]{.red} under the Actions column. 6. Click **Yes, Archive Artifact Type** to confirm archival. @@ -103,13 +103,13 @@ Only artifact types with no active artifact records can be deleted. ::: a. Hover over the artifact type you want to delete. -b. When the **{{< fa ellipsis-vertical >}}** appears, click [**{{< fa trash-can >}} Delete**]{.red} under the Actions column. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click [**{{< fa trash-can >}} Delete**]{.red} under the Actions column. c. Click **Yes, Delete Artifact Type** to confirm permanent deletion. #### Restore artifact types a. Hover over the artifact type you want to restore. -b. When the **{{< fa ellipsis-vertical >}}** appears, click **{{< fa undo >}} Restore** under the Actions column. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click **{{< fa undo >}} Restore** under the Actions column. c. Click **Yes, Restore Artifact Type** to confirm restoration. ::: diff --git a/site/guide/validation/manage-validation-guidelines.qmd b/site/guide/validation/manage-validation-guidelines.qmd index aba8522672..a22f806404 100644 --- a/site/guide/validation/manage-validation-guidelines.qmd +++ b/site/guide/validation/manage-validation-guidelines.qmd @@ -55,7 +55,7 @@ To set up validation guidelines, you'll need to complete these two steps in sequ a. Hover over the risk area you want to edit. -b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa pencil>}} Edit Risk Area**. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa pencil >}} Edit Risk Area**. c. Make your desired changes to the risk area's **[name]{.smallcaps}** and **[description]{.smallcaps}**. @@ -69,7 +69,7 @@ Any guidelines associated with a risk area will need to be deleted before the ri a. Hover over the risk area you want to remove. -b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select [**{{< fa trash-can>}} Delete Risk Area**]{.red}. +b. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select [**{{< fa trash-can >}} Delete Risk Area**]{.red}. c. Click **Yes, Delete Risk Area** to confirm permanent deletion of that risk area. @@ -95,7 +95,7 @@ a. Expand the menu for a risk area by clicking **{{< fa chevron-down >}}**. b. Hover over the guideline you want to edit. -c. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa pencil>}} Edit Guideline**. +c. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa pencil >}} Edit Guideline**. d. Make your desired changes to the risk area's **[title]{.smallcaps}** and **[description]{.smallcaps}**. @@ -111,7 +111,7 @@ a. Expand the menu for a risk area by clicking **{{< fa chevron-down >}}**. b. Hover over the guideline you want to delete. -c. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select [**{{< fa trash-can>}} Delete Guideline**]{.red}. +c. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select [**{{< fa trash-can >}} Delete Guideline**]{.red}. d. Click **Yes, Delete Guideline** to confirm permanent deletion of that guideline. diff --git a/site/guide/validation/preparing-validation-reports.qmd b/site/guide/validation/preparing-validation-reports.qmd index df1dc864ee..c169c81760 100644 --- a/site/guide/validation/preparing-validation-reports.qmd +++ b/site/guide/validation/preparing-validation-reports.qmd @@ -34,18 +34,6 @@ aliases: Use the {{< var validmind.platform >}} to prepare detailed validation reports in adherence with your organization's guidelines. Link evidence and artifacts to your reports and assess compliance status at a granular level. -::: {.attn} - -## Prerequisites - -- [x] {{< var link.login >}} -- [x] The record you are validating is registered in the inventory.[^1] -- [x] Documentation has been submitted to you for validation.[^2] -- [x] Validation guidelines are aligned with your organization's requirements and added to the correct validation templates.[^3] -- [x] You are a [{{< fa circle-check >}} Validator]{.bubble} or assigned another role with sufficient permissions to perform the tasks in this guide.[^4] - -::: - ## Key concepts @@ -78,6 +66,18 @@ Use the {{< var validmind.platform >}} to prepare detailed validation reports in :::: +::: {.attn} + +## Prerequisites + +- [x] {{< var link.login >}} +- [x] The record you are validating is registered in the inventory.[^1] +- [x] Documentation has been submitted to you for validation.[^2] +- [x] Validation guidelines are aligned with your organization's requirements and added to the correct validation templates.[^3] +- [x] You are a [{{< fa circle-check >}} Validator]{.bubble} or assigned another role with sufficient permissions to perform the tasks in this guide.[^4] + +::: + ## Validation Overview ::: {.callout title="Static PDF uploads do not include a Document Overview."} diff --git a/site/guide/validation/review-documentation.qmd b/site/guide/validation/review-documentation.qmd index f9a0b5b88c..8bb4bd4b2d 100644 --- a/site/guide/validation/review-documentation.qmd +++ b/site/guide/validation/review-documentation.qmd @@ -11,6 +11,10 @@ aliases: Use the {{< var validmind.platform >}} to review the documentation provided by developers as part of the formal validation process. +## Key concepts + +{{< include /about/glossary/validation_reports/_review.qmd >}} + ::: {.attn} ## Prerequisites @@ -21,10 +25,6 @@ Use the {{< var validmind.platform >}} to review the documentation provided by d ::: -## Key concepts - -{{< include /about/glossary/validation_reports/_review.qmd >}} - ## Document Overview {{< include /guide/documentation/_document-overview.qmd >}} diff --git a/site/guide/workflows/_workflow-states.qmd b/site/guide/workflows/_workflow-states.qmd index 1604c17eaf..39079be847 100644 --- a/site/guide/workflows/_workflow-states.qmd +++ b/site/guide/workflows/_workflow-states.qmd @@ -37,7 +37,7 @@ Add workflow states either while configuring a **{{< fa wifi >}} Workflow State 1. Click on the workflow you'd like to edit the states for. -1. Hover over the workflow state you want to edit until the **{{< fa ellipsis-vertical >}}** appears, then click on it. +1. Hover over the workflow state you want to edit until the **{{< fa ellipsis-vertical >}}** menu appears, then click on it. 1. Select **{{< fa pencil >}} Edit Details**. @@ -62,7 +62,7 @@ If a state is or was previously in use on a workflow within a {{< fa wifi >}} W 1. Click on the workflow you'd like to delete workflow states for. -1. Hover over the workflow state you want to delete until the **{{< fa ellipsis-vertical >}}** appears, then click on it. +1. Hover over the workflow state you want to delete until the **{{< fa ellipsis-vertical >}}** menu appears, then click on it. 1. Select [**{{< fa trash-can >}} Delete Workflow State**]{.red}. diff --git a/site/guide/workflows/configure-workflows.qmd b/site/guide/workflows/configure-workflows.qmd index 6ef4eb217b..76d03cb09f 100644 --- a/site/guide/workflows/configure-workflows.qmd +++ b/site/guide/workflows/configure-workflows.qmd @@ -65,7 +65,7 @@ To create a copy of an existing workflow as a new draft workflow:[^3] 2. Hover over the workflow you'd like to clone.[^4] -3. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa copy >}} Clone Workflow**. +3. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa copy >}} Clone Workflow**. 4. Make your changes to the workflow's **[title]{.smallcaps}** and **[workflow type]{.smallcaps}**. @@ -160,7 +160,7 @@ Deleting workflow steps on workflows active on records may result in malfunction 3. Hover over the workflow you would like to remove.[^11] -4. When the **{{< fa ellipsis-vertical >}}** appears, click on it and select **{{< fa trash-can >}} Delete Workflow**. +4. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it and select **{{< fa trash-can >}} Delete Workflow**. 5. Click **Yes, Delete Workflow** to permanently remove that workflow and make it inaccessible for any future runs. diff --git a/site/guide/workflows/manage-record-stages.qmd b/site/guide/workflows/manage-record-stages.qmd index ce49222348..3ca76a1bc9 100644 --- a/site/guide/workflows/manage-record-stages.qmd +++ b/site/guide/workflows/manage-record-stages.qmd @@ -36,7 +36,7 @@ aliases: 4. Hover over the stage you'd like to modify. -5. When the **{{< fa ellipsis-vertical >}}** appears, click on it: +5. When the **{{< fa ellipsis-vertical >}}** menu appears, click on it: - Select **{{< fa pencil >}} Edit Details** to modify that stage. - Select **{{< fa trash-can >}} Delete Stage**. On the confirmation dialogue that appears, select **OK** to confirm deletion. diff --git a/site/llm/chatbot-product-map.md b/site/llm/chatbot-product-map.md index c2abf3e499..0ef651839b 100644 --- a/site/llm/chatbot-product-map.md +++ b/site/llm/chatbot-product-map.md @@ -30,7 +30,7 @@ - `/guide/attestation/submit-attestations.html` - Sections: Prerequisites; Steps - `/guide/attestation/working-with-attestations.html` - - Sections: Prerequisites; Key concepts; Where do I access attestations?; How does the attestation process work?; How are attestation submissions organized?; How do I create meaningful attestation questionnaires?; Manage attestations + - Sections: Key concepts; Where do I access attestations?; How does the attestation process work?; How are attestation submissions organized?; How do I create meaningful attestation questionnaires?; Prerequisites; Manage attestations - `/guide/templates/customize-document-checker.html` - Sections: Prerequisites; Manage regulations and policies; Manage assessments; Default assessments provided by } cannot be edited, only cloned.; Add or clone assessments; Add or edit assessment questions; Add assessment questions; Edit assessment questions @@ -55,7 +55,7 @@ - `/guide/attestation/submit-attestations.html` - Sections: Prerequisites; Steps - `/guide/attestation/working-with-attestations.html` - - Sections: Prerequisites; Key concepts; Where do I access attestations?; How does the attestation process work?; How are attestation submissions organized?; How do I create meaningful attestation questionnaires?; Manage attestations + - Sections: Key concepts; Where do I access attestations?; How does the attestation process work?; How are attestation submissions organized?; How do I create meaningful attestation questionnaires?; Prerequisites; Manage attestations ### Organization @@ -454,7 +454,7 @@ - `/faq/faq-workflows.html` - Sections: Can I customize workflows within }?; What statuses are available for use in workflows?; Can we work with disconnected workflows?; You can also leverage the } once you are ready to document a specific record (model) for review and validation.; Learn more - `/guide/integrations/integrations-examples/use-webhooks-with-workflows.html` - - Sections: Prerequisites; Start a workflow via webhook; a. Configure workflow in }; b. Start workflow from external system; Trigger a paused workflow to continue; a. Configure workflow in }; b. Trigger workflow to continue from external system + - Sections: Prerequisites; Start a workflow via webhook; 1. Configure workflow in }; 2. Start workflow from external system; Trigger a paused workflow to continue; 1. Configure workflow in }; 2. Trigger workflow to continue from external system - `/guide/workflows/conditional-step-requirements.html` - Sections: Prerequisites; Configure conditional requirements - `/guide/workflows/configure-workflows.html` @@ -476,7 +476,7 @@ - `/faq/faq-workflows.html` - Sections: Can I customize workflows within }?; What statuses are available for use in workflows?; Can we work with disconnected workflows?; You can also leverage the } once you are ready to document a specific record (model) for review and validation.; Learn more - `/guide/integrations/integrations-examples/use-webhooks-with-workflows.html` - - Sections: Prerequisites; Start a workflow via webhook; a. Configure workflow in }; b. Start workflow from external system; Trigger a paused workflow to continue; a. Configure workflow in }; b. Trigger workflow to continue from external system + - Sections: Prerequisites; Start a workflow via webhook; 1. Configure workflow in }; 2. Start workflow from external system; Trigger a paused workflow to continue; 1. Configure workflow in }; 2. Trigger workflow to continue from external system - `/guide/workflows/conditional-step-requirements.html` - Sections: Prerequisites; Configure conditional requirements - `/guide/workflows/configure-workflows.html` @@ -539,7 +539,7 @@ - `/guide/attestation/submit-attestations.html` - Sections: Prerequisites; Steps - `/guide/attestation/working-with-attestations.html` - - Sections: Prerequisites; Key concepts; Where do I access attestations?; How does the attestation process work?; How are attestation submissions organized?; How do I create meaningful attestation questionnaires?; Manage attestations + - Sections: Key concepts; Where do I access attestations?; How does the attestation process work?; How are attestation submissions organized?; How do I create meaningful attestation questionnaires?; Prerequisites; Manage attestations - *No direct help link in frontend; related docs inferred from keywords.* @@ -563,7 +563,7 @@ - `/faq/faq-workflows.html` - Sections: Can I customize workflows within }?; What statuses are available for use in workflows?; Can we work with disconnected workflows?; You can also leverage the } once you are ready to document a specific record (model) for review and validation.; Learn more - `/guide/integrations/integrations-examples/use-webhooks-with-workflows.html` - - Sections: Prerequisites; Start a workflow via webhook; a. Configure workflow in }; b. Start workflow from external system; Trigger a paused workflow to continue; a. Configure workflow in }; b. Trigger workflow to continue from external system + - Sections: Prerequisites; Start a workflow via webhook; 1. Configure workflow in }; 2. Start workflow from external system; Trigger a paused workflow to continue; 1. Configure workflow in }; 2. Trigger workflow to continue from external system - `/guide/workflows/conditional-step-requirements.html` - Sections: Prerequisites; Configure conditional requirements - `/guide/workflows/configure-workflows.html`