Zinfandel - September 2024

Follow

Overview

The following article covers what's new in our Zinfandel release (beginning in September 2024) to provide a detailed understanding of what's changing, how new features work, how to enable them and any additional factors your team should consider. If you're new to Practifi or our release documentation, please review our best practices for 📚 Using Practifi Release Notes.

Similar to the Montepulciano release, Zinfandel is dedicated to responding to user feedback and resolving issues. It includes a broad range of enhancements, refinements, fixes and other technical improvements.

Product Enhancements

Version Control for Risk Profile Questions

We've made enhancements to Risk Profile question and answer management to ensure that previous versions of questionnaires are preserved rather than overwritten. Practifi Administrators can now create new versions of question sets when making updates so they always know which questions and answers relate to a particular Risk Profile. These changes only apply to Risk Profiles created after the Zinfandel release.

As a part of this feature, we're adding a new Risk Profiles page in the Settings app where admins can view all Question Sets.

 

Screenshot 2024-08-09 at 1.55.43 PM.png

 

We're also introducing a new Question Set object with the following fields:

  • Name: A read-only auto-number field that automatically populates after a new Question Set is saved.
  • Active: A checkbox field to ensure only one Question Set is active at a time. Other Question Sets are automatically deactivated when one is marked as active.
  • Version (optional): a number field that auto-increments with new survey records. You can enter a specific value or leave it blank, in which case it will auto-increment.

The Question Set page layout shows fields from the Question Set object under a field section called Information. There are two new page actions:

  • New Version: Deep clones all related questions/answers and creates a new version.
  • Import Default Questions: Allows admins to import existing questions and answers as a template.

    Screenshot 2024-08-09 at 1.57.27 PM.png

On the Question page layout, we've Added a new Risk Profile field to the Summary section to show which Question Set a question belongs to.

Screenshot 2024-08-09 at 2.01.29 PM.png

When creating a new Risk Profile, the active Question Set’s list of questions is used. If no active Question Set is found, the system will use the default Risk Profile questions found on the Questions page in the Settings app.

We recommend creating a new version of a Question Set when changing your questionnaire. By doing so, you can ensure that updates are reflected in the new version and activate it as needed. Making changes directly to the old Question Set may result in modifying existing Risk Profiles associated with the previous version. You should only change the old version of a Question Set to correct errors, such as typos. You can add a maximum of 15 questions per Risk Profile. To learn more about working with Question Sets, please see our article on Understanding and Managing Risk Profiles.

Please note: A Practifi Trigger Setting called Question Set ensures that only one Question Set is active. When this setting is checked, activating a new Question Set deactivates the previous one. For more information, please see our Understanding Triggers article.

Usability Improvements for Promote to Prospect Workflow

The Salesforce Summer ‘23 release included component functionality that allows for creating dynamic screens that respond to inputs in real-time. This eliminates the need for users to continually hit Next to progress through workflows in Practifi.

We rebuilt our Pinot Blanc release's Promote to Prospect workflow to take advantage of these reactive screen components. The fields in the Promote to Prospect window now conditionally display based on user input, making the process more dynamic and intuitive.

Screenshot 2024-08-08 at 1.29.50 PM.png

With this release, we're further refining this workflow. A spinner indicates loading status, providing users with a visual cue that the system is working. Additionally, the custom footer component includes buttons that are enabled or disabled based on specific conditions. This ensures that mandatory fields in field sets are validated before proceeding, thus preventing incomplete submissions.

Include Emails in Last Contacted Calculation

We've made a change to optionally include emails in the calculation of the Date of Last Contact for Entities. A new Last Email Date field on the Entity object will display the latest email sent date. This is defined as the MessageDate of the most recent EmailMessage record where the RelatedToId is the Entity and Incoming is false.

The criteria for the Date of Last Contact on the Entity has been modified to allow Last Email Date to be included along with Last Call Date and Last Event Date. The most recent date among these three is saved as the practifi__Date_of_Last_Contact__c.

The M365 Email Sync does not populate the RelatedToId or Incoming field and considers only emails sent from Salesforce. We've re-synced historical email records to ensure these fields are populated.

Using the above criteria, we've also created a new Lookup Rollup Summary called Last Email Date. Because some Practifi organizations might not want to include emails in the Date of Last Contact criteria, the Last Email Date rollup is inactive by default. Check the Active box for this Lookup Rollup Summary if you want to include emails in the Date of Last Contact calculation. For more information, please see our article on Including Emails in Date of Last Contact Calcuations.

 

Screenshot 2024-08-12 at 10.30.38 AM.png

 

Restrict File Types for Upload

While the Salesforce platform does not restrict the types of files users can upload, we've implemented an additional configuration for enhanced security and control. This optional setting allows Practifi Administrators to restrict the upload of designated file types.

We've introduced a new custom setting within Practifi Settings called File Extension Blacklist to manage file type restrictions for uploads. Please note the following about the File Extension Blacklist setting:

  • The custom setting is a TextArea(255) field.
  • All file extensions will be allowed if the custom setting is left empty.
  • If the custom setting is populated, all file extensions except those listed in the setting will be allowed.

The custom setting comes pre-configured with the following list of file extensions:

exe bat cmd vbs vbe js jse jar
msi msp scr pif reg com cpl msc
hta inf isn gadget msh msh1 msh2 mshxml
msh1xml msh2xml ps1 ps1xml ps2 ps2xml psc1 psc2
scf vb wsc wsh ade adp chm app
bas cab crt hlp ins isp itsmdb mde
mdz mdt mdw sct ws wsf xbap xltm

Practifi Administrators can add or remove file extensions as needed.

We've also created a corresponding Content Version trigger within Practifi Trigger Settings to ensure the file type restriction rules are enforced effectively. For instructions on how to enable this setting, see our article on Restricting File Uploads.

Escape CSV Injection Setting

We have introduced a custom setting called Escape CSV Injection to enhance security. This setting prevents potential CSV injection attacks when exporting data from Practifi tables. When enabled, any cell in the exported CSV that begins with a formula-triggering character (=, -, + or @) will be automatically prefixed with a tab character, ensuring that the exported data remains secure.

This setting is enabled by default for all Practifi organizations, providing an additional layer of security from the start. If you experience issues when importing the exported CSV file into another system, you can choose to disable the Escape CSV Injection setting. However, please be aware that disabling this setting will remove the protection against CSV injection attacks.

Please note: This security measure does not affect the readability or appearance of the exported CSV file, but it may introduce an additional preceding tab character when re-importing the file into systems other than Salesforce. This does not alter the data within Practifi and only impacts the exported CSV file.

Decimal Places Increased for Fee Band Rate Fields

To ensure the accurate representation of data, we’ve increased the Fee Band fields on the Category (Service Type) and Fee objects from two decimal places to six. This adjustment allows for more precise fee projections and reduces the impact of rounding on calculations.

Flows Now Overridable

We've made the following pre-packaged Practifi Flows overridable, meaning it's possible to create a new version to modify if needed:

  • Change Event Received
  • Practifi - Add Account to Campaign
  • Practifi - Add Contact to Campaign
  • Practifi - Convert Contact to Individual
  • Practifi - Mass Action - Edit Records
  • Practifi - Mass Action - Service Type - Create Deliverables
  • Practifi - Mass Action - Task - Change Status
  • Practifi - Mass Action - Update Household Name
  • Practifi - New Record - Process
  • Practifi - Record Action - Add Setup Bundle
  • Practifi - Record Action - Deep Clone Process Type
  • Practifi - Record Action - Deep Delete
  • Practifi - Record Action - Save to Setup Bundle
  • Practifi - Record Action - Task - Complete.
  • Practifi - Relate to Person

For instructions on overriding a flow, please see our article on Understanding and Using Flow Builder.

Resolved Issues

Active Forms

Create Task Error

We resolved a "Cannot set properties of undefined (setting 'step')" error that could occur when creating a Task on an Asset record. This issue was associated with using a Task Template with an Active Form field set for prefilling. Even after removing the prefill, the problem persisted. We incorporated a null check to rectify the error. 

Date/Time Fix

Users encountered an error when creating and completing Tasks with a date/time Active Form field that mapped to both StartDateTime and EndDateTime fields on an Event record. This has been resolved, allowing users to map a single date/time Active Form field to both StartDateTime and EndDateTime fields on an Event record.

Deals, Services and Deliverables

Enhanced Sync with Services Action

We've enhanced the Sync with Services action on Service Type records. The text now includes information on calculating a Deliverable's due date for backdated Services. This ensures that newly created Deliverables have appropriate future due dates, which prevents unnecessary processes and tasks for older service records.

We've also renamed the footer of the Sync with Services action to Sync for clarity.

When modifying Frequency settings and executing the Sync with Services action, you'll see a picklist. This lets you choose how to recalculate the Next Due Date for existing Deliverables. If the Last Fulfillment Date is missing, today's date will be used as the basis for calculating the Next Due Date.

Updated Calculation for Backdated Services

We've adjusted the Initial Due Date calculation for Deliverables to improve the management of backdated Services. For backdated Service Start Dates, the initial Deliverable’s Next Due Date will now be computed as Today's Date + Frequency. This ensures that the initial Deliverable is scheduled for a future date, preventing unnecessary Processes and Tasks from being created for Services set up in the past.

Additionally, if the time between today and the Deliverable’s due date is greater than or equal to the interval specified for the fulfillment activity, the activity will be created X days before the anticipated due date. If the time is less, the activity will be created immediately.

Handling of Inactive Deliverables

We’ve refactored the logic for handling Deliverables and their related activities when Deliverables transition from active to inactive. Once a Deliverable becomes inactive, it will no longer be visible in the Available for Fulfillment section in the side panel of activity records. Activities previously associated with a now inactive Deliverable will remain open but will be unlinked from the inactive Deliverable, ensuring accurate visibility and management.

Updated Service and Deal Record Naming Convention

We've updated the naming convention for Service and Deal records to improve clarity and consistency. Service names will follow these conventions:

  • The new format is Entity Name - Short Name - MMM YY.
  • If a Service Type has a Short Name value saved, the related Service records will use the Short Name instead of the Category Name.
  • The month and year of the Service's start date will be presented in MMM YY format. This means a Service that began in June of 2022 will have Jun 22 in its name.
  • If the Service record name surpasses 80 characters, the Entity Name will be shortened to fit within this limit.
  • This naming convention applies to the following actions:
    • Promote to Client
    • New Service
    • Mark as Closed Won

Deal record names will follow these rules:

  • If a Service Type has a Short Name value saved, the related Deal records will use the Short Name instead of the Category Name.
  • If the Deal record name surpasses 80 characters, the Entity Name will be shortened to fit within this limit.
  • No date is required for Deal records.
  • This naming convention applies to the following actions:
    • Promote to Prospect
    • New Deal

Enhanced Mark As Closed Won Action

When closing an open Deal for an Entity with multiple active Services of the same Service Type, you can now select a specific active Service to associate with the closed Deal. This selection option is available when the Service Type's When a Deal is won setting is configured as either Add to existing Service (if available) or Let the user decide.

Processes and Tasks

Process Type Deep Clone Error

We identified a rare issue where the Deep Clone action on a Process Type would trigger the following error message: "Cannot have more than 10 chunks in a single operation. Please rearrange the data to reduce chunking."

The Deep Clone action now functions without error.

Grouped Actions for Process Tasks

When setting up a Process Type, you can use the Group field on Task Actions to specify multiple Tasks that must all be completed before the Process progresses to the next Task.

An issue could arise where one or more of the Tasks grouped by action had not yet been fired or activated by the time another of the Tasks in the same action group was completed. We've refined the mechanism for handling grouped actions. Now, a notification will indicate that the Task belongs to a specific group and that the action will only proceed once all other prerequisite Tasks are completed. This enhancement applies to both record and row actions upon Task completion.

Related Entity Error on Follow-Up Tasks

When creating a follow-up Task on a logged email from the Salesforce add-in, the Related Entity field did not populate automatically and only appeared upon saving. We've resolved this issue for all Entity types, including Households, Organizations and Individuals.

Please note: To implement this solution successfully, ensure that the Email Message setting is activated in Practifi Trigger Settings.

Scrolling Issues in Task and Event Sidebar

We've addressed several scrolling issues identified in the sidebar on Task and Event record pages, particularly for Checklist items and Feed content. These issues affected both personal Task records and those related to other objects.

Miscellaneous

Address Sync Issue

Users reported that when an address on a Client record was changed, it did not automatically sync to the related Primary Member (Contact) record, even after refreshing the page. The address only synced after manually editing and saving the Contact record. This issue has been resolved and now address changes on the Client record will correctly sync to the related Primary Member (Contact) record without requiring additional edits. 

Event Syncing for All Attendees

We addressed an issue where internal events created in Outlook with multiple attendees only appeared on the organizer's calendar in Practifi. Additionally, events created in Practifi were not syncing properly with Outlook, leading to problems with notifications, attendee lists, incorrect times and duplicate events.

We've implemented the following fixes:

  • Meetings are now synced every 15 minutes.
  • Updated start/end times for past meetings are correctly reflected upon saving.
  • Events created for future times are now properly synced to all attendees' calendars.
  • Events appear correctly on both the organizer's and attendees' calendars in Practifi.

Microsoft Event Sync Error

Some events created in Practifi were randomly not syncing to Outlook, despite all necessary sync settings being enabled. For users with approximately 50,000 related events, the sync process encountered Salesforce limit errors, resulting in some events failing to sync.

We have optimized our event trigger by implementing aggregation, which reduces the need to query all events at once. This enhancement ensures smoother and more reliable syncing of Microsoft Events to Practifi via our Microsoft Sync integration, resolving the issue for affected users.

Email Field Clearing Error

Manually removing the value from the Alternate Email field on a Contact record caused an error when the field was mapped to a Contact Point Email record. Users can now clear the Alternate Email field without encountering errors. The related Contact Point Email record will remain on the Contact, but the Map to Record value on the Contact Point Email record will be cleared.

This fix ensures data preservation by retaining the Contact Point Email record even when the associated email field is cleared. This update applies to both Email and Alternate Email fields mapped to Contact Point Email records for Contacts and Individuals.

Record Alerts Component Error

Users reported that Task records wouldn't scroll due to a persistent loading spinner wheel. The issue stemmed from the Record Alerts component not handling archived Tasks properly. We resolved this to ensure the component can handle archived Tasks effectively.

Ownership Change Error

Non-admin users encountered an error when attempting to change the owner of a Household record during creation, with a message indicating that "The field [Name] is missing". This was due to a permissions mismatch between the Household record being created and the targeted new owner. As a resolution, we have opened up the Owner field, allowing non-admin users to select any owner for the Household during creation. The restriction on who can be the Entity owner during creation has been lifted.

Dynamic Charts Component Error

Some Practifi organizations encountered errors with dynamic chart components on the Home page. We have successfully resolved this issue, ensuring all essential charts load correctly on the Home page across various apps.

Change Log

Several product areas have been altered to implement the features and enhancements in this release. The table below consolidates these updates, making it easier to understand the release’s changes.

🔧 Implementation Details 
The below product areas have changed as a part of delivering these enhancements. If you’ve customized them, you won’t receive the changes automatically. A copy of the updated item will be made available in your Practifi instance. You can either replicate the changes or switch to the updated item and replicate your customizations.
Product Area Feature/Enhancement What's Changed?
Account object Decimal Places Increased for Fee Band Rate Fields
  • The data type limit on the Band Rate fields has increased to Percent (3, 6):

    • practifi__Band_1_Rate__c

    • practifi__Band_2_Rate__c

    • practifi__Band_3_Rate__c

    • practifi__Band_4_Rate__c

    • practifi__Band_5_Rate__c

    • practifi__Band_6_Rate__c

    • practifi__Band_7_Rate__c

Include Emails in Last Contacted Calculation
  • Created a new Last Email Date field to store the date of the most recent email sent.
  • Updated the criteria for the Date of Last Contact on the Entity to include Last Email Date along with Last Call Date and “Last Event Date.
    • The most recent date among these three fields is saved as practifi__Date_of_Last_Contact__c.
  • Created a Lookup Rollup Summary for Last Email Date to aggregate the MessageDate of the latest 'EmailMessage' record.
    • Criteria: RelatedToId is the Entity and Incoming is false.
    • The 'Active' Email rollup is unchecked by default.
Action object Group field help text update
  • Added new help text.
Contact object Adding Lookup Rollup Trigger on Contact
  • A Lookup Rollup Trigger has been incorporated into the Contact object.
Custom Settings - Practifi Settings Restrict File Types for Upload
  • Created a new custom setting called File Extension Blacklist with a data type of TextArea(255) to regulate file type restrictions for uploading files in Practifi.

  • This custom setting includes a predefined list of blacklisted file extensions (see a detailed list here).

  • Trigger Implementation: An associated trigger has been set up for the ContentVersion object to ensure proper enforcement of the regulations concerning file type restrictions.

Entity - Mark As Closed Won action Enhanced Mark As Closed Won Action
  • Updated text and elements in the action popup to dynamically reflect based on the configured settings and user input.
  • When closing a deal, if multiple Service records of the same type exist on the Entity, users can now choose a Service from the list to associate with the closed Deal.
Entity - Promote to Prospect action Usability Improvements for Promote to Prospect Workflow
  • Reactive screen components implemented in the flow:

    • Fields within the Promote to Prospect modal now conditionally display based on user input.

    • Enhances user experience by making the process more dynamic and intuitive.

  • Spinner/waiting component implemented in the flow:

    • A spinner appears in the ScreenFlow modal to indicate loading when fields or elements are yet to be displayed.

    • Provides users with a visual cue that the process is ongoing.

  • Custom footer component implemented in the flow:

    • The footer of the modal includes customizable buttons that can be enabled or disabled based on specific formulas or conditions.

    • Ensures mandatory fields in field sets are validated before proceeding, preventing incomplete submissions.

Fee object Decimal Places Increased for Fee Band Rate Fields
  • The data type limit on the Band Rate fields has increased to Percent(3, 6):

    • practifi__Band_1_Rate__c

    • practifi__Band_2_Rate__c

    • practifi__Band_3_Rate__c

    • practifi__Band_4_Rate__c

    • practifi__Band_5_Rate__c

    • practifi__Band_6_Rate__c

    • practifi__Band_7_Rate__c

Lookup Rollup Summaries - Last Email Date Include Emails in Last Contacted Calculation
  • Created a new Last Email Date field to store the date of the most recent email sent.
  • Updated the criteria for the Date of Last Contact on the Entity to include Last Email Date along with Last Call Date and “Last Event Date.
    • The most recent date among these three fields is saved as practifi__Date_of_Last_Contact__c.
  • Created a Lookup Rollup Summary for Last Email Date to aggregate the MessageDate of the latest 'EmailMessage' record.
    • Criteria: RelatedToId is the Entity and Incoming is false.
    • The 'Active' Email rollup is unchecked by default.
Question object Version Control for Risk Profiles
  • Created a new object called Question Set with fields such as Name, Active, Version, etc.
  • Page Layout for Question Set:

    • Fields from the Question Set object are displayed under a field section named Information.

    • Action buttons: Edit, New Version, Import Default Questions and Delete.

    • A new Risk Profile field has been incorporated into the Summary section to link back to the corresponding Question in the respective Question Set.
Question Set object
Service object Decimal Places Increased for Fee Band Rate Fields
  • The data type limit on the practifi__Effective_Fee_Rate__c field has increased to Percent(3, 6).
Service Type object - Fee Information Enhanced Sync with Services Action
  • The text displayed in the Sync with Services action has been updated when a user modifies a related Deliverable Type’s Frequency settings.
  • The footer button for this action has been renamed to Sync.
Service Type record page Decimal Places Increased for Fee Band Rate Fields
  • The data type limit on the Band Rate fields has increased to Percent(3, 6):

    • practifi__Band_1_Rate__c

    • practifi__Band_2_Rate__c

    • practifi__Band_3_Rate__c

    • practifi__Band_4_Rate__c

    • practifi__Band_5_Rate__c

    • practifi__Band_6_Rate__c

    • practifi__Band_7_Rate__c

Settings app - Risk Profiles page Version Control for Risk Profiles
  • Created a new app page within the Settings app called 'Risk Profiles' to showcase all Question Sets.
Task completion Grouped Actions for Process Tasks
  • When Deliverable activation rules lead to tasks being created and executed in an unpredictable order, upon finishing a Task that is part of a group with shared actions, an updated alert will appear on the Task sidebar to notify users that the actions will stay pending until all related Tasks are generated and finished.
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.