multiwoven icon indicating copy to clipboard operation
multiwoven copied to clipboard

Mixpanel: Destination Connector

Open Mohith93 opened this issue 1 year ago • 2 comments

Feature Request: Mixpanel Destination Connector

Issue Type: New Feature / Connector Request

Description

We need to build a Mixpanel Destination Connector that allows users to send data from Multiwoven to their Mixpanel account. This connector will help users automate the tracking of user events, properties, and other analytics data between Multiwoven and Mixpanel for better insights into user behavior, engagement, and product usage.

Requirements

  • Authentication:
    The connector should support Token-based Authentication using the Mixpanel API key (Project Token) to interact securely with the Mixpanel API. Users will need to generate this token from their Mixpanel account.

  • Configuration:
    The connector should require the following configuration parameters:

    • api_token: Mixpanel Project Token (API key).
    • Optional: project_id if the integration supports multiple projects.
  • Connector Features:
    The destination connector should be able to:

    1. Send the following data to Mixpanel:
      • User Profiles: Sync user profiles, including attributes such as name, email, and custom properties.
      • Events: Track custom user events, such as clicks, purchases, or specific app interactions.
      • Properties: Update user properties like engagement level, preferences, or custom fields.
    2. Allow users to map their data fields in Multiwoven to Mixpanel properties and events.
    3. Support bulk operations to handle large sets of events and user properties.
  • API Interaction:
    The connector should use the Mixpanel API for sending user profile data, tracking events, and managing properties. API documentation can be found here:
    Mixpanel API Documentation

  • Data Format:
    Data sent to Mixpanel must follow the required structure for events, profiles, and properties. This includes properly formatted JSON data for events and user attributes.

  • Error Handling:
    The connector should handle errors gracefully, including:

    • Invalid API tokens.
    • Data format or validation errors.
    • API rate limit issues or quotas.

Steps to Implement

  1. Authentication Setup:

    • Implement token-based authentication using the Mixpanel Project Token to securely communicate with the Mixpanel API.
  2. Connector Configuration:

    • Create a configuration file that accepts the necessary parameters, such as api_token and optionally project_id.
  3. API Integration:

    • Implement the logic to:
      • Sync user profile data from Multiwoven to Mixpanel.
      • Track and log custom events in Mixpanel, such as user actions or transactions.
      • Update user properties based on the synced data.
    • Support bulk operations for sending multiple events or user data at once.
  4. Field Mapping:

    • Enable users to map data fields from Multiwoven to Mixpanel’s event and profile fields.
    • Support both standard and custom attributes for user profiles and event properties.
  5. Error Handling & Logging:

    • Implement error handling for issues such as authentication failures, invalid data formats, and API rate limits.
    • Provide detailed logs for both successful and failed API interactions.
  6. Testing:

    • Write unit tests and integration tests to ensure the connector’s functionality.
    • Simulate API interactions using mocks to test the syncing of user profiles, event tracking, and property updates.
  7. Documentation:

    • Provide a detailed README.md explaining how to configure and use the connector.
    • Include examples of syncing user profiles, tracking custom events, and updating properties.

Acceptance Criteria

  • The connector successfully syncs data with Mixpanel, including user profiles, custom events, and properties.
  • Proper error handling is implemented, and logs are available for troubleshooting.
  • Unit and integration tests cover all key scenarios, such as event logging, user profile syncing, and property management.
  • Comprehensive documentation is provided for users to configure and use the connector.

Resources

Mohith93 avatar Sep 30 '24 18:09 Mohith93

Can I work on this issue?

Atharva1723 avatar Oct 09 '24 04:10 Atharva1723

Hi @Atharva1723,

I hope you're doing well! I wanted to follow up on this issue, you've been working on.

Could you provide an update on the current status or let me know if you’re facing any challenges? I'm happy to assist or answer any questions you may have.

Thank you for your continued contributions to the project. Your efforts are greatly appreciated, and we’re excited to see your progress!

Mohith93 avatar Oct 21 '24 08:10 Mohith93

Hi @Atharva1723,

I hope you're doing well! I wanted to follow up on this issue, you've been working on.

Could you provide an update on the current status or let me know if you’re facing any challenges? I'm happy to assist or answer any questions you may have.

Thank you for your continued contributions to the project. Your efforts are greatly appreciated, and we’re excited to see your progress!

I have started working to build an new project to make an connector , have configured the environment ,setting up the api authentication and further steps, since this is an major issue taking long time sorry for the delay

Atharva1723 avatar Oct 21 '24 14:10 Atharva1723

@Atharva1723 Just wanted to get an update from you is all. No worries, take your time.

Mohith93 avatar Oct 22 '24 03:10 Mohith93

Hi @Atharva1723 just found this repo, and this seems super cool. I have the exact case of doing reverse etl to Mixpanel, so if you need some feedback for it, let me know - Am very keen to try this out!

cbrandborg avatar Nov 07 '24 09:11 cbrandborg

Hi @Atharva1723 Checking in with you to see if you had any questions or concerns. Please share an update here or get your queries answered on our slack. Thanks.

Mohith93 avatar Nov 28 '24 05:11 Mohith93

Hey @cbrandborg Check out our slack and let us know if we can be of any help in getting this up and running for you.

Mohith93 avatar Nov 28 '24 05:11 Mohith93

@Mohith93 @afthabvp have raised a PR https://github.com/Multiwoven/multiwoven/pull/556/ on Feature Request: Mixpanel Destination Connector, please review it.

xyfer17 avatar Dec 30 '24 05:12 xyfer17