ServiceNow Kafka
Introduction
ServiceNow Kafka integration is becoming important in enterprise environments where operational events need to move between ServiceNow and high-volume event-streaming platforms in near real time. Instead of waiting for scheduled REST calls, batch files, or periodic database synchronizations, Kafka can act as an event backbone through which applications publish and consume business and operational events.
A typical enterprise may already have Kafka handling events from applications such as Oracle Fusion Cloud, e-commerce platforms, warehouse systems, monitoring tools, IoT platforms, or custom microservices. ServiceNow can consume relevant events from Kafka and turn them into actionable workflows—for example, creating an incident when a production application reports a critical failure.
ServiceNow’s Stream Connect for Apache Kafka is designed to connect Kafka environments with ServiceNow workflows at scale. ServiceNow describes capabilities for consuming Kafka messages through Flow Designer and publishing events from ServiceNow back to Kafka.
From an Oracle integration perspective, Oracle Integration 3 also provides an Apache Kafka Adapter and a ServiceNow Adapter. This makes it possible to introduce OIC when the integration requires transformation, orchestration, routing, security, monitoring, or coordination with Oracle Fusion Cloud applications.
This article explains the architecture, prerequisites, implementation approach, testing strategy, common problems, and practical design considerations for ServiceNow-Kafka integrations.
What Is ServiceNow Kafka Integration?
At a basic level, ServiceNow Kafka integration connects a ServiceNow instance with an Apache Kafka environment so that messages can be consumed from or published to Kafka topics.
Kafka acts as an event-streaming platform. Instead of one application directly calling another application for every transaction, a producer publishes an event to a Kafka topic. One or more consumers can then subscribe to that topic.
For example:
Application
|
| Order Failed Event
v
Kafka Topic
|
+------------------> ServiceNow
| |
| v
| Create Incident
|
+------------------> Analytics Platform
A practical ServiceNow scenario could look like this:
Monitoring Platform
|
v
Kafka Topic: infrastructure.alerts
|
v
ServiceNow Stream Connect
|
v
Flow Designer
|
+--> Identify severity
|
+--> Find affected CI
|
+--> Create Incident
|
+--> Notify Assignment Group
The important architectural distinction is that Kafka is not simply another REST API.
REST integrations are generally request/response based:
System A ---> HTTP Request ---> System B
System A <--- HTTP Response --- System B
Kafka is event based:
Producer ---> Kafka Topic ---> Consumer
|
+----> Consumer
|
+----> Consumer
This difference becomes important when designing integrations that handle high event volumes.
ServiceNow Kafka Integration Architecture
A ServiceNow-Kafka implementation generally contains several logical components.
| Component | Responsibility |
|---|---|
| Kafka Producer | Publishes events |
| Kafka Cluster | Stores and distributes events |
| Kafka Topic | Logical stream of messages |
| Consumer | Reads messages |
| ServiceNow | Processes operational events |
| Flow Designer | Executes business workflows |
| Integration Layer | Performs transformation/orchestration when required |
| Monitoring | Tracks processing and failures |
ServiceNow’s Stream Connect capability supports connecting Kafka environments with ServiceNow workflows and provides mechanisms for Kafka message processing and publishing.
Direct ServiceNow-to-Kafka Architecture
For straightforward streaming requirements:
Kafka Cluster
|
| Topic
v
ServiceNow Stream Connect
|
v
Kafka Message Processing
|
v
Flow Designer
|
+--> Incident
+--> Event
+--> Change
+--> Notification
This architecture is useful when ServiceNow itself is responsible for consuming and acting on Kafka events.
Oracle Integration 3 Architecture
In an Oracle-centric landscape, the architecture can instead be:
Kafka
|
v
Oracle Integration 3
|
+------> ServiceNow
|
+------> Oracle Fusion HCM
|
+------> Oracle Fusion ERP
|
+------> Oracle Fusion SCM
Oracle provides a dedicated Apache Kafka Adapter for Oracle Integration 3 and a ServiceNow Adapter for Oracle Integration 3.
This approach is particularly useful when a Kafka event needs to initiate processing across multiple enterprise applications.
Real-World ServiceNow Kafka Integration Use Cases
Use Case 1 – Application Monitoring to ServiceNow Incident
Consider a company running hundreds of microservices.
Application monitoring produces events such as:
{
"application": "payment-service",
"environment": "PROD",
"severity": "CRITICAL",
"errorCode": "PAY-500",
"message": "Payment API unavailable",
"timestamp": "2026-09-25T14:20:00Z"
}
The event is published to:
application.alerts
ServiceNow consumes the event and executes a workflow.
The Flow Designer logic could be:
Read Kafka event.
Validate mandatory fields.
Search for the affected Configuration Item.
Determine assignment group.
Check whether an active incident already exists.
Create a new incident if required.
Populate severity and description.
Notify the support team.
The key advantage is that the monitoring system does not need to know how ServiceNow works.
It simply publishes an event.
Use Case 2 – Oracle Fusion Business Event to ServiceNow
A second scenario involves an enterprise using Oracle Fusion Cloud and ServiceNow.
For example:
Oracle Fusion
|
v
Integration/Event Layer
|
v
Kafka
|
v
ServiceNow
Suppose an enterprise application event indicates that a critical business process has failed.
OIC can consume or publish Kafka messages and coordinate processing with Oracle applications and ServiceNow. Oracle Integration 3 currently documents both Kafka and ServiceNow adapters.
The integration could:
Receive an event.
Transform the payload.
Determine business severity.
Identify the relevant ServiceNow assignment group.
Create or update a ServiceNow record.
Return processing status.
Log correlation information.
This is a common enterprise integration pattern because ServiceNow becomes the operational system for resolving an issue while Oracle Fusion remains the transactional system.
Use Case 3 – ServiceNow Event to Kafka
The flow can also operate in the opposite direction.
For example:
ServiceNow
|
| Incident/Change Event
v
Kafka
|
+----> Data Lake
+----> Monitoring
+----> Analytics
+----> Custom Applications
ServiceNow can publish events into Kafka, where other applications can independently consume them.
This avoids building multiple point-to-point integrations.
Prerequisites for ServiceNow Kafka Integration
Before starting development, establish the following.
1. Kafka Environment
You need access to the Kafka environment and information such as:
Kafka bootstrap server
Topic name
Authentication mechanism
Security protocol
Consumer configuration
Producer configuration
Message format
Partition strategy
Retention requirements
The Kafka infrastructure might be self-managed or provided through a managed Kafka service.
2. ServiceNow Environment
The ServiceNow administrator should confirm:
Required application/plugin availability
Appropriate subscription
User roles
Flow Designer access
Kafka integration configuration
Target tables
Assignment groups
Configuration Items where applicable
ServiceNow states that Stream Connect for Apache Kafka is part of its broader enterprise integration capabilities and provides Kafka message triggers and producer functionality.
3. Message Contract
Define the Kafka message schema before building the integration.
For example:
{
"eventId": "EVT-10001",
"eventType": "APPLICATION_FAILURE",
"source": "PAYMENT_APP",
"severity": "HIGH",
"environment": "PROD",
"timestamp": "2026-09-25T14:20:00Z",
"message": "Payment service unavailable"
}
Do not start development before agreeing on fields such as eventId, eventType, source, and timestamp.
These fields become extremely useful during troubleshooting.
Step-by-Step ServiceNow Kafka Build Process
Step 1 – Define the Integration Requirement
Start with a functional statement such as:
When a critical application failure is published to Kafka, ServiceNow should create an incident assigned to the Application Support group.
Then document:
Source topic
Event type
Mandatory fields
Severity mapping
ServiceNow target table
Assignment logic
Duplicate handling
Error handling
Notification requirements
This prevents the implementation from becoming an uncontrolled mapping exercise.
Step 2 – Create the Kafka Topic
Create or obtain the appropriate topic.
For example:
Topic:
enterprise.application.alerts
Define:
Partitions: Based on expected throughput
Retention: Based on business requirements
Replication: Based on availability requirements
Do not select partition counts arbitrarily. The Kafka architecture team should determine the appropriate configuration based on expected throughput and ordering requirements.
Step 3 – Configure Kafka Connectivity
Configure the Kafka connection using the organization’s security standards.
Typical information includes:
Bootstrap Servers
Security Protocol
Authentication
Certificates
Consumer Group
Topic
The exact properties depend on the Kafka deployment and adapter/service being used.
For an OIC-based architecture, Oracle’s Apache Kafka Adapter documentation describes how to configure Kafka connections and select the adapter role supported by the connection.
Step 4 – Configure ServiceNow Integration
If ServiceNow Stream Connect is being used directly, configure the Kafka environment according to the ServiceNow implementation documentation and establish the appropriate connection and message-processing configuration.
ServiceNow describes a Kafka message flow in which Kafka messages can trigger processing through Flow Designer.
If OIC is being used as middleware, configure the ServiceNow Adapter connection in Oracle Integration 3.
A typical OIC architecture is:
Kafka Trigger
|
v
Stage / Transformation
|
v
Business Rules
|
v
ServiceNow Invoke
Oracle’s ServiceNow Adapter documentation specifically covers configuring and adding the adapter to integrations in Oracle Integration 3.
Step 5 – Define the Message Transformation
Suppose Kafka sends:
{
"eventId": "EVT100",
"severity": "CRITICAL",
"application": "OrderService",
"message": "Database connection failed"
}
The ServiceNow incident might require:
Short Description
Description
Impact
Urgency
Assignment Group
Correlation ID
Configuration Item
Create an explicit mapping.
| Kafka Field | ServiceNow Field |
|---|---|
| eventId | correlation_id |
| application | cmdb_ci |
| message | description |
| severity | priority mapping |
| eventId | external reference |
Do not directly map severity to priority without business agreement.
For example:
CRITICAL -> Priority 1
HIGH -> Priority 2
MEDIUM -> Priority 3
LOW -> Priority 4
The actual mapping should be defined by the organization’s incident-management policy.
Step 6 – Implement Duplicate Detection
This is one of the most important implementation considerations.
Kafka events may be delivered more than once depending on architecture, retries, acknowledgements, consumer processing, and failure scenarios.
Suppose:
EVT100
is received twice.
Without duplicate detection:
EVT100 -> Incident INC001
EVT100 -> Incident INC002
That creates unnecessary incidents.
A better design stores or checks a unique event identifier:
eventId = EVT100
If already processed:
Do not create another incident
Else:
Create incident
Store eventId
This is an example of idempotent integration design.
Step 7 – Configure Flow Logic
A practical Flow Designer flow might look like:
Kafka Event
|
v
Validate Payload
|
+-- Invalid --> Error Handling
|
v
Check eventId
|
+-- Existing --> Stop / Update
|
v
Determine Severity
|
v
Find CI
|
v
Determine Assignment Group
|
v
Create Incident
|
v
Log Processing Result
Avoid putting every business rule into one large flow.
Break reusable logic into manageable components.
Testing the ServiceNow Kafka Integration
Testing should happen in stages.
Test 1 – Valid Message
Send:
{
"eventId": "EVT-2001",
"eventType": "APPLICATION_FAILURE",
"source": "ORDER_APP",
"severity": "HIGH",
"message": "Order API unavailable"
}
Expected result:
Kafka Message
|
v
ServiceNow
|
v
Incident Created
Validate:
Incident number
Short description
Description
Assignment group
Priority
Correlation ID
Source information
Test 2 – Duplicate Message
Send the same event twice.
Expected behavior:
First event -> Create incident
Second event -> Do not create duplicate
This test is mandatory for production-grade event integrations.
Test 3 – Invalid Payload
Send:
{
"eventId": "EVT-2002",
"severity": "HIGH"
}
where mandatory fields are missing.
Expected behavior:
Validation Failure
|
v
Error Handling
|
v
Operational Log / Error Topic
Do not silently discard invalid events.
Test 4 – ServiceNow Unavailable
Temporarily make the target ServiceNow operation unavailable.
Validate:
Retry behavior
Kafka consumer behavior
Error handling
Duplicate prevention
Recovery behavior
Test 5 – High-Volume Testing
A single-message test does not prove that the integration can handle production volume.
Generate a realistic event load and monitor:
Message throughput
Consumer lag
Processing latency
ServiceNow transaction performance
Error rates
Retry counts
Common Errors and Troubleshooting
Authentication Failure
Symptoms include connection failures or authorization errors.
Check:
Credentials
Certificates
Security protocol
Kafka ACLs
ServiceNow integration permissions
Expired secrets
Wrong Topic
A surprisingly common implementation issue is connecting successfully to Kafka but subscribing to the wrong topic.
Verify:
Environment
Topic
Cluster
Consumer Group
Do not assume that DEV and TEST use identical topic names.
Message Schema Mismatch
For example, the producer sends:
"severity": "critical"
while the mapping expects:
"severity": "CRITICAL"
If transformation logic is case-sensitive, processing can fail.
Define a canonical schema.
Duplicate Incidents
Usually investigate:
Kafka delivery behavior.
Retry logic.
Consumer processing.
Correlation ID.
Idempotency implementation.
ServiceNow record lookup.
Consumer Lag
If Kafka receives messages faster than ServiceNow processes them, backlog can increase.
Conceptually:
Incoming Rate > Processing Rate
|
v
Consumer Lag
Do not solve this automatically by increasing every available configuration parameter.
First identify whether the bottleneck is:
Kafka consumption
Transformation
ServiceNow transaction processing
Network
External API
Flow logic
ServiceNow Kafka Integration Best Practices
Use a Canonical Event Schema
Standardize common fields:
eventId
eventType
eventVersion
source
timestamp
severity
environment
correlationId
payload
This makes future integrations easier.
Design for Idempotency
Every important event should have a reliable identifier.
Avoid relying exclusively on timestamps or message text to detect duplicates.
Separate Technical and Business Errors
A malformed JSON message is different from a valid business event that violates a business rule.
Classify errors accordingly.
Maintain Correlation IDs
Use one correlation identifier across:
Source
|
Kafka
|
OIC
|
ServiceNow
For production support, this can reduce troubleshooting time substantially.
Do Not Put Excessive Logic in Mappings
If a transformation contains dozens of nested conditions, reconsider the architecture.
Keep:
Transformation logic
Routing logic
Business rules
Error handling
clearly separated.
Monitor the Entire Event Chain
Do not monitor only ServiceNow.
Monitor:
Producer
↓
Kafka
↓
Consumer
↓
Integration Layer
↓
ServiceNow
↓
Business Workflow
An integration can be technically “connected” while still failing to process business events.
Version the Event Contract
If version 1 contains:
{
"eventId": "100",
"severity": "HIGH"
}
and version 2 introduces:
{
"eventId": "100",
"severity": "HIGH",
"application": "ERP"
}
the consumer should be designed to handle schema evolution safely.
Use Dead-Letter Handling
For events that repeatedly fail processing, use a controlled error path rather than allowing the same message to fail indefinitely.
A practical design is:
Kafka Topic
|
v
Consumer
|
+---- Success ----> ServiceNow
|
+---- Failure ----> Retry
|
+----> Dead Letter Topic
This gives support teams a place to investigate failed messages.
ServiceNow Kafka vs REST Integration
The choice depends on the requirement.
| Requirement | Kafka | REST |
|---|---|---|
| Event streaming | Strong fit | Possible |
| Request/response | Not primary pattern | Strong fit |
| High-volume events | Strong fit | Depends on API design |
| Loose coupling | Strong fit | Moderate |
| Simple CRUD integration | Usually unnecessary | Strong fit |
| Multiple consumers | Strong fit | Requires additional design |
| Real-time event processing | Strong fit | Strong fit for individual calls |
A consultant should not introduce Kafka simply because it is technically available.
If an application only needs to create a ServiceNow record once per hour, a straightforward API integration may be easier to operate.
Kafka becomes more compelling when the organization already has an event-driven architecture, has significant event volume, or needs multiple downstream consumers.
Where Oracle Integration 3 Fits
In Oracle-heavy environments, OIC can act as the orchestration layer between Kafka, ServiceNow, and Oracle Fusion applications.
For example:
+----------------+
| Oracle Fusion |
+-------+--------+
|
v
Oracle Integration 3
|
+-----------+-----------+
| |
v v
Kafka ServiceNow
|
v
Other Applications
Oracle’s current documentation provides an Apache Kafka Adapter for Oracle Integration 3 and a ServiceNow Adapter for Oracle Integration 3.
This architecture is useful when the integration needs:
Message transformation
Routing
Orchestration
Oracle Fusion connectivity
ServiceNow connectivity
Centralized integration monitoring
Enterprise-level error handling
For a direct ServiceNow-to-Kafka requirement, however, ServiceNow’s Stream Connect capability may remove the need for an additional middleware layer. ServiceNow positions Stream Connect as a way to consume and publish Kafka events directly within ServiceNow workflows.
The architecture should therefore be selected based on integration complexity rather than simply choosing the most tools.
Three Practical Design Questions Consultants Should Ask
Before approving a ServiceNow Kafka design, ask:
1. Who owns the event contract?
There should be a clearly identified owner for the Kafka message schema.
2. What happens if ServiceNow is unavailable?
The answer should cover retries, retention, recovery, and duplicate prevention.
3. How is an event traced across systems?
A production integration should allow an engineer to take:
Event ID
and trace it through:
Producer → Kafka → Middleware → ServiceNow
If that is impossible, production support becomes unnecessarily difficult.
FAQ: ServiceNow Kafka Integration
1. What is ServiceNow Kafka integration?
ServiceNow Kafka integration connects ServiceNow with Apache Kafka so that Kafka events can be consumed by ServiceNow workflows or ServiceNow-generated events can be published to Kafka. ServiceNow provides Stream Connect for Apache Kafka for this purpose.
2. Can Oracle Integration 3 connect ServiceNow and Kafka?
Yes. Oracle Integration 3 provides both an Apache Kafka Adapter and a ServiceNow Adapter. This allows OIC to orchestrate integrations involving Kafka and ServiceNow, including scenarios where Oracle Fusion Cloud applications also participate in the integration.
3. Should every ServiceNow integration use Kafka?
No. Kafka is most appropriate when event streaming, high event volumes, loose coupling, or multiple consumers are important architectural requirements. For a simple request/response integration or a low-volume CRUD operation, a REST-based integration may be simpler.
Summary
ServiceNow Kafka integration provides an event-driven approach for connecting ServiceNow with enterprise applications and operational platforms. ServiceNow’s Stream Connect for Apache Kafka allows Kafka environments to participate directly in ServiceNow workflows, while Oracle Integration 3 provides Kafka and ServiceNow adapters for organizations that require an integration and orchestration layer.
From an implementation perspective, the difficult part is not simply establishing Kafka connectivity. The important design work is defining the event contract, handling duplicates, managing failures, maintaining correlation IDs, controlling schema evolution, and monitoring the complete event lifecycle.
A production-ready design should therefore be approached as an event-management architecture, not merely as a point-to-point connector.
For Oracle Fusion-related reference material, Oracle’s documentation library is available at Oracle Cloud Applications Documentation. For HCM implementations involving Time and Labor, the current 26A documentation and implementation guidance should be used rather than older release references. Oracle’s 26A Time and Labor documentation includes the current feature updates, while the implementation guide covers configuration and processing concepts.