---
title: Roller Integration
description: Roller Integration Guide
---

[Skip to content](https://kbhelp.humanitru.com/knowledge/roller-integration#main-content)

English

Show submenu for translations

[Contact us](https://kbhelp.humanitru.com/knowledge/kb-tickets/new?hsLang=en)

[![Humanitru-logo-green-horiz-lo-rez-web-main-RGB-3.png\]](https://kbhelp.humanitru.com/hs-fs/hubfs/Humanitru-logo-green-horiz-lo-rez-web-main-RGB-3.png?height=40&name=Humanitru-logo-green-horiz-lo-rez-web-main-RGB-3.png)](https://kbhelp.humanitru.com/knowledge?hsLang=en)

Open main navigation

Close main navigation

- English
  
  Show submenu for translations
- [Contact us](https://kbhelp.humanitru.com/knowledge/kb-tickets/new)

 Hello. How can we help?

- There are no suggestions because the search field is empty.

1. [Help Center](https://kbhelp.humanitru.com/knowledge?hsLang=en)
2. [Integrations](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en)
3. [Roller](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#roller)

# Roller Integration

## Roller Integration Guide

### OVERVIEW

Your Alpine database can be configured to automatically integrate with your Roller account, syncing over ticket admissions, check-ins, and membership payments, on a regular basis. Never miss a beat again and see comprehensive data in one place, your Alpine database, without worrying about manually needing to do exports and imports.

### WHAT WE PUSH INTO ROLLER

This integration pulls information from Roller; your Alpine database does not push data to your Roller account. If you update data originally created in Roller from Alpine, it will not update in Roller.

### WHAT WE PULL FROM ROLLER

On a nightly basis, Alpine will pull all Transactions from Roller from the last time it synced—meaning that Alpine will be at most only 24 hours behind the latest data within Roller.

- **Customer Data**: Customer profiles including names, emails, phone numbers, and addresses
- **Booking Data**: Bookings with their associated products, statuses, and customer relationships
- **Product Data**: Product information including types, subtypes, and names
- **Ticket Data**: Individual tickets associated with bookings
- **Attendance Data**: Check-in records for events and sessions

### CONSTITUENT MAPPING

All Alpine Actions will be associated with one Constituent, matched by customer email from Roller.

 

| **Roller Field** | **Alpine Constituent Field** |
| --- | --- |
| `firstName` | First Name |
| `lastName` | Last Name |
| `email` | Email |
| `contactNumber` | Phone |
| `address` | Address |

 

**Constituent Creation Rules:**

- Constituents are only created for customers with valid bookings (not cancelled)
- Customers must be associated with valid products (memberships, sessions, or donations)
- Email address is required for Constituent creation
- Bookings must be created after the integration start date

### ACTION TYPE MAPPINGS

Every Roller booking can encompass several different Alpine Actions: one Roller booking may involve tickets to sessions, as well as membership purchases. This means that each Roller booking will correspond to several Alpine Actions, grouped by the following criteria:

#### Membership Payment Actions

Within a Roller Booking, all items with product type "pass" and sub\_type "membership" will be combined into a single Alpine Action of Type **Membership Payment**.

 

| **Roller Field** | **Alpine Action Field** |
| --- | --- |
| `bookingReference` | Notes (as "\[ROLLER\] Booking Reference") |
| `bookingDate` | Date (Happened At / Action Date) |
| Multiple `bookingItemId`s | Ticket Quantity |
| Sum of item prices | Amount |
| `bookingEndDate - bookingDate` | Membership Length |
| `bookingStatus` | Notes (as "Status") |
| `bookingItemId` | Notes (as "\[ROLLER\] Booking Item ID") |
| `productName` | Campaign Name |
| `productId` | Campaign |

 

**Grouping Logic**: Multiple membership items within the same booking combine into a single Membership Payment Action. For example, a Roller booking with one Primary Adult and one Secondary Adult appears on the same Membership Payment Action. The notes section would look like:

> Family Membership - Primary Adult - 1  
> Booking Fee: 4.61  
> Family Membership - Second Adult - 1  
> Status: Paid

**NOTE:** For Roller membership purchases that include additional cardholders (e.g., family memberships), the current integration will:

- Only create a Membership Payment Action for the primary booking customer
- Not automatically identify or link secondary cardholders
- Not establish relationships between primary and additional cardholders in Alpine

#### RSVP Actions (Ticket Purchases)

Within a Roller Booking, all items that have product type "pass" and sub\_type "session", "recurringsessions", or null will be combined into a single Alpine Action of Type **RSVP**.

 

| **Roller Field** | **Alpine Action Field** |
| --- | --- |
| `bookingDate` | Date (Happened At / Action Date) |
| `bookingReference` | Notes (as "\[ROLLER\] Booking Reference") |
| Multiple `bookingItemId`s | Ticket Quantity |
| Sum of item prices | Amount |
| `bookingStatus` | Notes (as "Status") |
| `bookingItemId` | Notes (as "\[ROLLER\] Booking Item ID") |
| `bookingFeeAmount` | Notes (if present) |
| `productName` | Campaign Name |
| `productId` | Campaign |

  

**Grouping Logic**: Multiple ticket items within the same booking reference are combined into a single RSVP Action.

#### Check-In Actions

Attendance records that can be matched to existing Roller will be synced in Alpine as **Check-In** Actions.

  

| **Roller Field** | **Alpine Action Field** |
| --- | --- |
| `checkInDate` | Date (Happened At / Action Date) |
| `bookingReference` | Linked to corresponding RSVP Action |
| `bookingItemId` | Notes (as "\[ROLLER\] Booking Item ID") |
| `checkInDateTime` | Notes (as Event Start Time: {datetime}) |
| `productName`(grouped) | Notes |

 

**Matching Logic**: Check-in Actions are created from attendance records and are matched to their corresponding purchase (RSVP) Actions by linking them via a combination of the `bookingReference ID`, `bookingItemId` (item ID), and Action type. This ensures accurate matching, especially in cases where multiple items are present in a single booking.

### BOOKING STATUS HANDLING

#### Cancelled Bookings

- When Roller bookings are cancelled, the integration processes them during the next nightly sync cycle.
  
    - Partially cancelled bookings: The integration updates Alpine Actions to reflect current quantity and amount
    - Fully cancelled bookings: The integration removes the corresponding Alpine Action

#### Valid Product Filtering

Only bookings associated with the following product types are processed:

- **Memberships**: `type` = "pass" AND `sub_type` = "membership"
- **Sessions**: `type` = "pass" AND `sub_type` IN \["session", "recurringsessions", null\]

### **CONNECTING TO YOUR ROLLER ACCOUNT**

To integrate your Roller account, some prerequisites must be met. Ensure that the necessary Roller integration fields are present under the "Integrations" tab in the client's Alpine database. If these fields are missing, submit a support ticket for an engineer to create the integration, making the Roller fields available.

Next, you'll need API credentials from your Roller account to connect it to Alpine. Follow these steps to create a Roller API Key:

**Create API Key**

1. Log into your Roller account.
2. Navigate to "Settings" \> "Integrations."
3. Click "Create client key."
4. Select "API Key" and name it "Humanitru."
5. Click "Create."

Once the API fields are established, clients have two options:

1. Users can input existing API credentials into Alpine to start the sync. This includes the Roller Client ID and Roller Client Secret. If no sync date is set, the system syncs all Roller records from the last 6 months.
2. If you need to begin syncing data from a specific historical date rather than the default period, a custom configuration is required. Please contact your Customer Success Manager to initiate this request and coordinate the setup.

### TECHNICAL CAVEATS

#### Data Scope Restrictions

- If a booking created in Roller before the sync start date is later canceled, Alpine will not track the cancellation. This creates an unmatchable scenario where Roller's historical data shows the original booking, but Alpine has no corresponding record for reconciliation
- Requires valid email addresses for Constituent creation
- Identity changes: The Roller integration does not automatically update existing Constituent records when customer identity information changes in Roller. If a customer updates their name or email address in your Roller system, these changes will not be reflected in their corresponding Alpine Constituent profile. In cases where email addresses are changed, this may result in the creation of duplicate Constituent records during the next sync. To maintain data accuracy, you will need to manually update Constituent information in Alpine when customers make identity changes in Roller, and periodically review for potential duplicate records that may be created due to email address changes.

#### Technical Limitations

- Donation processing is currently disabled in the code

- [Humanitru Database](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#main-content)

    - [Getting Started](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#getting-started)
    - [General Alpine Training](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#general-alpine-training)
    - [Settings](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#settings)
    - [Integration](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#integration)
    - [Dashboard](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#dashboard)
    - [Constituents](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#constituents)
    - [Reports](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#reports)
    - [Actions](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#actions)
    - [Tags](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#tags)
    - [Campaigns](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#campaigns)
    - [Notifications](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#notifications)
    - [Stewardship Automation](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#stewardship-automation)
    - [Donor Insights](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#donor-insights)
    - [Grant Management](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#grant-management)
    - [Bulk Uploader](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#bulk-uploader)
    - [Opportunity Pipelines](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#opportunity-pipelines)
    - [Payment Processors](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#payment-processors)
    - [Pledge](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#pledge)
    - [Training By Role: Executive Director](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#training-by-role-executive-director)
    - [Training By Role: CDO/Director of Development](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#training-by-role-cdo-director-of-development)
    - [Training By Role: Marketing/Communications](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#training-by-role-marketing-communications)
    - [Training By Role: Event Coordinator](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#training-by-role-event-coordinator)
    - [Training By Role: Accounting](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#training-by-role-accounting)
    - [Training By Role: Program Management](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#training-by-role-program-management)
    - [Training By Role: Database Admin/Fundraising Coordinator](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#training-by-role-database-admin-fundraising-coordinator)
    - [Training By Role: Volunteer Management](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#training-by-role-volunteer-management)
    - [Households](https://kbhelp.humanitru.com/knowledge/humanitru-database?hsLang=en#households)
- [Fundraising Pages](https://kbhelp.humanitru.com/knowledge/fundraising-pages?hsLang=en#main-content)

    - [General](https://kbhelp.humanitru.com/knowledge/fundraising-pages?hsLang=en#general)
    - [Recurring Donations](https://kbhelp.humanitru.com/knowledge/fundraising-pages?hsLang=en#recurring-donations)
- [Evergreen Events](https://kbhelp.humanitru.com/knowledge/evergreen-events?hsLang=en#main-content)

    - [Getting Started with Evergreen](https://kbhelp.humanitru.com/knowledge/evergreen-events?hsLang=en#getting-started-with-evergreen)
    - [Event Management](https://kbhelp.humanitru.com/knowledge/evergreen-events?hsLang=en#event-management)
    - [Volunteer Management](https://kbhelp.humanitru.com/knowledge/evergreen-events?hsLang=en#volunteer-management)
    - [Program Management](https://kbhelp.humanitru.com/knowledge/evergreen-events?hsLang=en#program-management)
- [Integrations](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#main-content)

    - [ACME](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#acme)
    - [Active Campaign](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#active-campaign)
    - [Constant Contact](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#constant-contact)
    - [DonorSearch](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#donorsearch)
    - [Eventbrite](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#eventbrite)
    - [Fundraise Up](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#fundraise-up)
    - [Galaxy Digital](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#galaxy-digital)
    - [GoFundMe Pro / Classy](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#gofundme-pro-classy)
    - [Handwrytten](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#handwrytten)
    - [Latitude Learning](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#latitude-learning)
    - [Mailchimp](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#mailchimp)
    - [Microsoft Outlook](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#microsoft-outlook)
    - [MinistrySafe](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#ministrysafe)
    - [NCOA](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#ncoa)
    - [PayPal](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#paypal)
    - [Quickbooks](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#quickbooks)
    - [Roller](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#roller)
    - [RunSignUp](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#runsignup)
    - [Sage Intacct](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#sage-intacct)
    - [Shopify](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#shopify)
    - [SmartyStreets](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#smartystreets)
    - [Square](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#square)
    - [Stripe](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#stripe)
    - [TicketSpice](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#ticketspice)
    - [Ticketure](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#ticketure)
    - [Twilio](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#twilio)
    - [VolunteerHub](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#volunteerhub)
    - [Windfall](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#windfall)
    - [WooCommerce](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#woocommerce)
    - [Cuseum](https://kbhelp.humanitru.com/knowledge/integrations?hsLang=en#cuseum)
- [Product Updates](https://kbhelp.humanitru.com/knowledge/product-updates?hsLang=en#main-content)

    - [2026](https://kbhelp.humanitru.com/knowledge/product-updates?hsLang=en#2026)

[![Chill listening crop-3](https://kbhelp.humanitru.com/hs-fs/hubfs/Humanitru-logo-green-horiz-lo-rez-web-main-RGB-3-1.png?width=100&height=24&name=Humanitru-logo-green-horiz-lo-rez-web-main-RGB-3-1.png "Chill listening crop-3")](http://humanitru.com)

Copyright © 2026, Humanitru