Skip to main content
Send organization audit events to an external log collector over HTTPS. You must be an organization administrator to configure the endpoint. Each event answers one question: which identity changed which resource, from where, and did it work. The stream covers privilege changes, credential changes, agent configuration changes, and automation changes.

Configure audit logs

1

Open organization settings

Open the workspace menu, select Organization, then open Audit Logs under Settings.
2

Connect the endpoint

Click Connect and enter the HTTPS URL that accepts your audit events.
Connect an organization audit webhook
3

Configure the request

Set the request options your collector needs, then click Save changes.
Changing the endpoint is itself an audited organization_setting update, so your existing collector records the change before the stream moves. Events can continue to reach the old endpoint for up to 30 seconds after the change while cached settings expire.

Request options

Tracecat encrypts the webhook URL, custom headers, and custom payload at rest. Use the payload attribute when your collector expects the event under a specific key. Splunk HTTP Event Collector is the common case: it requires each event wrapped in an event field. Set the payload attribute to event, and Tracecat wraps the whole payload:

Logged events

An organization-scoped sign-in emits auth sign_in to this sink and to the platform sink. A superuser login that carries no organization context reaches the platform sink only.

Event payload

An audit event contains the actor, affected resource, action, result, and scope.

Attribution

actor_type distinguishes a human from automation. USER events carry the account’s email in actor_label, and SERVICE_ACCOUNT events carry the service account’s name. Treat actor_id as the stable join key; actor_label is a display value that changes when a user’s email changes.

Scope

organization_id identifies the tenant and workspace_id identifies the workspace that owns the affected resource. Organization-level resources such as organization_member and rbac_role have no workspace, so workspace_id is null. If you index platform and organization events together, filter on organization_id being non-null to isolate tenant activity.

Status lifecycle

Most audited changes emit an ATTEMPT event followed by SUCCESS or FAILURE. An ATTEMPT with no matching terminal event does not always mean the request failed — the terminal event may have been shed or lost in delivery.

Delivery behavior

Tracecat posts each event as a JSON POST request and does not block the audited action on the result.
  • Delivery runs in the background, so a failing or slow collector does not prevent the audited change from completing.
  • Each request times out after 10 seconds.
  • Tracecat makes up to three delivery attempts per event — the initial request plus two retries with exponential backoff — on 429, 500, 502, 503, 504, and transport errors. Other 4xx responses are terminal.
  • A retry after a lost response can deliver a duplicate. Events carry no event ID and a retried event is byte-identical, so deduplicate on the full event body if you need exact counts.
  • Under sustained backpressure Tracecat sheds events rather than buffering without bound.
Delivery is best-effort, so do not treat the stream as a guaranteed-complete ledger.