TicketSpice Integration

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

orderEmail

Email

billing.firstName + billing.lastName

Name

billing.firstName

Email Salutation

billing.phone

Phone

billing.address (all fields)

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

dateCreated

Date (Happened At / Action Date)

amount + fee

Amount

Calculated from number of tickets in TicketSpice order or form

Ticket Quantity

orderDisplayId + levelLabel + displayId + registrant.total

Notes

formName

Campaign Name

formId

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

 

dateLastScanned (max)

Date (Happened At / Action Date)

orderDisplayId + dateLastScanned (min) + displayId + levelLabel

Notes

formId

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:

  1. One Constituent: Name, email, phone number, and address

  2. One Campaign: e.g. Spring Gala 2025 (in the '[Ticketspice] Events' category)

  3. 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

  1. Log into your TicketSpice account.

  2. Navigate to "Extras" > "Integrations."

  3. Click "API Keys."

  4. Click "Add API Key" and name it "Humanitru."

  5. 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.