Skip to content

SIEM Integration

Stream Flowstate security events to your SIEM (Security Information and Event Management) platform in real time. Monitor authentication activity, configuration changes, API usage, and data access patterns from your central security console.

Overview

Flowstate generates structured security events for key activities across the platform. When you configure a SIEM integration, these events are delivered as JSON payloads to your SIEM endpoint via HTTPS webhooks.

Each event includes:

  • Event type and category for filtering and alerting
  • Actor identity (user ID, email, API key identifier)
  • Timestamp in ISO 8601 format
  • Resource details (what was accessed or changed)
  • Severity level for prioritization

Step 1: Configure an Endpoint

  1. Navigate to Settings > Security > SIEM Integration
  2. Click Add Endpoint
  3. Enter the following:
FieldDescription
NameA descriptive name (e.g., "Splunk HEC", "Sentinel Webhook")
Endpoint URLThe HTTPS URL where events should be sent
Auth TypeBearer Token, Header, or None
Auth ValueThe token or header value (depends on auth type)
  1. Click Save

Authentication Types

Auth TypeConfiguration
Bearer TokenSends Authorization: Bearer {token} header with each request
HeaderSends a custom header (e.g., X-API-Key: {value})
NoneNo authentication header (use only with network-level controls)

WARNING

Always use HTTPS endpoints. Flowstate will reject HTTP URLs for SIEM endpoints to protect event data in transit.

Event Categories

Events are organized into five categories. You can enable or disable each category per endpoint.

CategoryDescriptionExample Events
authenticationSign-in, sign-out, and session activityLogin success, login failure, magic link sent, SSO redirect
auditConfiguration and settings changesAuth provider created, role mapping updated, user role changed
api_activityREST API usageAPI key created, API request, rate limit exceeded
data_accessReads and writes to workforce planning dataEmployee created, plan published, report exported
infrastructureSystem-level eventsSCIM sync completed, webhook delivery failed

Configuring Categories

In the endpoint settings, toggle the categories you want to receive:

  1. Navigate to Settings > Security > SIEM Integration
  2. Click on your endpoint
  3. Under Event Categories, enable or disable each category
  4. Click Save

TIP

Start with authentication and audit categories for security monitoring. Add api_activity and data_access if you need visibility into data-level operations.

Severity Levels

Each event has a severity level. You can set a minimum severity threshold per endpoint to reduce noise.

SeverityDescriptionExamples
criticalImmediate attention requiredMultiple failed login attempts, API key compromised
highSignificant security eventAuth provider deleted, admin role granted
mediumNotable activity worth trackingNew API key created, user deactivated
lowRoutine operational eventsSuccessful login, API request, data export
infoInformational, low-priority eventsMagic link sent, session refreshed

Set the minimum severity in the endpoint configuration. For example, setting the threshold to medium will deliver critical, high, and medium events but suppress low and info.

Event Payload Format

All events follow a consistent JSON structure:

json
{
  "id": "evt_x7k9m2p4q1w3e5r8",
  "timestamp": "2026-03-11T14:32:07.123Z",
  "category": "authentication",
  "type": "login.success",
  "severity": "low",
  "actor": {
    "userId": "clx1a2b3c4d5e6f7g8h9",
    "email": "jane.chen@acme.com",
    "ipAddress": "203.0.113.42",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)"
  },
  "resource": {
    "type": "session",
    "id": "ses_r8t3l1m1t9a2b3c4"
  },
  "details": {
    "method": "saml",
    "provider": "Okta SSO",
    "domain": "acme.com"
  },
  "organization": {
    "id": "clx9o8r7g6i5d4",
    "name": "Acme Corp"
  },
  "tenant": "acme"
}

Payload Fields

FieldTypeDescription
idstringUnique event identifier
timestampstringISO 8601 timestamp with millisecond precision
categorystringEvent category (see table above)
typestringSpecific event type (e.g., login.success)
severitystringEvent severity level
actor.userIdstringID of the user who triggered the event
actor.emailstringEmail of the actor
actor.ipAddressstringSource IP address
actor.userAgentstringBrowser or client user agent string
resource.typestringType of resource affected
resource.idstringID of the affected resource
detailsobjectEvent-specific metadata
organization.idstringOrganization ID
organization.namestringOrganization display name
tenantstringTenant subdomain

Common Event Types

TypeCategorySeverityDescription
login.successauthenticationlowUser signed in successfully
login.failureauthenticationmediumFailed sign-in attempt
login.failure.repeatedauthenticationcriticalMultiple failed attempts for one account
magic_link.sentauthenticationinfoMagic link email dispatched
sso.redirectauthenticationinfoUser redirected to SSO provider
session.expiredauthenticationinfoUser session expired
auth_provider.createdaudithighNew auth provider configured
auth_provider.updatedaudithighAuth provider settings changed
auth_provider.deletedaudithighAuth provider removed
role_mapping.updatedaudithighGroup-to-role mapping changed
user.role_changedaudithighUser's role was changed
user.deactivatedauditmediumUser account deactivated
api_key.createdapi_activitymediumNew API key generated
api_key.revokedapi_activitymediumAPI key revoked
api_key.expiredapi_activitymediumAPI key reached expiration
api.requestapi_activitylowAPI endpoint called
api.rate_limitedapi_activityhighRate limit exceeded
employee.createddata_accesslowEmployee record created
employee.updateddata_accesslowEmployee record modified
employee.deleteddata_accessmediumEmployee record deleted
plan.publisheddata_accessmediumScenario plan published
report.exporteddata_accesslowReport or data export generated
scim.sync_completedinfrastructureinfoSCIM provisioning sync completed
siem.delivery_failedinfrastructurehighFailed to deliver events to SIEM endpoint

Platform-Specific Guides

Splunk (HTTP Event Collector)

  1. In Splunk, go to Settings > Data Inputs > HTTP Event Collector
  2. Click New Token and configure it:
    • Name: "Flowstate Security Events"
    • Source Type: _json
    • Index: your security index (e.g., security_events)
  3. Copy the HEC token
  4. In Flowstate, create a SIEM endpoint:
FieldValue
Endpoint URLhttps://splunk.acme.com:8088/services/collector/event
Auth TypeBearer Token
Auth ValueYour Splunk HEC token

TIP

Splunk HEC expects events wrapped in an event field. Flowstate automatically formats the payload for Splunk when the endpoint URL contains /services/collector.

Microsoft Sentinel

  1. In the Azure portal, go to Microsoft Sentinel > Data connectors
  2. Search for Custom Logs via API or use a Logic App / Azure Function as an ingestion layer
  3. Create an HTTP trigger that accepts JSON payloads
  4. In Flowstate, create a SIEM endpoint:
FieldValue
Endpoint URLYour Logic App / Azure Function HTTP trigger URL
Auth TypeHeader
Auth ValueConfigure the header name and value per your trigger's auth
  1. In your Logic App, parse the Flowstate event JSON and forward it to the Log Analytics Workspace using the Send Data action

Datadog (Log Management)

  1. In Datadog, go to Logs > Configuration > Log Collection
  2. Copy your Datadog API Key from Organization Settings > API Keys
  3. In Flowstate, create a SIEM endpoint:
FieldValue
Endpoint URLhttps://http-intake.logs.datadoghq.com/api/v2/logs
Auth TypeHeader
Auth ValueHeader name: DD-API-KEY, value: your Datadog API key

TIP

For Datadog EU, use https://http-intake.logs.datadoghq.eu/api/v2/logs as the endpoint URL.

API Key Management for SIEM

If your SIEM endpoint uses an API key or bearer token for authentication, rotate it on a regular schedule:

  1. Generate a new token in your SIEM platform
  2. Update the Auth Value in Flowstate's SIEM endpoint settings
  3. Click Save
  4. Verify events are still being delivered (see Testing below)
  5. Revoke the old token in your SIEM platform

WARNING

Update the token in Flowstate before revoking the old one in your SIEM platform. If you revoke first, events will fail to deliver until the new token is configured.

Testing Connectivity

After configuring an endpoint, verify that events are being delivered:

  1. Navigate to Settings > Security > SIEM Integration
  2. Click on your endpoint
  3. Click Send Test Event
  4. Flowstate sends a test event with category infrastructure and type siem.test:
json
{
  "id": "evt_test_t3s7e9v2n4t1",
  "timestamp": "2026-03-11T14:45:00.000Z",
  "category": "infrastructure",
  "type": "siem.test",
  "severity": "info",
  "actor": {
    "userId": "clx1a2b3c4d5e6f7g8h9",
    "email": "admin@acme.com",
    "ipAddress": "203.0.113.42",
    "userAgent": "Flowstate Admin UI"
  },
  "resource": {
    "type": "siem_endpoint",
    "id": "clx9s8i7e6m5"
  },
  "details": {
    "message": "SIEM integration test event"
  },
  "organization": {
    "id": "clx9o8r7g6i5d4",
    "name": "Acme Corp"
  },
  "tenant": "acme"
}
  1. Verify the event appears in your SIEM platform
  2. If delivery fails, check the Delivery Log in the endpoint settings for error details

Delivery Retries

Flowstate retries failed deliveries with exponential backoff:

AttemptDelay
1Immediate
230 seconds
32 minutes
410 minutes
51 hour

After 5 failed attempts, the event is marked as failed and logged in the Delivery Log. Flowstate does not discard failed events -- you can view them in the delivery log and trigger manual re-delivery.

DANGER

If an endpoint fails consistently for 24 hours, Flowstate disables the endpoint and sends an email notification to tenant administrators. Re-enable the endpoint in settings after resolving the issue.

Flowstate Documentation