Prospect2 and Tessitura

Prospect2 is a marketing automation platform designed for your entire organization. By harnessing the power of Tessitura and the REST API, Prospect2 automates marketing processes that facilitate the customer experience. The entire application is sensitive to organization and control grouping in order to accommodate consortium complexities.


Before retrieving key data from the Tessitura API, Prospect2 must request a new web session key from Tessitura. That key is then passed to Prospect2’s custom procedures in Tessitura using the Organization Name parameter to decide which data will be returned. Explore this article to learn more details about the integration.

Integration Points

There are several key components to Prospect2’s Tessitura integration:

  • Tessitura database
  • Custom Screen
  • Imports
  • Segment Transfers
  • Scheduled Triggers
  • Promotions
  • Customer Service Issues
  • Contact Point Purposes
  • Data Sync
  • Webhooks

Tessitura Database

Prospect2 integrates with Tessitura through a multitude of tables, views and stored procedures. These objects are created with one script at the time of installation.

Custom Screen

The Prospect2 Custom Screen is available on the custom tab of a constituent record and displays subscription and opt-out information for the logged in users organization. It also allows a Tessitura user to add a constituent email address, subscribe it to one or more lists, add/remove tags, or view recent activity and history from Prospect2.

Imports

The Import feature imports email addresses into Prospect2 from contacts in a List Manager list in Tessitura. Contacts will have your defined Tag(s) applied and can also be added to a list.

Segment Transfers

The Segment Transfer feature creates a Tessitura List Manager list based on email addresses inside of Prospect2 that match with a Constituent Record in Tessitura.

Scheduled Triggers

The Scheduled Trigger feature triggers a set of actions for specific contacts based on performance or custom view data in Tessitura.

Promotions

The Promotions feature tracks key actions contacts take on standard email campaigns back to Tessitura by allowing the association of a Tessitura source number.

Webhooks

Webhooks ensure specific data between Prospect2 and Tessitura remain synchronized. Each time a significant action is taken in Prospect2, a webhook is fired to Tessitura to update promotion records tied to source numbers recorded in Prospect2. Webhooks are fired for the following actions:

  • List Subscribe
  • List Unsubscribe
  • Campaign Open
  • Campaign Clicked
  • Hard Bounced Emails
  • Tag Added
  • Tag Removed
  • New List Created

When Tessitura receives a webhook, it takes the appropriate action with the information received to keep that element of the database updated with Prospect2 data. This level of communication ensures that both databases are always working from the most up-to-date information.

Installation

While the details of installation are covered in our onboarding process, we’ve provided an overview below for reference. The Prospect2 installation script will be provided at the appropriate stage of onboarding.  

Prospect2 will need API access to your LIVE API endpoint. In order for Prospect2 to communicate with Tessitura, you need to create a firewall rule to allow API access from following IP addresses on port 443 or your HTTPS port:
54.191.228.81
54.191.175.190
44.235.73.197
44.236.25.232
54.189.45.188
54.186.68.203
52.10.222.185
44.237.158.139

1

Run the Install Script

Once complete, send an email to help@prospect2.com that includes the IDs from TR_LOCAL_PROCEDURE for all of the Prospect2 procedures that were registered in that table by the install script. The output of the script will contain these IDs. If you customize any procedure, be sure to create a separate, localized version of the procedure. This ensures that any future updates to the Prospect2 install script do not overwrite your customizations.

2

Insert the key in the Prospect2 row in TR_CUSTOM_TAB

The install script will create a placeholder row in TR_CUSTOM_TAB for the web-based Prospect2 Custom Screen. The script will also create a new record in T_APP_OBJECTS to generate a new object_id and provide a friendlier way to spot the Pro2 Custom Screen in the Tessitura Security Module. There will be key data needed to make the screen function which will be provided during the Technical Checkout, which confirms Prospect2's connectivity to Tessitura and other functions are operational.

Consortium members: each member organization will receive its own control grouped Prospect2 Custom Screen radio button.

Security

During account setup, you will provide us with the Tessitura Security Group ID for the Prospect2 user. If the user changes group, you will need to provide us with the updated Group ID. The user created in Tessitura for the Prospect2 integration should be of user type 'API' to prevent issues with password expiration, etc.

Ideally, the user is granted full permissions to all resources as Prospect2 grows in functionality. By enabling full permission, it prevents the need to edit permissions as new features are added. When creating or selecting your Prospect2 user, the user will need read/write/edit/delete on the following resources:

* indicates a required item

Resource

Function

CRM/ContactPointPurposeMaps For Contact Point Purpose (CPP) integration
CRM/Issues For Customer Service Issues (CSI) integration
CRM/SpecialActivities To access Special Activities
Custom To execute all of our P2 database objects
Diagnostics To verify if we can reach your API server
ReferenceData/ActivityCategories For Customer Service Issues (CSI) integration
ReferenceData/ActivityTypes For Customer Service Issues (CSI) integration
ReferenceData/ContactTypes For Customer Service Issues (CSI) integration
ReferenceData/SpecialActivityStatuses To access Special Activity Statuses
ReferenceData/SpecialActivityTypes To access Special Activity Types
ReferenceData/SystemDefaults To access only the Prospect2 settings within T_DEFAULTS

T_DEFAULTS

Complete the T_DEFAULTS for Prospect2 items for your organization. You may not have values for all of them initially; they can be added later. Complete any that you know, most importantly the "P2DefaultControlGroup" column if you are in a consortium.

Items marked with an (*) are required for proper system functions. Items marked with a (+) are used with Prospect2 Scheduled Triggers.

We assume a default value for the following elements:

  • P2SuppressSeasonTypes
  • P2SuppressConstituencies
  • P2ScheduledListCat
  • P2SuppressPerfTypes
  • P2ListManagerSuppressions
  • P2SMSPhoneType
  • P2DefaultEaddressType
  • P2DefaultControlGroup
  • P2DefaultSliStatusList
  • P2PromoSearchDays

P2DefaultEAddressType

If you need to create a new e-address type for Prospect2, do that now. Otherwise, you can utilize an existing e-address type. Make sure that if you create a new e-address type or select an existing address type that it is available to the organization/parent table for your organization. This is done by verifying that the security groups for your Prospect2 API User all have control group access for the control group to which the e-address type belongs.

P2SMSPhoneType

If using SMS, define the phone type ID to be pulled with constituent data for Imports and Scheduled Triggers. If no value is defined here, no phone numbers will be imported when using the Prospect2 Import or Scheduled Triggers feature.

P2DefaultSource*

If needed, create a new email marketing appeal or use an existing appeal. It's best to use an appeal that doesn't have a start or end date so that the source number does not expire. If you have a business practice of creating a new appeal for each year for marketing purposes, then continuing that practice is fine, as long as you update your Prospect2 default source each year when you update all of your other default sources. There are several T_DEFAULTS that may be entered in Tessitura under your organization's web parent table. For consortia, it is imperative that each organization have their own web parent table that is connected with the organization's unique web database user.

P2UpdatePromoInBulk (*)

If set to "YES," then promotions are stored in the local table LT_P2_PROMOTION_UPDATE instead of being processed real time. That table may then be updated and emptied out on a regular schedule by setting up a scheduled database routine using the procedure LP_P2_UPDATE_PROMOTIONS_IN_BULK. NO is the default; promotions are updated in real time.   

P2DefaultSliStatusList (+)

The initial default value for this is 2,3,6,12 This is a comma-separated list of sub-line item (SLI) status Ids that should be included when selecting patrons for Performance-based Scheduled Triggers. If editing this default, make sure to only use a comma-separated list with no spaces between SLI status ids. SLI status IDs may be found in TR_SLI_STATUS

P2DefaultEaddressType (*)

The default eaddress type that Prospect2 will use to create new eAddresses whenever a new address needs to be made.

P2DefaultControlGroup (Deprecated)

This was previously used to define the control group ids used to filter secured data for Prospect2. Now the control grouping is handled by the security context of the Prospect2 API User.

P2ScheduledListCat (*)

The list category used to store lists created by Prospect2's Performance-Based Scheduled Triggers procedures so that you can keep track of those in one place.

P2SuppressConstituencies (+)

A comma-separated list of constituency IDs that should be used to suppress customers that you don't want to include in any Scheduled Trigger. Leave blank if none.

P2SuppressSeasonTypes (+)

A comma-separated list of season types to suppress from performances that are eligible for Scheduled Triggers. Leave blank if none.

P2SuppressPerfTypes (+)

A comma-separated list of performance types to suppress from performances that are eligible for Scheduled Triggers. Leave blank if none.

P2ListManagerSuppressions(+)

This is used to suppress any constituents on a particular List Manager list when a Performance-Based Scheduled Trigger runs. Leave blank if none. Dynamic lists are regenerated prior to deployment.

P2InsertSpecialActivities

Set to "YES" if using the Prospect2 Special Activity integration and you’d like an RSVP record to be created when one is not found for the respondent email.

P2SpecActivityUpdateOnPrimary

Set to "YES" to limit the Tessitura Special Activity RSVP record search to only constituents where the respondent email is the primary email address for that record.

This is used to define the number of days in the past Prospect2 should search for sources to make available for associating with an email campaign on the Campaign Promotions form of the Integrated Dsahboard.

Still need help? Contact Us Contact Us