Skip to contentAboutThe people and vision powering ProboBlogThe latest news from ProboStoriesHear from our customersChangelogLatest product updatesDocsDocumentation for ProboGitHubExplore our open-source compliance tools

Tools: Findings

🔍 Read-only

List all findings (nonconformities, observations, exceptions) for the organization.

Parameters: {
"organization_id": "org_xxx",
"size": 50,
"cursor": "optional_cursor",
"filter": {
"kind": "MAJOR_NONCONFORMITY",
"status": "OPEN",
"priority": "HIGH",
"owner_id": "profile_xxx",
"snapshot_id": null
}
}

Supports: Pagination, filtering by kind, status, priority, owner, snapshot Returns: Array of findings, next_cursor for pagination

Example:
AI: "List all open nonconformities"
[Uses listFindings tool with kind and status filters]

🔍 Read-only

Get a finding by ID.

Parameters: {
"id": "finding_xxx"
}

Returns: Full finding details

Example:
AI: "Get details for finding finding_abc123"
[Uses getFinding tool]

✏️ Write

Add a new finding (nonconformity, observation, or exception) to the organization.

Parameters: {
"organization_id": "org_xxx",
"kind": "MINOR_NONCONFORMITY",
"description": "Missing password policy enforcement",
"source": "Internal audit",
"identified_on": "2025-01-15T00:00:00Z",
"root_cause": "Policy not configured",
"corrective_action": "Implement password policy",
"owner_id": "profile_xxx",
"due_date": "2025-03-15T00:00:00Z",
"status": "OPEN",
"priority": "HIGH",
"risk_id": "risk_xxx",
"effectiveness_check": "Verify policy enforcement"
}

Kind values: MINOR_NONCONFORMITY, MAJOR_NONCONFORMITY, OBSERVATION, EXCEPTION Status values: OPEN, IN_PROGRESS, CLOSED, RISK_ACCEPTED, MITIGATED, FALSE_POSITIVE Priority values: LOW, MEDIUM, HIGH

Returns: Created finding object

Example:
AI: "Add a major nonconformity for missing password policy"
[Uses addFinding tool]

✏️ Write

Update an existing finding.

Parameters: {
"id": "finding_xxx",
"status": "IN_PROGRESS",
"corrective_action": "Updated corrective action",
"priority": "MEDIUM"
}

Returns: Updated finding object

Example:
AI: "Mark finding finding_abc123 as in progress"
[Uses updateFinding tool]

⚠️ Destructive

Delete a finding.

Parameters: {
"id": "finding_xxx"
}

Returns: Deleted finding ID

Example:
AI: "Delete finding finding_abc123"
[Uses deleteFinding tool]

✏️ Write

Link a finding to an audit with a reference ID.

Parameters: {
"finding_id": "finding_xxx",
"audit_id": "audit_xxx",
"reference_id": "NC-001"
}

Returns: Linked finding and audit objects

Example:
AI: "Link finding finding_abc123 to audit audit_abc123 with reference NC-001"
[Uses linkFindingAudit tool]

⚠️ Destructive

Unlink a finding from an audit.

Parameters: {
"finding_id": "finding_xxx",
"audit_id": "audit_xxx"
}

Returns: Confirmation of unlink

Example:
AI: "Unlink finding finding_abc123 from audit audit_abc123"
[Uses unlinkFindingAudit tool]

🔍 Read-only

List audits linked to a finding.

Parameters: {
"finding_id": "finding_xxx",
"size": 50,
"cursor": "optional_cursor"
}

Supports: Pagination Returns: Array of audits, next_cursor for pagination

Example:
AI: "List all audits linked to finding finding_abc123"
[Uses listFindingAudits tool]