Integrating Contact Point Purposes
Tessitura Contact Point Purposes (CPPs) provide a simple approach to customizing communication preferences for individual email addresses within a constituent record in Tessitura. By integrating a CPP with a list or tag in Prospect2, it will allow you to seamlessly keep key data points updated between both applications.
In this Article:
Enabling Contact Point Purposes
To enable the use of Contact Point Purposes with Prospect2, a plugin needs to be installed. This plugin enables the list subscribe/unsubscribe or tag add/remove action from an email address in Prospect2 when an integrated CPP is added or removed from the email address in Tessitura.
Place the Appropriate File in the TessituraService/Plugins Folder on Your API Server
Place the appropriate DLL file for your version of Tessitura into the TessituraService/Plugins folder. Contact us at help@prospect2.com for the correct plugin that you'll need to install. Please include the current version of Tessitura that you are on. Example: v14.1, v15.1, etc
Place XML Between <PluginConfigs> and </PluginConfigs>
Place the following XML between <PluginConfigs> and </PluginConfigs> nodes of the PluginConfig.xml file located in the TessituraService folder.
<PluginConfigs> <PluginConfig> <UriMatch>CRM/ContactPointPurposeMaps/*</UriMatch> <Verb>DELETE</Verb> <FullPluginName>Prospect2Plugins.ContactPurposeUpdate</FullPluginName> <PluginPlacement>PRE</PluginPlacement> </PluginConfig> <PluginConfig> <UriMatch>CRM/ContactPointPurposeMaps</UriMatch> <Verb>Post</Verb> <FullPluginName>Prospect2Plugins.ContactPurposeUpdate</FullPluginName> <PluginPlacement>Post</PluginPlacement> </PluginConfig> </PluginConfigs>
Modify the Web.config File
Modify the Web.config file located in the TessituraService folder. Locate the key <add key="EnablePlugins" value=false"/> and set the value to True.
Save Your Changes
Save your changes by either recycling the IIS Application Pools for the API server or by performing an 'iisreset' from the command prompt of the API server to force the changes. Although this takes just a few seconds, it should be done during off-hours to avoid conflicts with any existing API sessions.
There is also a second key that can be modified when working in the Test system. The key is <add key="ReloadPluginConfig" value="false"/>. Setting this to 'true' will reload the plugin on each call to the service without requiring a restart.
This should never be set to 'true' in your LIVE production system.
Associating Contact Point Purposes with Prospect2 Lists or Tags
The Prospect2 Contact Point Purpose plugin must be installed prior to attempting CPP assignments.
T_DEFAULTS
In the T_DEFAULTS table, locate the following field names
- P2UpdateContactPurpose: Set the Default Value to 'YES.' Setting the value to 'NO' will cause webhooks to be rejected
- P2ApiUrl: Set the Default Value to your Prospect2 API URL
- P2ApiKey: Set the Default Value to the Key listed in your Prospect2 dashboard
These two keys can be found in your Prospect2 dashboard under the Development tab within Settings
TR_CONTACT_POINT_PURPOSE_CATEGORY
The values in this table are used to group and control-group Contact Point Purposes. Our process checks to see if 'prospect2%' exists in the description column of this table. If it does not exist, a row is automatically created with the description of 'Prospect2 CPP's'
Create the desired Purposes and select the Control Group, if applicable.
The description name can be customized by your organization without impacting Prospect2 processes. Your organization can utilize an existing CPP category, or update the description of 'Prospect2 CPPs' should they desire to do so.
Consortiums:
Consortiums can apply multiple Contact Point Purpose Categories and use the Control Group column to designate specific CPP categories, per organization.
TR_CONTACT_POINT_PURPOSE
Create the desired Contact Point Purpose and select the appropriate Purpose Category. There can only be one CPP assigned per Prospect2 list or tag.
To integrate with Tags, the Contact Point Purpose Description and the Prospect2 tag must be wrapped in straight brackets; Ex: [TagName]
Keep in mind that implementing Contact Point Purposes does not automatically update retroactively. Contacts in lists or with tags that exist prior to the association of the CPP in question will not have CPP automatically applied in Tessitura.
Should you wish to proceed with a CPP integration with an existing list or tag, there is a process to backfill existing List Subscribes and/or Tags. It will update assigned CPPs to existing email addresses in Tessitura.
Please reach out to us at help@prospect2.com for assistance if you would like this done for an existing list or tag.
TX_CONTACT_POINT_CATEGORY_PURPOSE
Create a row for each integrated Contact Point Purpose and select the Email Address Contact Point Category from the dropdown.
Prospect2 currently only integrates with email address-level Contact Point Purposes, so each integrated CPP must be assigned the Email Address Contact Point Category in order to appear on email addresses.
Integrating Contact Point Purposes with Prospect2 Lists
LTR_P2_ELISTS
A new list must be added to the LTR_P2_ELISTS table in Tessitura and could be done in one of two ways:
- Create a new list in your Prospect2 dashboard. That will automatically add the new list to the LTR_P2_ELISTS table
- Manually add a row to the LTR_P2_ELISTS table. You must also add the corresponding Prospect2 List ID in the designated Prospect2 List ID column, and set the Organization Name column value to match your account's org name (eg. Tessitura Web).
Prospect2 List ID's can be found in the Pro2 dashboard - the ID will display in the URL of the list when you hover over your list. There must be a corresponding Prospect2 List ID to associate a CPP with a Prospect2 list.
Contact Point Purposes: Webhook Updates in Prospect2
Go to the Webhooks Page in Your Prospect2 Dashboard
Under the Settings Menu, click Developer, then Manage Webhooks.
Choose Edit
Select Edit for the Tessitura Webhooks row
Check the Appropriate Boxes
Check the following boxes to turn on Webhooks for these actions taken.
If a webhook is sent to Tessitura for an email address that does not exist in Tessitura, the CPP tag/list preference is stored in the LTX_P2_UNASSIGNED_EMAILS table.
There is a required procedure that is included with the Prospect2 install script.
LRP_P2_UPDATE_PURPOSES: Allows your organization to schedule the process to check for the new email addresses added to Tessitura within a specific number of minutes. Then, if an email address from LTX_P2_UNASSIGNED_EMAILS matches a new email, the integrated CPPs are added.
Webhook Functionality
Subscribe (Contact Added event) |
|
Unsubscribe (Contact Unsubscription event) |
|
Tag Add (Contact Tag Added event) |
|
Tag Removed (Contact Tag Removed event) |
|
Updated (Contact Updated event) |
|