Integrations examples
Adapt these usage examples for your own workflows to interact with external systems.
- Create a Jira ticket
- Create a ServiceNow incident
- Start workflows via webhook
- Add webhook step triggers
These examples use HTTP request and webhook steps to integrate with external systems:
An HTTP request step sends data from ValidMind to another service. A workflow can notify a partner tool when a model reaches a certain state or request an update in an external system. This pattern is useful when ValidMind owns the event and needs to push it outward.
A webhook step does the opposite. Another system sends a POST request to start a ValidMind workflow or to continue a workflow that is paused while waiting for a webhook to continue. This lets external tools trigger actions inside ValidMind when an event occurs on their side.
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:
In the left sidebar, click Settings.
Under Workflows, select a workflow you can modify or click Add Model Workflow5 to start afresh.
From the Workflow Steps modal, drag and drop an HTTP Request step6 onto the canvas, then connect it to your workflow.
Double-click the step to open the Configure HTTP Request modal.
Configure the required fields, replacing the placeholder values with your own:
- url —
https://yourcompany.atlassian.net/rest/api/3/issue - method — POST
- headers — Add:
Content-Type:application/jsonAuthorization: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" } } }- url —
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:
In the left sidebar, click Settings.
Under Workflows, select a workflow you can modify or click Add Model Workflow7 to start afresh.
From the Workflow Steps modal, drag and drop an HTTP Request step8 onto the canvas, then connect it to your workflow.
Double-click the step to open the Configure HTTP Request modal.
Configure the required fields, replacing the placeholder values with your own:
- url —
https://yourinstance.service-now.com/api/now/table/incident - method — POST
- headers — Add:
Content-Type:application/jsonAuthorization: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" }- url —
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:
Add a new workflow, selecting the Via Webhook workflow start option.9
From the Workflow Steps modal, drag and drop a Webhook step10 onto the canvas, then connect it to your workflow.
Double-click the step to open the Webhook Step Trigger modal.
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_cuidis 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.
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:
Open the workflow you want to configure, or add a new workflow.11
From the Workflow Steps modal, drag and drop a Webhook step12 onto the canvas, then connect the step to your workflow.
Double-click the step to open the Webhook Step Trigger modal.
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_cuidis 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}
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"
}'
