Skip to content

Easily synchronize actor information to CRMs & third-party systems e.g. Mixpanel, Mailchimp etc.

License

Notifications You must be signed in to change notification settings

subomi/actor_sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Actor Sync

Automatically synchronise actor information to your third party systems e.g. Mixpanel, Sendgrid, Segment etc. I currently use this in production on Frain.

Getting Started

config/initializers/actor_sync.rb

ActorSync.configure do |config|
   config.sync = true
   config.mixpanel = { project_token: '' }
   config.mailchimp = { api_key: '' }
end

app/models/user.rb

class User < ApplicationRecord
   include ActorSync

   actor_sync :mixpanel
   actor_sync :mailchimp, audience: monthly_mailing_lists

   def data_to_export_to_mixpanel
      {
         '$first_name': profile.first_name,
         '$last_name': profile.last_name,
         '$email': email
      }
   end
end

app/models/company.rb

class Company < ApplicationRecord
   include ActorSync

   actor_sync :mixpanel, group: true

   def data_to_export_to_mixpanel
      {
         '$name': name,
         'products': products_count
      }
   end
end

TODO

  • Write more tests.
  • Add Instrumentation
  • Add support for other activejob backends - Resque etc.
  • Add support for NoSQL Databases
  • Add support for Sinatra (Non-Rails environment)
  • More documentation
  • Add rake tasks to manually sync data
  • Add support for mixpanel lookup tables

About

Easily synchronize actor information to CRMs & third-party systems e.g. Mixpanel, Mailchimp etc.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published