Skip to main content

Segment

Server Source code Package

Server-side event delivery to Segment via the official @segment/analytics-node SDK. Implements the full Segment Spec surface -- track, identify, group, page, and screen -- with automatic identity deduplication and graceful shutdown via closeAndFlush().

Where This Fits

Segment is a server destination in the walkerOS flow:

Receives events server-side from the collector, resolves identity and consent context, and forwards them to Segment for routing to 400+ downstream destinations.

Installation

Loading...

Setup

Loading...

Configuration reference

PropertyTypeDescriptionMore
writeKey*stringSegment source write key. Find it in your Segment workspace under Connections > Sources > Settings > API Keys.
userIdstringwalkerOS mapping value path to resolve userId from each event (like user.id).
anonymousIdstringwalkerOS mapping value path to resolve anonymousId from each event (like user.session).
hoststringBase URL of Segment API. Set to https://events.eu1.segmentapis.com for EU endpoint.
pathstringAPI path route (like /v1/batch).
flushAtintegerEvents to enqueue before flushing a batch. Default: 15.
flushIntervalintegerMax milliseconds before auto-flush. Default: 10000.
maxRetriesintegerRetry attempts for failed batches. Default: 3.
httpRequestTimeoutintegerHTTP request timeout in milliseconds. Default: 10000.
disablebooleanCompletely disable the SDK (no-ops all calls). Default: false.
identifyanyDestination-level identity mapping. Resolves to { traits } object. Fires identify() on the first push and re-fires when values change.
groupanyDestination-level group mapping. Resolves to { groupId, traits }. Fires group() on the first push and re-fires on change.
consentRecord<string, string>Mapping from walkerOS consent keys to Segment categoryPreferences keys. Example: { "marketing": "Advertising", "analytics": "Analytics" }.
integrationsRecord<string, any>Enable/disable downstream Segment destinations. Example: { "All": true, "Mixpanel": false }.
* Required fields

Identity is resolved automatically from each event: userId defaults to user.id and anonymousId defaults to user.session. At least one must be present for a call to be sent. Override these paths in settings to match your event structure.

Docker deployment

Step 1: Create flow configuration

Use the $env.NAME syntax in your flow configuration to reference environment variables at runtime:

Loading...

Step 2: Bundle the flow

Bundle your flow configuration before running in Docker:

Loading...

Step 3: Run with Docker

Loading...

Docker Compose example

Loading...
Security Best Practice

Never commit write keys to version control. Use environment variables or a secrets manager to inject credentials at runtime. For EU data residency, set host to https://events.eu1.segmentapis.com.

💡 Need implementation support?
elbwalker offers hands-on support: setup review, measurement planning, destination mapping, and live troubleshooting. Book a 2-hour session (€399)