Skip to content

Conversation

@anna-belka
Copy link

@anna-belka anna-belka commented Jan 15, 2026

What are the changes introduced in this PR?

This PR introduces the Survicate Cloud Mode Destination integration for RudderStack. The implementation transforms RudderStack events (identify, group, and track) into Survicate API format for integration with the Survicate Contacts service.

What is the related Linear task?

Resolves INT-XXX

Please explain the objectives of your changes below

The objective is to enable RudderStack users to seamlessly send user identification, group association, and event tracking data to Survicate's Contacts service. The integration:

Processes three event types:

identify: Sends user identification data with traits and selected context
group: Associates users with groups including group-specific traits
track: Tracks user events with event names and properties
Ensures data consistency by always including: userId, timestamp, messageId and filtered context (only locale, campaign, userAgent)

Validates required fields to ensure data integrity at the Contacts service

Flattens nested structures by extracting context traits and merging them into the payload

Any changes to existing capabilities/behaviour, mention the reason & what are the changes ?

N

Any new dependencies introduced with this change?

N

Any new generic utility introduced or modified. Please explain the changes.

N

Any technical or performance related pointers to consider with the change?

N


Developer checklist

  • My code follows the style guidelines of this project

  • No breaking changes are being introduced.

  • All related docs linked with the PR?

  • All changes manually tested?

  • Any documentation changes needed with this change?

  • Is the PR limited to 10 file changes?

  • Is the PR limited to one linear task?

  • Are relevant unit and component test-cases added in new readability format?

Reviewer checklist

  • Is the type of change in the PR title appropriate as per the changes?

  • Verified that there are no credentials or confidential data exposed with the changes.

@contributor-support
Copy link

Thank you @anna-belka for contributing this PR.
Please sign the Contributor License Agreement (CLA) before merging.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 15, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key(s) in object: 'auto_resolve_threads'
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

1 participant