Integration Catalog

Connect the platform to your existing security toolchain. Every integration is configured under Settings → Integrations, takes 2–5 minutes to set up, and uses your existing credentials in the target system — no service accounts to provision separately. The platform pushes findings, scan events, and compliance scores; some integrations (Jira, ServiceNow, GitHub Issues) also sync state back so closures propagate to the right side.

Integration catalog — SIEM and observability, ticketing and workflow, alerting and CI/CD integrations
Integration catalog — SIEM and observability, ticketing and workflow, alerting and CI/CD integrations

Why integrations matter: the platform is best when its findings show up where your team already lives — in Slack channels, Jira queues, PagerDuty rotations, Splunk dashboards. A finding that gets emailed once and forgotten doesn't get fixed; a finding that lands as a tracked Jira ticket does.

Integration ecosystem

The catalog is grouped into six categories. Teams typically connect 3–5 on first onboarding (Slack, Jira, and Splunk are the most common starter set) and add more over time.

CategoryWhy connectTypical integrations
Ticketing and project managementGet findings into the queue your team already works fromJira · ServiceNow · Azure DevOps · Linear · GitHub Issues
Messaging and alertingGet critical findings to humans within minutesSlack · Microsoft Teams · PagerDuty · OpsGenie · Email
SIEM and observabilityCorrelate findings with your security telemetrySplunk · Azure Sentinel · AWS Security Hub · Datadog · Sumo Logic · IBM QRadar
SOAR and automationTrigger your playbook automatically on critical findingsCortex XSOAR · Torq · Tines · Generic Webhook
Compliance and GRCPush compliance evidence to your audit-tracking platformDrata · Vanta · Hyperproof
CI/CD and codeCatch IaC and code issues before mergeGitHub Actions · GitLab CI · Jenkins · Azure Pipelines

Available integrations

Ticketing and project management

IntegrationStatusWhat it does
JiraAvailableAuto-create issues for critical/high findings; sync status back to the platform
ServiceNowAvailableCreate incidents for findings; bidirectional status sync
Azure DevOpsComing soonCreate work items for security findings
LinearComing soonCreate Linear issues for code security findings
GitHub IssuesComing soonCreate issues linked to SecOps findings

Messaging and alerting

IntegrationStatusWhat it does
SlackAvailableSend finding alerts to channels; per-severity routing
Microsoft TeamsAvailableSend alerts to Teams channels
PagerDutyAvailablePage on-call for critical findings; auto-resolve when fixed
OpsGenieAvailableCreate OpsGenie alerts for critical findings
Email / SMTPAvailableDaily or weekly digest; real-time critical alerts

SIEM and observability

IntegrationStatusWhat it does
SplunkAvailableStream findings and scan events to Splunk HEC
Azure SentinelAvailableForward findings as Sentinel custom logs
AWS Security HubAvailablePush findings in ASFF format to Security Hub
DatadogComing soonStream findings as Datadog events
Sumo LogicComing soonStream findings to a Sumo Logic HTTP source
IBM QRadarComing soonPush findings via QRadar syslog/CEF

SOAR, GRC, and CI/CD

IntegrationStatusWhat it does
Generic WebhookAvailablePOST findings to any HTTP endpoint
GitHub ActionsAvailableScan IaC and code repos in CI; fail PRs on new critical findings
GitLab CIAvailableSame as GitHub Actions for GitLab pipelines
Cortex XSOARComing soonTrigger XSOAR playbooks from findings
TorqComing soonTrigger Torq workflows from findings
TinesComing soonTrigger Tines stories from findings
DrataComing soonPush compliance evidence to Drata
VantaComing soonPush compliance evidence to Vanta
HyperproofComing soonPush compliance evidence to Hyperproof
JenkinsComing soonJenkins plugin for IaC scanning
Azure PipelinesComing soonTask for IaC scanning in Azure DevOps pipelines

Jira setup

The Jira integration is the most-used integration on the platform. It auto-creates Jira issues for findings that match your filters and bidirectionally syncs status — closing the Jira issue acknowledges the finding, and re-opening the Jira issue re-opens the finding.

Jira auto-create flow — critical finding triggers a Jira issue, the team remediates, a scan verifies, the finding auto-closes
Jira auto-create flow — critical finding triggers a Jira issue, the team remediates, a scan verifies, the finding auto-closes

Reading the flow left to right:

  1. Critical finding detected — for example, an S3 bucket with public access containing PII.
  2. Auto-create rule — the integration filter decides whether to create an issue (Critical only, Critical + High, or all findings).
  3. Jira issue created — populated with summary, description, priority, labels, and an Onam deep link.
  4. Team remediates — standard Jira workflow; move to Done when the cloud config is fixed.
  5. Auto-close — the next scan verifies the fix and resolves the finding, which also marks the Jira issue done if it isn't already.

Setup steps:

  1. Navigate to Settings → Integrations → Jira → Connect.
  2. Enter your Jira base URL (for example, https://yourcompany.atlassian.net).
  3. Enter a Jira API token (generate one at id.atlassian.com) and your Jira email address.
  4. Click Test Connection, then configure the options below, then Save.
OptionWhat to set
Project keyWhich Jira project to create issues in
Issue typeBug, Task, or Story — Bug or a custom Security type recommended
Severity mappingCritical to Priority Highest, High to High, and so on
Auto-create thresholdCritical only · Critical + High · All findings

Jira issue fields populated automatically:

  • Summary: [Onam] {rule_title} - {resource_uid}
  • Description: finding detail, affected resource, remediation steps, and a console deep link
  • Priority: mapped from finding severity
  • Labels: onam, cloud-security, and the provider name

Slack setup

  1. Navigate to Settings → Integrations → Slack → Connect.
  2. Click Connect to Slack and authorize the app in your workspace.
  3. Map notification channels to severity levels.
Channel (example)Receives
#security-criticalCritical findings only
#security-alertsHigh and above
#security-digestDaily summary

Example Slack message:

CRITICAL finding detected
Rule: S3 Bucket Public Access Not Blocked
Resource: arn:aws:s3:::my-bucket
Account: production-aws (123456789012)
Region: us-east-1
First seen: 2026-07-18 10:00 UTC

Remediation: Enable S3 Block Public Access...
[View in Onam] [Create Jira Issue]

Webhooks

The generic webhook sends a POST request to your endpoint for every event that matches your configured filters — the building block for any SOAR playbook or custom automation.

Setup steps:

  1. Navigate to Settings → Integrations → Webhook → Add Webhook.
  2. Enter the endpoint URL.
  3. Configure an optional HMAC secret for payload verification.
  4. Set filters: severity, provider, resource type, status.
  5. Click Test to send a sample payload.

Payload format:

{
  "event": "finding.created",
  "timestamp": "2026-07-18T10:00:00Z",
  "tenant_id": "your-tenant",
  "finding": {
    "finding_id": "chk-4f9a2c31",
    "rule_id": "AWS-S3-001",
    "rule_title": "S3 Bucket Public Access Not Blocked",
    "severity": "critical",
    "status": "OPEN",
    "resource_uid": "arn:aws:s3:::my-bucket",
    "resource_type": "aws_s3_bucket",
    "provider": "aws",
    "region": "us-east-1",
    "account_id": "123456789012",
    "remediation": "Enable S3 Block Public Access...",
    "first_seen_at": "2026-07-18T10:00:00Z"
  }
}

The finding object follows the Finding Schema.

Verifying the signature:

import hmac, hashlib

def verify_webhook(payload: bytes, signature: str, secret: str) -> bool:
    expected = hmac.new(
        secret.encode(),
        payload,
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(f"sha256={expected}", signature)
Always configure the HMAC secret and verify the X-Onam-Signature header before acting on a webhook. Without verification, anyone who discovers your endpoint URL can inject fake findings into your automation.

Webhook event types:

EventTrigger
finding.createdNew failing finding detected
finding.resolvedPreviously failing finding now passes
finding.severity_changedFinding severity escalated or de-escalated
scan.completedFull scan pipeline completed
scan.failedEngine scan failure
compliance.score_changedFramework score changed by 5% or more

SIEM forwarding

Splunk

  1. In Splunk, create an HTTP Event Collector (HEC) token under Settings → Data Inputs → HTTP Event Collector → New Token, with source type onam:findings.
  2. In the Onam console, navigate to Settings → Integrations → Splunk → Connect.
  3. Enter the HEC URL (https://your-splunk-instance:8088), the HEC token from step 1, and the target index (for example, security).
  4. Click Test Connection, then Save.

Findings stream to Splunk in real time after each scan completes. Example search:

index=security sourcetype=onam:findings severity=critical status=OPEN
| table _time, rule_title, resource_uid, provider, region, account_id
| sort -_time

AWS Security Hub

  1. Enable Security Hub in your AWS account.
  2. In the Onam console: Settings → Integrations → AWS Security Hub → Connect.
  3. Select the AWS region where Security Hub is enabled.
  4. Enter the account ID and an IAM role ARN with the securityhub:BatchImportFindings permission.
  5. Click Save.

Findings are forwarded in ASFF (AWS Security Finding Format) and appear in Security Hub under the custom product name Onam.

Request an integration

Don't see an integration you need?

  • In-app: Settings → Integrations → Request Integration
  • Email: integrations@onam.io

Integration status changes are announced in the release notes.

Next steps

  • API Reference — pull findings programmatically instead of (or alongside) push integrations
  • Finding Schema — the exact payload shape webhooks and SIEM streams deliver
  • SecOps — the SAST, SCA, and IaC scanning that backs the CI/CD integrations
  • RBAC & SSO — who on your team can configure integrations