When a fully tested and approved PX Engagement is ready to be enabled within the Production environment, no additional manual editing of the PX Engagement is permitted as part of our fully automated (scripted) Production deployment/update release process.
If you do not already know, there is not currently an Engagement API available to can be used to modify/update and existing Engagement. When this Engagement API is available in the future, other options will be possible.
However, working with the current PX version, here is what I was able to suggest...
---------------------------------------------------------------------------------------
Assumptions
- The customer's Staging environment’s Product used to fully test, validate, and approve the PX Engagement for release is identical to the customer's Production environment’s Product.
- A single Gainsight PX instance is integrated with both the customer's Staging environment’s Product and the customer's Production environment’s Product.
- The customer's development team is able to use custom scripts that will modify/update the PX Identify code as part of the fully automated Production deployment/update release process.
1. The customer PX Administrator will add a new Custom User Attribute within Gainsight PX called “ActiveEngagementIDs” as a “String” data type.
This “ActiveEngagementIDs” field has a limit of 1024 characters and will be used to hold a list of all possible Engagement IDs (or Codes) that are available within a selected customer environment.
2. The customer Development team will modify the currently implemented PX Identify code in all customer environments to include the new Custom User Attribute named “ActiveEngagementIDs” along with a value that will include a full delimited listing of all active Engagement IDs (or Codes) within each customer environment.
3. The customer PX Engagement author/manager will assign an Engagement ID (or Code) to every PX Engagement that will be eligible for the Production environment.
Notes: Gainsight PX automatically assigns a unique ID to each Engagement and that could be used. However, each ID is 36 characters long this will limit the maximum number of possible Engagements within an environment to about 27 due to the 1024 character limit of the “ActiveEngagementIDs” field.
Gainsight PX COM Recommendation: Select short, 3-4 character Engagement IDs (or Codes) surrounded by square braces using a structured format such as a letter to indicate the type of PX Engagement followed by a number.
“D” for PX Dialogs (sample: D101])
“S” for PX Sliders (sample: S009])
“G” for PX Guides” (sample: rG013])
“N” for PX Surveys (sample: rN024])
“E” for PX Emails (sample: E066]
It is also recommended to include this Engagement ID (or Code) as a prefix to the actual Engagement name, which will enable easier recognition, sorting, and searching within PX.
3. The customer PX Engagement author/manager will add an additional Audience Logic criterion to each Engagement prior to Launch using the custom “ActiveEngagementIDs” field from the “Users” Rule and the “CONTAINS” filtering condition on the selected Engagement ID (or Code).
Sample Workflow for Automating the Availability of PX Engagements within Production
1. The customer PX Engagement author/manager will provide the customer Development team with the full list of all Engagement IDs (or Codes) to be available within the Production environment.
For example: rD101],.S009],
2. The customer Development team will use their automated Production release scripts to update the PX Identify code’s “ActiveEngagementIDs” field with the provided Engagement IDs (or Codes).
3. The customer PX Engagement author/manager will manually verify that the PX Engagements are available within the customer Production environment (if possible).
---------------------------------------------------------------------------------------
I hope this helps someone else with a similar requirement, but also looking forward to feedback and other interesting applications of this scripting/automation approach.
Happy PX-ing! :)
Link