Skip to content

An application that continuously syncs Memberful member data to external services

License

Notifications You must be signed in to change notification settings

mrjackyliang/memberful-sync

Repository files navigation

Memberful Sync

GitHub Releases GitHub Top Languages GitHub License Become a GitHub Sponsor Donate via PayPal

An application that continuously syncs Memberful member data to all external services. Supported integrations will be listed below. Additional integrations may come in the future (accepting pull requests).

To use Memberful Sync, you would need to:

  1. Install the dependencies
  2. Configure the Memberful Sync application
  3. Start the application using npm start

Install Dependencies

Before configuring and starting the application, make sure to install the dependencies and required packages.

  1. Install Homebrew and run brew install node
  2. Tap into the application directory with cd memberful-sync
  3. Install dependencies by running npm install

Configuration

In the project folder, you will find a config-sample.json file. Each section enables an integration and must be configured correctly. If you wish to disable an integration, you may omit the section from the configuration.

  1. Base Settings
  2. Intercom
  3. WordPress

1. Base Settings

For Memberful Sync to start, these settings should be filled.

Key Type Description Required Accepted Values
settings object no
settings.memberful-api-key string yes Read Memberful API Authentication
settings.memberful-subdomain string yes A URL of https://example123.memberful.com would have a subdomain of example123
settings.time-zone string Preferred time zone yes More time zones found in the tz database
settings.log-level number Verbosity level configured for logging yes 10 (error), 20 (warning), 30 (information), or 40 (debug)
{
  "settings": {
    "memberful-api-key": "",
    "memberful-subdomain": "",
    "time-zone": "Etc/UTC",
    "log-level": 30
  }
}

2. Intercom

Easily sync Memberful data to Intercom. Before enabling integration, you must set custom attributes in your workspace. To set custom attributes, go to Settings > Your workspace data > People data.

The custom attributes are as follows:

  • credit_card (text)
  • discord_user_id (text)
  • downloads (text)
  • last_updated (date)
  • postal_code (text)
  • stripe_customer_id (text)
  • subscriptions (text)
  • total_spend (decimal number)
  • unrestricted_access (true or false)

Note: If custom attributes aren't set properly, errors will occur when attempting to update or create a new contact.

Key Type Description Required Accepted Values
intercom object no
intercom.access-token string Access token to access Intercom API no Read How to get your access token
{
  "intercom": {
    "access-token": ""
  }
}

3. WordPress

Integration is being built! Coming Soon!

Key Type Description Required Accepted Values
wordpress object no
wordpress.application-password string Application password to access WordPress API no Read How to use Application Passwords in WordPress for REST API Authentication
{
  "wordpress": {
    "application-password": ""
  }
}

About

An application that continuously syncs Memberful member data to external services

Resources

License

Stars

Watchers

Forks

Packages

No packages published