Integrations examples

Published

November 27, 2025

Adapt these usage examples for your own workflows to interact with external systems.

These examples use HTTP request and webhook steps to integrate with external systems:

Together these steps support event-driven data exchange that allows external systems to interact with the ValidMind AI Risk Platform.

Prerequisites

Workflow examples

Create a Jira ticket

To create a Jira ticket when model validation requires attention:

Screenshot of the HTTP request step configured to create a Jira ticket, showing the required fields described in step 4.

Create a Jira issue
  1. In the left sidebar, click Settings.

  2. Under Workflows, select a workflow you can modify or click Add Model Workflow5 to start afresh.

  3. From the Workflow Steps modal, drag and drop an HTTP Request step6 onto the canvas, then connect it to your workflow.

  4. Double-click the step to open the Configure HTTP Request modal.

  5. Configure the required fields, replacing the placeholder values with your own:

    • urlhttps://yourcompany.atlassian.net/rest/api/3/issue
    • method — POST
    • headers — Add:
      • Content-Type: application/json
      • Authorization: Bearer {{Jira Personal Access Token}}
    • body type — JSON
    • body — Use the following JSON payload:
    {
      "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"
        }
      }
    }
  6. Click Update Step to save your configuration.

The HTTP request to create the Jira ticket is sent when the workflow executes the step.

Create a ServiceNow incident

To create a ServiceNow incident when a data drift issue is detected during ongoing monitoring:

  1. In the left sidebar, click Settings.

  2. Under Workflows, select a workflow you can modify or click Add Model Workflow7 to start afresh.

  3. From the Workflow Steps modal, drag and drop an HTTP Request step8 onto the canvas, then connect it to your workflow.

  4. Double-click the step to open the Configure HTTP Request modal.

  5. Configure the required fields, replacing the placeholder values with your own:

    • urlhttps://yourinstance.service-now.com/api/now/table/incident
    • method — POST
    • headers — Add:
      • Content-Type: application/json
      • Authorization: Basic {{ServiceNow Credentials}}
    • body type — JSON
    • body — Use the following JSON payload:
    {
      "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"
    }

Screenshot of the HTTP request step configured to create a ServiceNow incident, showing the required fields described in step 4.

Create a ServiceNow incident

The HTTP request to create the ServiceNow incident is sent when the workflow executes the step.

Start workflows via webhook

To start a ​ValidMind workflow from an external system:

  1. Add a new workflow, selecting the Via Webhook workflow start option.9

  2. From the Workflow Steps modal, drag and drop a Webhook step10 onto the canvas, then connect it to your workflow.

  3. Double-click the step to open the Webhook Step Trigger modal.

  4. Copy or select the webhook details:

    • URL — Click Copy for the unique POST webhook URL to use when configuring your external system.

    • select target model for payload — Select the model that is associated with the webhook payload from the dropdown.

    • Payload — Click Copy for the JSON payload that external systems must send in their POST request, where the value for target_cuid is shown after you select a target:

      {
        "action": "run_workflow",
        "target": "<target_cuid>",
        "entity_name": "InventoryModel"
      }
    • For the required authentication headers, click Copy for each of the following key-value pairs and paste them into your external system:

      • x-api-key: {API Key}
      • x-api-secret: {API Secret}
    • wait for webhook trigger when reached — 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 Workflow.

Send a POST request to the webhook URL with a JSON payload that includes the run_workflow action for the target model CUID:

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": "<target_cuid>",
  "entity_name": "InventoryModel"
}'

Add webhook step triggers

To trigger a waiting ​ValidMind workflow step to continue from an external system:

  1. Open the workflow you want to configure, or add a new workflow.11

  2. From the Workflow Steps modal, drag and drop a Webhook step12 onto the canvas, then connect the step to your workflow.

  3. Double-click the step to open the Webhook Step Trigger modal.

  4. Copy or select the webhook details:

    • URL — Click Copy for the unique POST webhook URL to use when configuring your external system.

    • select target model for payload — Select the model that is associated with the webhook payload from the dropdown.

    • Payload — Click Copy for the JSON payload that external systems must send in their POST request, where the value for target_cuid is shown after you select a target:

      {
        "action": "run_step",
        "target": "<target_cuid>",
        "entity_name": "InventoryModel"
      }
    • For the required authentication headers, click Copy for each of the following key-value pairs and paste them into your external system:

      • x-api-key: {API Key}
      • x-api-secret: {API Secret}
  5. Click Update Step to save your configuration.

When the workflow reaches this step, it pauses and waits for the external system.

Send a POST request to the webhook URL with a JSON payload containing the run_step action for the model CUID:

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": "<target_cuid>",
  "entity_name": "InventoryModel"
}'