Response Integrations

obserae detects. Acting on what it finds belongs to your orchestration platform — a SOAR, a SIRP, an automation engine, a ticketing system. This section is written for the engineer who has to connect the two, and it assumes you have never seen obserae before.

By the end of it you should be able to build an alert → enrichment → ticket playbook without asking anyone a question.

Start here: which platform, which output?

This is the first thing to get right, and the one thing most people get wrong.

obserae sends alerts through an output, configured under Connectors → Outputs. Some platforms have a matching output type; the rest receive a plain Webhook and do the work on their side. There is no “n8n output” and there does not need to be one — the n8n node runs inside n8n and listens to a webhook obserae sends.

Your platformIn obserae, create…On the other side
n8na Webhook output with a signing secretthe obserae node — its trigger verifies the signature
Shufflea Webhook output with a signing secretthe Shuffle app, imported from the API profile
Cortex XSOARa Webhook output with a signing secretthe XSOAR pack
Tinesa Webhook output with a signing secreta recipe — no connector to install
Torqa Webhook output with a signing secreta recipe — no connector to install
TheHivethe TheHive 5 outputnothing; addresses arrive as typed observables
MISPthe MISP outputnothing
Microsoft Sentinelthe Microsoft Sentinel outputoptionally a custom connector for the inbound half
Splunkthe Splunk HEC outputthe add-on, for the CIM mapping
Elasticsearchthe Elasticsearch output, in ECSthe index template the instance serves
Jira, GLPIthe output of the same namenothing
Slack, Teams, Discord, Mattermost, Telegram, ntfy, Gotifythe output of the same namenothing
PagerDuty, Opsgeniethe output of the same namenothing
anything elsea Webhook outputparse obserae.alert/2

Every one of those is documented field by field in Outputs.


What obserae does, and what it does not do

obserae is an out-of-band network detection platform. It receives NetFlow v5/v9 and IPFIX from routers, firewalls and host probes, folds those records into sessions, maps them onto an asset inventory you describe, and raises alerts. It never sees a packet payload, it is not a proxy, it is not inline, and no traffic passes through it.

It follows that obserae blocks nothing. There is no firewall API here, no NAC integration, no quarantine call, no kill-switch — not disabled, not licensed separately, not on a roadmap: absent by design. If obserae fell over mid-incident, not one packet would change course.

What it offers instead is orchestrated response: obserae supplies the evidence and the context, and your orchestrator — which does sit on the path of things, and does hold credentials for your firewall — decides and acts.

There is exactly one exception, and it is still not an action: GET /api/indicators publishes the list of public addresses obserae’s own rules fired on. A firewall, an RPZ or a blocklist can pull that list. obserae does not push it anywhere, does not know who consumed it, and has no idea whether anything was done with it. Publishing a list is not enforcement; whatever pulls it is where enforcement lives. The MISP output is the same thing pushed instead of pulled, and is no more an action than the feed.

Say this out loud when you present the integration internally, because it is the first thing a network team asks: turning obserae off cannot break connectivity, and turning it on cannot block anything.


The two directions

An integration with obserae has two halves, and most playbooks use both.

  OUTBOUND — obserae speaks first
  ┌──────────┐   alert.fired      ┌──────────────┐
  │ obserae  │ ─────────────────► │ orchestrator │   a playbook starts
  └──────────┘   signed webhook   └──────────────┘

  INBOUND — the playbook asks
  ┌──────────┐   GET /api/…       ┌──────────────┐
  │ obserae  │ ◄───────────────── │ orchestrator │   it needs to decide
  └──────────┘   Bearer token     └──────────────┘

Outbound is an output destination: a signed webhook, or one of the nineteen destinations obserae speaks natively (Slack, PagerDuty, syslog, Splunk HEC, Elasticsearch, TheHive…). The alert carries its own evidence — named columns, the query that produced it, and the asset context of every address in it — so a great many playbooks never need to call back at all.

Inbound is the REST API, and specifically its SOAR profile: fourteen operations a playbook calls to enrich an address, to ask whether a flow was allowed, or to see what a host has been doing. This is the half that makes obserae worth keeping in the stack — an analyst’s questions, answered from a playbook.

Two properties are worth knowing before you design anything:

The alert is self-contained.It replays: query.nfql + query.as_of posted back to /api/query returns the same rows the alert showed. Nothing is inferred from “now”.
The context is frozen.The asset and threat-intel context inside an alert is resolved once, when the rule fires, and stored with it. A retry after a failed delivery re-sends the original evidence, never a recomputation.

The rest of this section

PageWhat is in it
The obserae.alert/2 contractThe alert document, field by field, with what each field is for
Verifying the signaturePython and Go, both executed by obserae’s own test suite
The SOAR profile of the APIThe fourteen operations, and the token to give a playbook
Three reference playbooksSegmentation, threat intel and exfiltration, end to end
Versioning and deprecationWhat can change under you, and what cannot

ConnectorsShuffle · n8n · Cortex XSOAR · Splunk add-on

Recipes (no connector needed) — Tines · Torq · Microsoft Sentinel · TheHive + Cortex

Getting Started

Daily Use

Web GUI Know what each screen is for and where to click next. Authentication Sign in with local accounts, LDAP or OIDC, and mint tokens for machines. CLI Automate admin tasks and recover access from the terminal. REST API Drive obserae from scripts over the HTTP API with a Bearer token (OpenAPI spec included). API Reference Interactive OpenAPI 3.1 reference for every obserae REST endpoint. Cartography Describe networks, hosts, groups and services by name. Sessions Understand the bidirectional conversations built from raw flows. NAT Declare what your firewalls translate so the flow matrix reports the real conversation. NFQL Query flows, sessions, enrichment and rule matches. NFQL Cookbook Copy practical query patterns into the Investigation page. Detection Rules Model allowed connectivity and inspect what matched. Rule Sets Package rules as a set, import one, and keep it up to date. Writing Rule Sets Author your own rule set, from the YAML up. Community Rule Set What the shipped community set covers, rule by rule. Alerting Turn saved NFQL queries into alerts. Anomaly Detection Statistical operators and self-learning baselines to catch "unusual for this host". Assistant Ask obserae questions in plain language, and let it make confirmed changes. Outputs Send alerts to chat, on-call, webhooks, syslog/SIEM or search platforms — with a documented, machine-readable payload a SOAR can map without guesswork. Connectors Understand flow exporters, device connectors, enrichment sources and alert outputs. IP Enrichment Use cloud, threat-intel, GeoIP and ASN ranges in queries. Reports Produce operations and compliance documents on demand or on a schedule. Lifecycle Manage retention, storage and backups. Monitoring Watch ingestion throughput, pipeline saturation, memory and DB activity.

Production

About