This article will walk you through the process of getting started with the TicketSpice integration for your Alpine database
OVERVIEW
Your Alpine database can be configured to automatically integrate with your TicketSpice 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 TO TICKETSPICE
This integration pulls information from TicketSpice; your Alpine database does not push data to your TicketSpice account. If you update data originally created in TicketSpice from Alpine, it will not update in TicketSpice.
WHAT WE PULL FROM TICKETSPICE
On a nightly basis, Alpine will pull all data from TicketSpice from the last time it synced; meaning that Alpine will be at most only 24 hours behind the latest data within TicketSpice.
-
Registrant Data: Registrant information including names, emails, phone numbers, and addresses
-
Order Data: Orders with their associated forms, statuses, and customer relationships
-
Ticket Data: Individual tickets associated with orders, including ticket amounts and scan status
CONSTITUENT MAPPING
Every customer who purchases a ticket in TicketSpice becomes a Constituent in Alpine. Alpine matches customers by their email address, so if someone makes multiple purchases, they'll appear as one person with multiple Actions.
|
TicketSpice Field |
Alpine Constituent Field |
|
|
|
|
|
Name |
|
|
Email Salutation |
|
|
Phone |
|
|
Address |
NOTE: Only customers with at least one completed ticket (status = 'completed') will be imported into Alpine. Customers with only cancelled or incomplete orders will not appear.
ACTION TYPE MAPPINGS
Actions represent what your constituents do, such as purchasing tickets and checking in at events. Alpine creates two types of Actions from TicketSpice data:
RSVP Actions (Ticket Purchases)
Created when someone completes a ticket order in TicketSpice.
|
TicketSpice Field |
Alpine Action Field |
|
|
Date (Happened At / Action Date) |
|
|
Amount |
|
Calculated from number of tickets in TicketSpice order or form |
Ticket Quantity |
|
|
Notes |
|
|
Campaign Name |
|
|
Campaign |
NOTE: Each TicketSpice form (event) becomes a Campaign in Alpine. All campaigns from TicketSpice are organized under the category [Ticketspice] Events for easy filtering and reporting.
Example Notes Format:
3 RSVPs
[Ticketspice] Order ID: 01ABC123XYZ
2x - General Admission – ID: 02ABC345XYZ, 03ABD456XYZ
1x VIP ID: 12ABC789XYZ
Check-In Actions
Created when tickets are scanned/checked in at an event. These Actions are only created if the tickets have been scanned.
|
TicketSpice Field |
Alpine Action Field |
|---|---|
|
|
Date (Happened At / Action Date) |
|
|
Notes |
|
|
Campaign |
Example Notes Format:
[TicketSpice] Check-in - Order ID: 01ABC123XYZ
Event Start Time: 2025-03-15 19:30:00
2x - General Admission – ID: 02ABC345XYZ, 03ABD456XYZ
1x VIP ID: 12ABC789XYZ
Complete Example
Let's look at a real-world example to see how everything connects:
Scenario: Sarah Johnson buys 2 tickets to your "Spring Gala 2025" event in TicketSpice, then attends the event and gets her tickets scanned.
What appears in Alpine:
-
One Constituent: Name, email, phone number, and address
-
One Campaign: e.g. Spring Gala 2025 (in the '[Ticketspice] Events' category)
-
Two Actions linked:
a. Ticket Purchase Action:
-
Kind: ticket
-
Date: When they bought the tickets
-
Amount: $200.00
-
Quantity: 2 tickets
-
Campaign: Spring Gala 2025
b. Check-In Action:
-
Kind: check_in
-
Date: When tickets were scanned at the event
-
Campaign: Spring Gala 2025
SYNC DETAILS
Timing: Nightly
Data is synchronized nightly from TicketSpice to Alpine. This is not a real-time sync.
Constituent Matching: Email
When matching TicketSpice orders to existing Constituents, Alpine first checks for a matching email address. If none is found, a new Constituent record is created.
Skip Logic for Duplicates
If a Constituent with the same email exists, no new record is created: fields are only updated if blank.
Action Matching: Yes
Each TicketSpice order is imported with its unique Order ID to prevent duplicate Actions and ensure reliable, idempotent syncing.
ORDER HANDLING
Cancelled Orders
If all tickets in an order are cancelled in TicketSpice, the associated Actions will be removed from Alpine on the next sync. This ensures your data stays accurate and reflects only actual ticket sales.
Partial Cancellations
If someone bought 3 tickets but cancelled 1, the action will remain in Alpine showing 2 tickets instead of 3. The dollar amount and ticket quantity will update accordingly.
CONNECTING TO YOUR TICKETSPICE ACCOUNT
To integrate your TicketSpice account, some prerequisites must be met. Ensure that the necessary TicketSpice 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 TicketSpice fields available.
Next, you'll need API credentials from your TicketSpice account to connect it to Alpine. Follow these steps to create a TicketSpice API Key:
Create API Key
-
Log into your TicketSpice account.
-
Navigate to "Extras" > "Integrations."
-
Click "API Keys."
-
Click "Add API Key" and name it "Humanitru."
-
Click "Update Key."
After creation, clients should give their API key to their Customer Success Manager, who will relay it to the engineering team to connect the integration.