Skip to content
Data warehouse ⇄ Analytics

Snowflake to Splunk integration — real-time, two-way sync

Keep Snowflake and Splunk in sync without custom scripts. Cut weeks of integration work, eliminate silent data drift, and give your team a single, reliable source of truth.

  • SOC 2 and 6 other compliance frameworks
  • POC with real engineers in minutes

Adopted by fast-scaling companies moving mission-critical data in real time

Case study
Migrated from MuleSoft
Case study
Migrated from Celigo
Migrated from Heroku Connect
Migrated from Matillion
Case study
Migrated from Fivetran
Case study
Migrated from Celigo
Why teams connect Snowflake and Splunk

Put the same events, users, and metrics on both sides: Splunk and Snowflake stay current in real time, in both directions.

Splunk is where teams explore, visualize, and report; Snowflake is the store of record that holds the raw tables and full history behind those views. The two overlap wherever the same events, users, and metrics matter to both, and when the bridge between them is a nightly export or a hand-built extract, dashboards lag the warehouse and analysts spend the morning arguing over whose number is right.

Stacksync syncs Saved Searches, Fired Alerts, KV Store Collections, Indexes in Splunk with Tasks, VARIANT Columns, Virtual Warehouses, Databases in Snowflake field by field, in real time, and in both directions. You decide which system owns which fields, and Stacksync resolves conflicts by rules you set. Whether the flow is warehouse tables feeding live reports or captured events and segments landing back in Snowflake, every copy stays consistent.

Common use cases

  • 01 Provision and update Saved Searches, alerts, and Dashboards from a Git-backed config repository so detections and reports stay versioned and consistent across search heads.
  • 02 Export Users and Roles into an IAM database for periodic access reviews, or provision them from an identity source of truth.
  • 03 Feed finance reconciliation models from ERP data landed in Snowflake on a continuous basis
  • 04 Land CRM and ERP records in Snowflake continuously so BI reflects business systems without nightly batch ETL

Common sync patterns

Shared user and account keys

Users and accounts tracked in Splunk line up with the customer or user rows in Snowflake on a stable key, so both sides count the same population.

Corrections propagate instead of reloading

When a record is fixed or backfilled on one side, the change reaches the other without a full reload, keeping history consistent across both.

One number both sides agree on

Metrics and aggregates stay aligned between the two systems, so a figure shown in Splunk matches the Snowflake table it was built from instead of drifting between refreshes.

What you can sync between Snowflake and Splunk

Representative objects on each side — any object or custom field can map to any target. Schemas are auto-detected; types are converted between the two systems.

Snowflake objects Splunk objects How this pairing syncs
Schemas Namespaces within a database used to organize synced tables. Indexes Index inventory and settings (retention, max size, event counts) via /services/data/indexes, with create and edit; loaded into a database for capacity, retention, and data-onboarding tracking. Schemas is specific to Snowflake and Indexes to Splunk — each maps to any object or custom field on the other side.
Tables The main landing and activation target for synced records. HTTP Event Collector The write-in path: POST events and metrics to /services/collector (port 8088, or 443 on Splunk Cloud) authenticated with a per-input HEC token, so external records are indexed alongside logs for search and correlation. Tables is specific to Snowflake and HTTP Event Collector to Splunk — each maps to any object or custom field on the other side.
Views Modeled projections used as the source side of outbound syncs. Users and Roles Accounts at /services/authentication/users and role/capability definitions at /services/authorization/roles, with full CRUD; exported for access reviews or provisioned from an identity source of truth. Views is specific to Snowflake and Users and Roles to Splunk — each maps to any object or custom field on the other side.
Materialized Views Precomputed results synced outward for low-latency reads. Dashboards Simple XML dashboard and view definitions at /servicesNS/{owner}/{app}/data/ui/views; exported for backup and audit, or created and updated programmatically from version control. Materialized Views is specific to Snowflake and Dashboards to Splunk — each maps to any object or custom field on the other side.
Streams Row-level change records on a table, consumed to process deltas instead of full scans. Search Results SPL searches dispatched via POST /services/search/jobs return a search ID (SID); results are pulled from /services/search/jobs/{sid}/results once the job completes, or synchronously via oneshot/export mode. The primary read path for streaming indexed events out to a warehouse. Streams is specific to Snowflake and Search Results to Splunk — each maps to any object or custom field on the other side.
Stages File staging areas used for bulk loads into synced tables. Saved Searches Scheduled searches, reports, and the definitions behind alerts at /services/saved/searches with full create, update, and delete. Read out for governance and coverage review, or provisioned and updated from a config source. Stages is specific to Snowflake and Saved Searches to Splunk — each maps to any object or custom field on the other side.

How changes propagate between Snowflake and Splunk

Each direction of the sync is driven by what the source system can signal and what the destination accepts — detection, delivery, and expected latency below.

Snowflake Splunk Sub-second propagation

DetectionChanges in Snowflake are captured at the source via change data capture — no polling loop against its API. The setup script grants "create stream" on synced schemas (Snowflake streams), but the docs do not name the change-capture mechanism.

DeliveryEach detected change is written to Splunk through its API, with automatic retries and rate-limit backoff.

Splunk Snowflake Sub-second propagation

DetectionSplunk notifies Stacksync of record changes through webhook events. Time-range searches over indexed events (earliest/latest on _time or _indextime).

DeliveryEach detected change is applied to Snowflake as a row-level write, with types converted between the two schemas.

Rate-limit considerations

  • Snowflake: No conventional API rate limits; cost and throughput are governed by virtual warehouse size and running time.
  • Splunk: The management REST API throttles through search-concurrency quotas — max concurrent searches per user and role, plus per-CPU historical search limits in limits.conf — rather than a fixed per-request rate; exceeding quota queues or blocks jobs. HEC has per-token and per-instance throughput limits, and Splunk Cloud adds ingestion and API limits on top.
What ships with Snowflake ⇄ Splunk

Connect Snowflake and Splunk for flexible, real-time data sync.

Real-time sync, workflow automation, event queues, EDI, and monitoring, for every Snowflake–Splunk connection.

Real-time

Two-way sync

Changes in Snowflake or Splunk instantly reflect in both systems. No stale data, no manual imports.

No-code + pro-code

Workflow automation

Trigger automated workflows whenever Snowflake or Splunk data changes, update records, fire webhooks, or kick off sequences without brittle API scripts.

At scale

Event queues

Handle millions of events per minute without losing a single Snowflake or Splunk record.

Observability

Monitoring

Track your Snowflake ⇄ Splunk sync health, view errors, and replay failed events in one click.

Trading partners

EDI

Transform legacy EDI complexity into simple database interactions between Snowflake and Splunk.

How the Snowflake and Splunk connectors work

Snowflake

Integration surface
SQL via JDBC/ODBC and native drivers, plus the Snowflake SQL REST API
Authentication
Dedicated Snowflake service user + role with RSA key-pair authentication (Stacksync-provided public key), created via a setup script requiring SECURITY_ADMIN and ACCOUNTADMIN roles
Change detection
Not explicitly stated; the setup script grants "create stream" on synced schemas (Snowflake streams), but the docs do not name the change-capture mechanism
Capabilities
read · write · CDC
Rate limits
No conventional API rate limits; cost and throughput are governed by virtual warehouse size and running time
Snowflake setup guide

Splunk

Integration surface
REST API (management API + HTTP Event Collector)
Authentication
HTTP Basic (username/password), or a session key from POST /services/auth/login sent as Authorization: Splunk <key>, or a bearer authentication token (Authorization: Bearer <token>). The HTTP Event Collector uses its own per-input token (Authorization: Splunk <hec-token>). Management API defaults to port 8089; HEC to port 8088 (443 on Splunk Cloud).
Change detection
Time-range searches over indexed events (earliest/latest on _time or _indextime); events are immutable once indexed, so incremental extraction advances a time cursor rather than a modified-date CDC feed. Config objects such as saved searches and KV Store are polled; alerts can push via a saved-search webhook action.
Capabilities
read · write · webhooks
Rate limits
The management REST API throttles through search-concurrency quotas — max concurrent searches per user and role, plus per-CPU historical search limits in limits.conf — rather than a fixed per-request rate; exceeding quota queues or blocks jobs. HEC has per-token and per-instance throughput limits, and Splunk Cloud adds ingestion and API limits on top.
How it works

How to connect Snowflake to Splunk — three steps, no code

Configure and sync within minutes, no code. Whether you sync 50k or 100M+ records, Stacksync handles the queues, infra, and plumbing. Integrations are non-invasive and need zero setup on your systems.

  1. 01

    Connect your apps

    Authenticate Snowflake and Splunk with each platform's native method — OAuth, API keys, or service accounts — plus secure options like SSH tunneling, IP whitelisting, and VPC peering.

    • OAuth 2.0
    • SSH tunnel
    • VPC peering
    Snowflake connected
    Splunk connected
    OAuth 2.0
    SSH tunnel
    SSL certificate
    VPC peering
  2. 02

    Choose tables

    Pick the Snowflake and Splunk objects to sync — Stacksync auto-detects both schemas, including custom fields where the platform exposes them. Sync to existing tables, or let Stacksync create new ones with ideal data types.

    • Standard objects
    • Custom objects
    • Auto-schema
    objects · Snowflake ⇄ Splunk
    Customers 12,480
    Sales Orders 8,213
    Invoices 5,902
    Items 1,344
  3. 03

    Map fields

    Fields map automatically even when names and types differ. Stacksync handles transformation and type casting for you, zero configuration required.

    • Auto-map
    • Type casting
    • Transforms
    Snowflake Splunk
    Company company_name text
    Email email text
    Amount amount numeric
    Created created_at timestamp
FAQ

Snowflake and Splunk integration FAQ

SECURITY

Security teams trust Stacksync

As a data company, we understand the importance of keeping your data secure. Stacksync is built with security best practices to keep your data safe at every layer, and is DPF-certified for US, EU, UK and CH data transfers.

SOC 2 Type II
ISO 27001
HIPAA BAA
GDPR
CCPA
DPF US-EU-UK-CH
→ SECURITY WITH BENEFITS

SSO & SCIM

Let your users access Stacksync from your centralized user management systems. Works with Okta, Azure, Google SSO and more.

Alerts

Immediately get alerted about record syncing issues over email, Slack, PagerDuty and WhatsApp. Resolve issues from a centralized dashboard with retry and revert options.

Secure connection options

Securely connects to your systems with:

Related integrations

Every pair below is a real-time, two-way sync. Search all 519 integrations available for Snowflake and Splunk.

Popular · 8 of 519
Coworkers laughing in front of a laptop in a casual office setting

Your last integration took months.
Your next one takes a prompt.