Introduction to TixTrack's Salesforce Connector

The TixTrack Connector allows organizations to sync data in near real time between Salesforce and Ticketure. This sync process enables organizations to leverage the power of Salesforce's CRM tools and capabilities, with the comprehensive Admissions, Membership, and Time Admission solution of Ticketure.

At the center of this sync process is an entirely self-contained AppExchange managed package that requires no additional 3rd party services. This decreases complexity, risk, and maintenance costs for subscribers and TixTrack.

The following diagram depicts the major architectural components of the Connector. It’s important to note that this is not a comprehensive or exhaustive technical description, as this is intended to help Administrators understand the architecturally significant components for purposes of setup and support.

Salesforce_Connector_Architecture.png

TixTrack to Salesforce

TixTrack pushes “webhooks” to Salesforce in near real-time. These webhooks inform Salesforce of various events and data. For example, the identity_changed webhook informs the recipient of a new or changed identity (person or organization).

Webhooks are saved to a Salesforce “Platform Event” queue, a robust system for processing millions of events in a scalable, resilient, and performant manner. Salesforce processes items in the queue in a “first in first out” (FIFO) order and processes them as resources are available.

Items in the queue are processed in batches. By default Salesforce will process in batches of up to 2,000, however, this is configurable via the TixTrack Connector Settings.

As items are processed, failures are logged to a separate custom object (TixTrack Error Log). Captured events may also be logged to the TixTrack Event Log object if the debugging package is enabled.

Items in the queue are processed by “handlers” each responsible for processing a single payload type. For example, identity_changed payloads are processed by a single handler, while ticket_audit payloads are processed by a separate handler.

Salesforce to TixTrack

Contacts, Organizations, and Memberships in Salesforce can be pushed in near real-time to TixTrack systems.

First, only new or changed records will be pushed provided all required fields on the record are present. Changed records only qualify if any of the fields that the connector monitors have changed. For example, in order for an existing contact record to be pushed, the First Name, Last Name, Email, or other fields must change in order for the record to be pushed. If the Fax number changes, for example, it will not be pushed as the TixTrack connector does not monitor the Fax number. The list of monitored fields is controlled by the TixTrack Entity Mapper which controls the source and destination of data passed between both systems.

Records qualified to be pushed are added to a separate custom object (TixTrack Queue Item) that will be processed asynchronously via an Apex “Queueable”. Generally, items in the queue are processed within a few seconds but can take up to a few minutes depending on volume. Any errors are logged directly on the Queue Item record. Although rare, some “catastrophic errors” may be logged to the TixTrack Error Log object.

Error Handling and Retry

TixTrack's Push API can deliver payloads “asynchronously”, meaning Ticketure may inform Salesforce about a ticket purchase (ticket_audit) before informing Salesforce about the new customer that purchased the ticket. Since Salesforce requires that the customer exist before creating the purchase, the ticket_audit payload will fail. The Connector has been built to handle this type of data handling with an automatic retry on all failed payloads to give time for dependencies to arrive and be created to be resolved.

For more information on TixTrack webhooks & payload details, please contact TixTrack Support and request access to the Ticketure Push API.

Connector Functional Overview

The TixTrack Connector for Salesforce enables organizations to synchronize their Customer/Contact, Ticketure purchases, and Memberships between Ticketure and Salesforce. This article outlines the supported features and overall configuration options that are possible within the connector.

The TixTrack Connector for Salesforce is a Salesforce Managed Package and can be found on the Salesforce App Exchange here and currently supports the following features:

  • Bi-directional sync of Ticketure Customers/Identities with Salesforce Contacts
  • Bi-directional sync of Ticketure Organizations/Identities with Salesforce Accounts
  • Bi-directional sync of Memberships Purchased/Renewed either within Ticketure or Salesforce.
  • Unidirectional sync of Carts and Tickets with Salesforce Opportunities and Opportunity Products (respectively), including donations, etc.
  • Support NPSP Household rules and creation of new Salesforce Contacts
  • Supports NPSP GAU Allocations enabling organizations to attribute payments to correct accounting “Funds”
  • Supports NPSP Payments (1 or multiple NPSP created or via Ticketure API)
  • Unidirectional push of new memberships from Salesforce to Ticketure
  • Unidirectional push of membership extensions from Salesforce to Ticketure.

The connector currently does not support:

  • Pushing any non Membership or edited carts from Salesforce into Ticketure
  • Changing Membership validity dates within Salesforce resulting in updated Membership dates in Ticketure

The following provides high-level instructions on how to install and set up the base connector. It does not include any instructions for deep configuration of Salesforce to align with a customer’s business requirements as this often falls within the scope of a Salesforce implementation engagement (typically with a Salesforce Partner).

Prerequisites & Assumptions

The following items are necessary before installation:

  1. Salesforce:
    1. Administrator access to Production and/or Sandboxes
    2. Lightning must be enabled in Salesforce
    3. Salesforce must utilize a “My Domain”
    4. If leveraging NPSP, ensure Salesforce org already has this installed. Setup doesn’t need to be complete, it just needs to be installed.
  2. Ticketure (this will all be set up by TixTrack Services):
    1. A valid production and sandbox tenant
    2. API credentials to the production tenant
    3. API credentials to the sandbox tenant

Ticketure's Salesforce Implementation team will coordinate with the Client's Salesforce Admin to gain access to the Salesforce environment with the proper credentials to install the Ticketure Packages. Upon completion of the installation, the Implementation team will provide a general walkthrough of the configuration options/best practices to Salesforce partner and organization.  

Assumptions

  • It is assumed that the Salesforce instance has enough available data storage to accept new records pushed by TixTrack systems.
  • It is assumed that the Salesforce instance is Enterprise, Unlimited, or Performance Edition.
  • It is assumed that the Salesforce instance has sufficient available resources for Custom Objects and Custom Fields.
  • TixTrack recommends that the Salesforce instance have 1 full Salesforce license dedicated for integration and/or automation purposes. This ensures continuity of service and adheres to security best practices.
Note

It is best practice to establish a 'Ticketure Integration' Salesforce user that will provide efficient auditing of what records were changed by the connector as well as provide a defined user for all security managed for Ticketure actions (including providing controlled Remote Access for the TixTrack Salesforce Support team via LMA).


Was this article helpful?
2 out of 2 found this helpful

Comments

0 comments

Article is closed for comments.