Extensions
Enable, configure and disable the built-in extensions: Slack, MLflow, Azure AI Foundry, Model Lifecycle, Risk Import, Jira Assets, Jira incidents and Dataset Bulk Upload.
Overview
Extensions are optional features built into VerifyWise. Some connect VerifyWise to tools you already use (Slack, MLflow, Azure AI Foundry, Jira Assets, Jira incidents). Others add extra tools inside the app (Model Lifecycle, Risk Import, Dataset Bulk Upload).
All eight extensions ship with VerifyWise, so there is nothing to download or install. Each one stays off until an Admin enables it for the organization.
Finding extensions
There are two ways to open the Extensions page:
- Header: Click the Extensions button (package icon) in the top header. Its tooltip reads "Enable or disable extensions for your organization."
- Start here: Open Start here in the sidebar and click the Extensions card.
The page lists one card per extension. Each card shows the extension name, its category and version (for example "ML Ops ยท v1.0.0"), and " ยท Configuration required" when you need to fill in settings before you can enable it. Enabled extensions carry an Enabled badge.
Enabling and configuring an extension
The buttons on each card depend on the extension and its state:
| Button | What it does |
|---|---|
| Enable | Turns the extension on straight away. Shown when the extension needs no settings up front. |
| Configure to enable | Opens the settings page so you can fill in the required settings, then enable. Shown for MLflow and Azure AI Foundry. |
| Configure | Opens the settings page of an enabled extension that has settings. |
| Disable | Turns the extension off. Shown once the extension is enabled. |
The settings page (reached through Configure or Configure to enable) has a Back to extensions link and, depending on the extension:
- Configuration: A form with the extension's connection settings. Password and token fields are stored encrypted. Leave a secret field blank to keep the existing value.
- Extension panel: Slack, Model Lifecycle, Jira Assets and Jira incidents show their own setup panel here once enabled.
- Enable / Disable: Turns the extension on or off.
- Save configuration: Saves changes to the Configuration form after the extension is enabled. You see "Configuration saved." when it works.
- Test connection: Checks the saved settings against the external service. Available for MLflow, Azure AI Foundry and Jira incidents. Jira Assets has its own Test Connection button in its panel, and Jira incidents also has a Test connection button in its panel that checks the values you have typed before you save them.
If something goes wrong, the page shows the error returned by the server, or a short message such as "Enable failed", "Save failed" or "Test failed".
Disabling an extension
Click Disable on the card or on the settings page. The extension turns off immediately, without a confirmation step, and its tabs, buttons and menu items disappear from the app.
Available extensions
| Extension | Category | What it does |
|---|---|---|
| Slack | Communication | Sends VerifyWise notifications to Slack channels |
| MLflow | ML Ops | Pulls models and runs from an MLflow tracking server |
| Azure AI Foundry | ML Ops | Imports model deployments from an Azure AI Foundry project |
| Model Lifecycle | ML Ops | Adds configurable lifecycle phases to each model |
| Risk Import | Data management | Creates risks in bulk from an Excel template |
| Jira Assets Integration | Data management | Imports "AI System" objects from Jira Service Management Assets as use cases |
| Jira incidents | Data management | Imports new Jira issues as incidents and keeps their status in sync both ways |
| Dataset Bulk Upload | Data management | Uploads many dataset files at once, with PII detection |
Slack
Sends VerifyWise notifications to channels in your Slack workspace.
- Click Enable on the Slack card, then Configure.
- Click Add to Slack. Slack asks you to pick a workspace and the channel to post to, and to approve the connection.
- Back in VerifyWise, the connection appears in the table (Team Name, Channel, Creation Date, Active, Action). You can add more connections the same way.
- Click Configure to open Notification Routing, choose the notification types under "Apply to all workspaces", and click Save Changes.
Where it shows up: notifications arrive in the Slack channels you connected. See Slack integration for routing, troubleshooting and removing connections.
SLACK_CLIENT_ID, SLACK_CLIENT_SECRET and SLACK_API_URL on the server, and VITE_SLACK_CLIENT_ID and VITE_SLACK_URL on the client, before you click Add to Slack.MLflow
Pulls models and runs from your MLflow tracking server into VerifyWise.
- Click Configure to enable on the MLflow card.
- Fill in the Configuration form (see the table below).
- Click Enable, then Test connection to check the server is reachable.
| Field | Notes |
|---|---|
| Tracking server URL | Required. Base URL of your MLflow tracking server, for example https://mlflow.example.com. |
| Authentication method | None, Basic (username / password) or Token. Defaults to None. |
| Username | Needed for Basic authentication. |
| Password | Needed for Basic authentication. Stored encrypted. |
| API token | Needed for Token authentication. Stored encrypted. |
| Request timeout (seconds) | Between 1 and 600. Defaults to 30. Applies to each request to MLflow. |
Where it shows up: an MLFlow tab in Model inventory. Click Sync there to pull the latest runs. Syncing is manual; nothing syncs on a schedule.
Azure AI Foundry
Imports the model deployments in an Azure AI Foundry project. The AI agents page also uses this connection as one of its sources.
- Click Configure to enable on the Azure AI Foundry card.
- Fill in the Configuration form (see the table below).
- Click Enable, then Test connection.
| Field | Notes |
|---|---|
| Project endpoint | Required. In the form https://<project>.services.ai.azure.com. |
| API key | Required. Stored encrypted. |
| Subscription ID | Optional. Only needed for the Azure Resource Manager API. |
| Resource group | Optional. Only needed for the Azure Resource Manager API. |
| Resource name | Optional. Only needed for the Azure Resource Manager API. |
Where it shows up: an Azure AI Foundry tab in Model inventory. Click Sync there to refresh the deployments.
Model Lifecycle
Lets you define lifecycle phases for your models, each with its own items such as approvals, documents and responsible people.
- Click Enable on the Model Lifecycle card, then Configure.
- Click Configure Phases to open Configure Model Lifecycle.
- Click Add new phase, give it a name and an optional description.
- Inside a phase, click Add item, name it and pick its type: Text, Text Area, Documents, People, Classification, Checklist or Approval.
Where it shows up: a View lifecycle button on each row in Model inventory, and a lifecycle section on each model's detail page.
Risk Import
Creates many risks at once from a filled-in Excel template. Click Enable on the card; there is nothing to configure.
Where it shows up: in Risk management, click Add new risk and choose Import from Excel. The Import Risks from Excel dialog walks you through three steps:
- Step 1: click Download Template.
- Step 2: fill in the template and upload it with Choose File.
- Step 3: click Import Risks.
Columns marked with * in the template are required: Risk Name, Risk Owner, AI Lifecycle Phase, Likelihood and Severity. Each row also needs a Risk Description, or the import rejects that row. Admins and Editors can import risks.
Jira Assets Integration
Imports "AI System" objects from Jira Service Management Assets and turns them into VerifyWise use cases.
- Click Enable on the Jira Assets Integration card, then Configure.
- Choose a Deployment Type: JIRA Cloud (Atlassian-hosted) or JIRA Data Center / Server (Self-hosted).
- Fill in JIRA Base URL, then Workspace ID (Cloud) or Insight Object Schema ID (Data Center), then Email and API Token (Cloud) or Username and Password / Token (Data Center).
- Click Test Connection, then Save Configuration.
- Pick the Schema and the Object Type (AI Systems) to import from.
- In the Import & Sync section, click Import, select the objects you want and click Import N Selected. The list shows up to 1,000 objects at a time; if Jira has more, click Load more.
Where it shows up: imported objects appear as use cases under Use cases. To refresh them later, click Sync Now in the Import & Sync section.
Jira incidents
Imports new issues from a Jira Cloud project as VerifyWise incidents, then keeps their status in sync in both directions.
Before you start, you need:
- A Jira Cloud site: such as https://your-company.atlassian.net. Jira Data Center and Server are not supported.
- A service account: a Jira user that VerifyWise acts as. In the project you import from, it needs the Jira permissions Browse projects, Transition issues and Link issues.
- A classic API token: for that account, created at id.atlassian.com. Scoped API tokens aren't supported.
- Click Enable on the Jira incidents card, then Configure.
- Under Connection, enter the Jira site URL, the Service account email and the API token. Click Test connection to check them; once a project is chosen, it also checks the three permissions.
- Click Save. VerifyWise checks the token with Jira and loads your projects and priorities.
- Under Which issues to import, choose the Jira project and the Issue type. Optionally enter a Label to import only issues with that label; matching labels from Jira appear as you type.
- Under Status mapping, check the two tables. Jira to VerifyWise has a row for every status in the issue type's workflow, and each one needs a VerifyWise status. VerifyWise to Jira has a row for each VerifyWise status; pick the Jira status to move the issue to, or Don't change Jira. Both are filled in from Jira's status categories to start with.
- Under Severity mapping, map each Jira priority to Minor, Serious or Very serious. The starting values are Highest and High โ Very serious, Medium โ Serious, Low and Lowest โ Minor, and Serious for any other priority.
- Under Defaults for imported incidents, choose the Use case and Incident type and enter the Reporter.
- Click Save. Once everything is filled in, syncing starts on its own, every hour by default.
What an imported incident contains: the issue's summary and description as the description, the severity from your mapping (Serious when the issue has no priority), the status from your mapping, the issue's created date as the date it occurred and was detected, and your default use case, type and reporter. Its approval status starts as Pending. A new imported incident runs the same automations as any new incident, and a Very serious one starts the incident response workflow. If your VerifyWise server has its web address configured, the Jira issue also gets a link back to the incident. If adding that link fails, the next syncs try again.
Where it shows up: imported incidents show the Jira key, for example SEC-42, next to the incident ID in the incidents table and in the incident's edit header. Click it to open the issue in Jira. A dot on the key means the link needs attention: a sync error, a conflict, or an issue deleted in Jira. Hover over or tab to the key to see the reason.
| You see | What to do |
|---|---|
| Jira rejected the API token. It may have expired or been revoked. | Create a new classic API token for the service account, enter it under Connection and click Save. |
| Jira status 'Awaiting vendor' isn't mapped | A status was added to the workflow. Open the settings page, where it now appears in Jira to VerifyWise, check its mapping and click Save. |
| No move from 'Done' to 'In Progress' in this workflow, or Moving to 'Done' needs a value for Resolution | The Jira workflow does not let VerifyWise make that move. Change the status in Jira; the incident keeps its VerifyWise status. |
| VerifyWise can no longer read Jira project SEC | Give the service account Browse projects on the project again. Nothing is changed until it can read the project. |
| Deleted in Jira | The issue was deleted or is no longer visible to the service account. The incident is kept. If the issue comes back, syncing resumes. |
| Rate limited by Jira. The next sync continues where this one stopped. | Nothing; the next sync picks up the rest. |
Deleting an imported incident in VerifyWise does not touch the Jira issue, and the issue is not imported again.
Dataset Bulk Upload
Registers many datasets at once. Click Enable on the card; there is nothing to configure.
Where it shows up: a Bulk upload button on the Datasets page, available to Admins and Editors. You can upload up to 20 CSV, XLSX or XLS files at a time, up to 30 MB each. VerifyWise checks column headers for likely personal data and flags matching datasets. Developers can use the same upload through the API.
Who can do what
| Action | Required role |
|---|---|
| Open the Extensions page | Admin |
| Enable, configure or disable an extension | Admin |
| Import risks from Excel (Risk Import) | Admin, Editor |
| Bulk upload datasets (Dataset Bulk Upload) | Admin, Editor |
| See the Jira key on imported incidents (Jira incidents) | Anyone who can see incidents |