Skip to content

Add Klime destination with track, identify, and group actions#3591

Open
beatlevic wants to merge 8 commits intosegmentio:mainfrom
klimeapp:add-klime-destination
Open

Add Klime destination with track, identify, and group actions#3591
beatlevic wants to merge 8 commits intosegmentio:mainfrom
klimeapp:add-klime-destination

Conversation

@beatlevic
Copy link

Add Klime as a new Action Destination with track, identify, and group actions.

Klime is a customer analytics platform. This enables Segment customers to forward events to Klime's batch ingest API (POST /v1/batch) with Bearer token authentication and batching support (up to 100 events per request).

Actions:

  • Track — forwards track events with event name, properties, userId, groupId, and context
  • Identify — forwards identify events with userId, traits, and context
  • Group — forwards group events with groupId, traits, userId, and context

Implementation details:

  • Custom auth scheme with Bearer token via extendRequest
  • testAuthentication validates the write key by sending an empty batch
  • Configurable endpoint (production / development) via dropdown
  • Batching enabled by default, up to 100 events per request
  • Modeled after Trubrics, Spiffy, and PostHog destination patterns

Note: Registered with a placeholder metadata ID (placeholder-klime-id) — to be replaced with the real ID after destination registration in Segment.

Testing

9 unit tests covering all 3 actions (default mappings, payload structure, batch events). Tested end-to-end against live Klime dev API using ./bin/run serve --destination=klime.

  • Added unit tests for new functionality
  • Tested end-to-end using the local server
  • [If destination is already live] Tested for backward compatibility of destination. Note: New required fields are a breaking change. — N/A, new destination
  • [Segmenters] Tested in the staging environment
  • [Segmenters] [If applicable for this change] Tested for regression with Hadron.

E2E test evidence

image image

Security Review

  • Reviewed all field definitions for sensitive data (API keys, tokens, passwords, client secrets) and confirmed they use type: 'password'

New Destination Checklist

  • Extracted all action API versions to versioning-info.ts file. — N/A, Klime uses a fixed endpoint (/v1/batch), no versioned API.

Enable Segment customers to send events to Klime's ingest API (/v1/batch)
with Bearer token authentication and batching support (up to 100 events).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@joe-ayoub-segment
Copy link
Contributor

Thanks for the PR @beatlevic .
I've blocked some time to review this on Friday.

Couple quick questions:
Could you please email me from your work email to jayoub@twilio.com?
Are you already a Segment Partner yet?

Best regards,
Joe

Copy link
Contributor

@joe-ayoub-segment joe-ayoub-segment left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @beatlevic thanks again for the PR.
Just a minor nit and we're good to go! please see comments.
Thx,
Joe

@joe-ayoub-segment
Copy link
Contributor

Hi @beatlevic I reviewed the PR. However I need to clarify your identity before I deploy the code.
Can you confirm that your company is an approved Segment partner?
Can you send me an email to jayoub@twilio.com from your work address please?

Kind regards,
Joe

@robertgaal
Copy link

robertgaal commented Feb 15, 2026

Hi @joe-ayoub-segment! Coen's colleague here. We emailed you some days ago but I followed up to bring it back on top of your inbox. Thanks for the quick replies!

@joe-ayoub-segment
Copy link
Contributor

HI @beatlevic are you OK addressing my comments above? If so I can deploy the integration.
Best regards,
Joe

beatlevic and others added 6 commits February 17, 2026 13:29
…s.ts

Co-authored-by: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com>
…s.ts

Co-authored-by: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com>
…s.ts

Co-authored-by: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com>
…s.ts

Co-authored-by: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com>
…tils.ts

Co-authored-by: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com>
…tils.ts

Co-authored-by: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com>
@beatlevic
Copy link
Author

HI @beatlevic are you OK addressing my comments above? If so I can deploy the integration. Best regards, Joe

All good! I have accepted all your suggestions. Thanks!

@joe-ayoub-segment
Copy link
Contributor

HI @beatlevic are you OK addressing my comments above? If so I can deploy the integration. Best regards, Joe

All good! I have accepted all your suggestions. Thanks!

Thanks @beatlevic I'll deploy this next Tueday.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments