Streaming Kiteworks Events to Splunk Enterprise via Webhooks
Kiteworks emits a continuous stream of system events — file uploads, downloads, folder changes, admin logins, permission changes, and more — through its PubSub event bus. This guide wires that event stream into Splunk Enterprise so those events land in a Splunk index in near real time.
The mechanism is a webhook: Kiteworks PubSub publishes events as JSON payloads over HTTP(S) to a Splunk HTTP Event Collector (HEC) endpoint. You control which events get forwarded by selecting event categories when you register the webhook — forward everything, or scope it to specific categories.
In this guide
- What this integration does — the event flow at a glance
- Why integrate with Splunk — SIEM correlation, audit trail, selective ingestion
- Prerequisites — Splunk access, Admin console access, and network requirements
- Step 1: Enable the HTTP Event Collector — turn on HEC in Splunk
- Step 2: Create an HEC token — the token Kiteworks authenticates with
- Step 3: Create the Kiteworks webhook setting — point PubSub at Splunk
- Step 4: Create a subscription — choose which events forward
- Verifying the flow end to end — confirm events land in Splunk
- Troubleshooting — common issues and fixes
- Summary — the three pieces, at a glance
What this integration does
A webhook setting tells PubSub where to send events and how to authenticate to that destination. A subscription binds that setting to one or more event names — or a wildcard — so PubSub knows which events to push. Both are configured through the Kiteworks Admin console.
Why integrate PubSub with Splunk
-
Centralized security monitoringKiteworks activity (file access, sharing, admin actions) shows up alongside your other security telemetry in Splunk, instead of living only in Kiteworks' own logs and UI.
-
Real-time visibilityEvents are pushed as they happen, rather than pulled on a polling schedule, so dashboards and alerts in Splunk reflect near-live activity.
-
SIEM correlationOnce Kiteworks events are in Splunk, you can correlate them with identity, network, or endpoint data to build detections — e.g. unusual bulk downloads, off-hours admin logins.
-
Compliance and audit trailSplunk's retention, search, and reporting can satisfy audit requirements that reference Kiteworks content activity.
-
Selective ingestionWebhooks can be scoped to specific event categories, so teams can forward only the events they care about instead of everything — keeping index volume and licensing costs under control.
Prerequisites
A Splunk Enterprise instance you can administer
You'll need Settings access to configure the HTTP Event Collector.
Kiteworks Admin console access
You'll need access to Application Setup > Event Subscriptions to create the webhook.
Network path to the Splunk HEC port
The Kiteworks appliance must reach the Splunk HEC port (default 8088), with any firewall rules opened.
Valid SSL certificates on the Splunk side (recommended)
Required if you plan to serve HEC over HTTPS, which this guide recommends.
Step 1: Enable the HTTP Event Collector in Splunk
-
Log in to your Splunk Enterprise instance.
-
Go to Settings > Data Inputs.
-
Select HTTP Event Collector.
-
Click Global Settings (top right).
-
Configure the collectorToggle All Tokens to Enabled, enable SSL so HEC is served over HTTPS rather than HTTP, and set the HEC port (default
8088). -
Click Save.
Step 2: Create an HEC token
-
Still under Settings > Data Inputs > HTTP Event Collector, click New Token.
-
Fill in the token configurationName — e.g.
kiteworks_content_pubsub_integration. Description — e.g. "Kiteworks Content PubSub integration". Source name override — a value that lets you distinguish these events in Splunk, e.g. the source server name. Indexer acknowledgment (optional) enables reliable, acknowledged delivery — if you turn this on, you must append achannelquery parameter to the endpoint URI (see the note below). -
Click Next, and set the source type to
_json(Kiteworks PubSub sends JSON payloads). -
Click Review, confirm the settings, then Submit.
-
Copy the generated token value — you'll need it as the
Authorizationheader value when configuring the Kiteworks webhook.
/services/collector/raw, e.g.
https://<splunk-host>:8088/services/collector/raw. If indexer
acknowledgment is enabled, append a channel parameter:
https://<splunk-host>:8088/services/collector/raw?channel=<channel-guid>.
Step 3: Create the Kiteworks webhook setting
In the Kiteworks Admin console, go to Application Setup > Event Subscriptions and click + Add Webhook URL. Set the following fields:
| Field | Value |
|---|---|
| Webhook URL | Your Splunk HEC raw-collector endpoint, e.g. https://<splunk-host>:8088/services/collector/raw |
| Token | Splunk <HEC-token-value> |
See PubSub Quick Start for the full field reference, including the Secret field and how the Token header works.
Step 4: Create a subscription (choose which events to forward)
In the same Add Webhook URL dialog, select the event categories you want forwarded to Splunk, or check Subscribe to all events to forward everything.
See PubSub Quick Start for more information.
Verifying the flow end to end
-
Trigger an event in Kiteworks that matches the event categories you selected for this webhook — e.g. upload a file if you subscribed to folder/file-related events, or anything if you selected Subscribe to all events.
-
In Splunk, search the index associated with your HEC token for recent events, filtering by the source name override you set in Step 2.
-
Confirm the JSON payload structure matches what you expect, and that timestamps line up with the action you performed in Kiteworks.
Troubleshooting notes
No events are arriving in Splunk
Confirm no firewall is blocking the HEC port (default 8088) between Kiteworks and Splunk, and that the webhook's Webhook URL matches your Splunk HEC endpoint exactly.
I'm seeing SSL/TLS errors
If using HTTPS, verify certificates are correctly configured. On the Splunk side, HEC input configuration lives in inputs.conf under $SPLUNK_HOME/etc/apps/splunk_httpinput/local/.
Indexer acknowledgment is enabled but events fail
Make sure you appended ?channel=<channel-guid> to the endpoint URI used in the webhook setting — this is required once indexer acknowledgment is turned on for the HEC token.
I'm getting too many or too few events
Double check which event categories are selected on the webhook in Admin Portal — narrow it to specific categories, or select Subscribe to all events to forward everything.
Having issues with your PubSub configuration
See PubSub Quick Start for additional information.
Summary
| Component | Role |
|---|---|
| Splunk HEC token | Authenticates inbound events and routes them to an index/source type |
| Kiteworks webhook setting | Defines where PubSub sends events (Webhook URL, Secret, Token) |
| Kiteworks subscription | Defines which events get sent, via the webhook's event categories |
Once these three pieces are in place, Kiteworks activity flows into Splunk automatically, giving you a live, queryable feed of content events for security monitoring, alerting, and compliance reporting.
Also see
Register a webhook from the Admin Portal UI and receive your first PubSub event in under 15 minutes.
Stream Kiteworks events into Microsoft Sentinel using Azure's Logs Ingestion API.
Full schema reference for all PubSub webhook endpoints — request bodies, response shapes, and error codes.