Our integration with Addepar enables a list of client Assets and Holdings registered in Addepar to appear under the list of Assets recorded in Practifi without the need for data reentry. Values of Assets and Holdings are updated regularly through an overnight data synch job. The projected fee revenues accruing to the firm from billings for the management of the Assets are also shown as part of the client record.
This article outlines the steps to enable the Addepar integration in your organization. For more information about the Addepar integration, please consult our Using the Addepar Integration article.
**Note: This content is intended for system administrators and is technical in nature. Please discuss your integration installation plans with your Practifi Customer Support Team for their assistance.*
- Before you begin
- Create Remote Site Settings
- Create Auth Provider
- Create Named Credential
- Activate Addepar integration
- Schedule sync job
- Add Addepar as new Source Value
- Add Addepar permission set
- Create Lookup Rollup Summary
- Enable Addepar triggers
- Dynamic Query Support (Optional)
- Data Field mapping
Before you begin
Contact your Practifi Customer Success Manager and Addepar's Support team to let them know your firm's plans to integrate the two systems. The information required for the integration is as follows:
- URL for the Remote Site setting
- URLs for Authorize Endpoint and Token Endpoints setting
- Obtain from the Practifi Customer Support team the Consumer Key and Secret Credentials established between Practifi and Addepar for this integration
- URL for the Named Credential
- The username and password for a user who is an Admin at the firm for the Addepar system
- The Firm ID, which is necessary for connecting the two systems
- Obtain from the Practifi Customer Support team the practifi__External_Id_[x]__c data field names which may be used for linking Addepar Assets and Holdings (one for each of Assets and Holdings), and which do not conflict with any other integration already installed on the system. There are five such fields available on each.
There may be cases where your firm needs to show Asset and Holding currency figures other than USD. To do this, ensure that the Addepar portal has its firm-wide Reference Currency set to the required currency (e.g., CAD, SGP). Otherwise, the currency figures will be shown in Practifi in USD and will not match the figures which otherwise appear in the Addepar portal for those same Assets and Holdings.
Create Remote Site Settings
- In Salesforce Setup, use the Quick Find search bar to search for and select Remote Site Settings.
- Select the New Remote Site button.
Supply the following:
Remote Site Name - Addepar
Remote Site URL - https://<client_prefix>.addepar.com
- Once the information is entered, select Save.
Create Auth Provider
Under OAuth 2.0, the Authentication Provider is set up between Addepar and Practifi for all Client Orgs. It is the same reference for all Client Organizations and is only set up once by Practifi. When you are ready for this step to be completed, please reach out to Practifi Support.
- Go to Salesforce Setup under the user’s avatar/picture icon in the top-right of the page.
- Use the Quick Find search bar to search for and select Auth. Providers.
- On the Auth. Provider page, select the New button.
- Complete the details on the new Auth Provider panel, as follows:
Provider Type - StaticOAuthProvider
Name - Suggest using "Addepar OAuth"
Please note: The name should be chosen carefully. Once the name has been created, please do not delete it and try to recreate it. Salesforce still retains a reference to the original name and will have trouble authenticating with Addepar again after the change
- URL Suffix - Follow the default
Consumer Key - <Please contact your Practifi Account Manager to obtain the Consumer Key.>
Consumer Secret - <Please contact your Practifi Account Manager to obtain the Consumer Secret.>
Authorize Endpoint URL - https://<client_prefix>.addepar.com/oauth2/authorize
Token Endpoint URL - https://<client_prefix>.addepar.com/api/public/oauth2/token
Default Scopes - portfolio files
Send Access Token in Header - Checked
Create Named Credential
Create a Named Credential for accessing the Addepar client system. The step will require the Client to supply an Admin user's name within the Client for their Addepar system, who will authenticate the connection to Practifi through this Named Credential.
- In Salesforce Setup, use the Quick Find search bar to search for and select Named Credentials.
- Select the New Named Credential button.
Supply the following:
Label - Suggest using Addepar OAuth Prod for a Production system
Name - <follow default>
URL - https://<client_prefix>.addepar.com/api/v1
Identity Type - Named Principal
Authentication Protocol - OAuth 2.0
Authentication Provider - Addepar_UAT, per the Auth. Provider set up above
Scope - portfolio files
Start Authentication on Save - Checked. Upon selecting Save, this will take the user to the Addepar login page, on which the Admin user that is an Admin user within the Client for their Addepar system logs in with their username and password. The integration is then authenticated to link the two systems and the Authentication Status field changes to Authenticated.
- Generate Authorization Header - Checked
Activate Addepar Integration
- In Salesforce Setup use the Quick Find search bar to search for and select Custom Settings.
- Select Manage next to Addepar Integration Settings.
- Select Edit and supply the following:
- Annualize Days - 365. This is the daily fee earnings figure for the assets in Addepar is multiplied by 365.
- Asset Default Category - Managed funds is the default if this setting is left blank. This is the Asset Category name the Asset will receive when it is first received in an integration.
- Please note: The spelling and case must be the same as that defined in the list of Default Asset Categories. Please consult the Alternate Default Asset Category Codes instructions, below
- Asset Default Under Advice Status - Check this box if new incoming Assets should be set as Under Advice when first received in an integration.
- Credentials - Name of the Named Credential set up previously.
- Enabled - Checked.
- External Id Asset Liability -practifi__External_Id_2__c Be sure to obtain the next available Id on the Client's system.
- External Id Holding - practifi__External_Id__c Be sure to obtain the next available Id on the Client's system.
- Firm Id - Addepar will allocate a Firm id for its clients.
- Is Test Env - Unchecked. Only check this field if performing tests with Addepar as the integration will use a different Addepar provided URL path.
- Request Per Batch - 2. The number of Addepar Async Job requests per Apex batch.
- Time Between Batch - 5. The time in minutes between each Apex batch job.
- Portfolio Per Request - Number of Client Portfolios requested per Batch. The default is 10.
- Verbose Logging - Unchecked.
- Once this information is provided, select Save.
Alternate Asset Default Category Codes
The codes available for use as the Asset Default Category can be found in Salesforce Setup under the Object Manager. Then select Asset/Liability > Fields & Relationships > Category.
Towards the end of the page is the list of available Asset Categories. Read off the name, which should be the default to be applied as the Asset Category. Be sure to type the name exactly, including capitals.
If the firm prefers to use a new Asset Category, select New and add to the existing list. After this step, the newly added value will need to be made visible to users for selection. From the Asset/Liability Object Manager view, select Record Type, and select the Asset record type.
Select Fields & Relationships and Category, and Edit alongside the Category label.
Select the value required from the left side in the Available Values list. Use the Add button to move it to the right side to the Selected Values list and select Save.
Schedule sync job
The importing of Addepar Assets, Holdings and Annualized Revenue figures occurs once a day at the end of the processing day for Addepar. Bear in mind that Addepar is located in the USA, so the time-of-day chosen should be in the post-end-of-day processing hours for a USA business.
- In Salesforce Setup, use the Quick Find search bar to search for and select Apex Classes.
- Click on Schedule Apex
- Look up AddeparScheduleSync and select it as the Apex Class.
- Apply the required schedule, bearing in mind the end-of-day completion jobs on the Addepar system.
- Once the schedule is set, select Save.
Add Addepar as new Source Value
Adding Addepar as a new Source in the Source list will distinguish Assets from Addepar from another system. To add this value, navigate to the Object Manager and select the Asset/Liability object. Once in the object, select the Fields & Relationships tab on the left-hand side and select the Source field.
Towards the end of the page is the list of available Sources. To add a new Source (Addepar), select New and add Addepar to the existing list.
After this step, the newly added value will need to be made visible to users for selection. From the Asset/Liability Object Manager, select Record Type and select the Asset record type.
Select Fields & Relationships and then locate the Source picklist. Select Edit alongside the Source field.
Select the Addepar value from the left side in the Available Values list and use the Add button to move it to the right side in the Selected Values list. Once this change is made, click Save.
Assign Addepar permission set
- Assign the Practifi - Integrations - Addepar User permission set to the users who need access to the Addepar Integration.
- Navigate to Salesforce Setup, search and click Permission Sets.
- Select the Practifi - Integrations - Addepar User permission set.
- Select the Manage Assignments button.
- Select Add Assignments button.
- Select the users who will need access to Addepar and click Assign.
Create Lookup Rollup Summary
- Navigate to the Settings App by selecting Settings from the App Launcher.
- Select Lookup Rollup Summaries from the Navigation menu.
- Click New and enter the details as per the screenshot below.
- Select Save at the lower right of the panel. This is the rollup that totals the Annualized Revenue figures received from Addepar for each Portfolio and displays it at the Practifi Client level.
Enable Addepar triggers
Triggers for changes in Addepar data ensure that totals are carried forward for each Client record.
- Navigate to the Custom Settings panel in Salesforce Setup.
- Locate the Practifi Trigger Settings line, and select Manage and then Edit.
- Check the boxes for "Addepar Portfolio Rollups" and "Addepar Portfolio."
Dynamic Query Support (Optional)
Additional flexibility has been implemented in the Addepar integration to enable the currency of the money values to be retrieved in a currency other than the Reference Currency configured in Addepar. This involves adding Custom Metadata Types to the Salesforce configuration for Addepar.
After installation, the Addepar integration queries the Addepar system using the following query settings. This is the default query:
Below is an example of having completed the rows in this panel with money values being received from Addepar into Practifi as a specific currency rather than the default currency in Addepar, in this example, Japanese Yen. The currency conversion is handled within Addepar.
To configure this adjustment, navigate to the Custom Metadata Types setting, and click on Manage Records for the row for Addepar Query Columns row:
Click New, and enter the required values. The only adjustment which we should seek is to change the ref_currency to another explicit currency. All the rows in the Default Query (above) should be repeated in this table.
Click Save or Save & New to continue.
Please note: The Label and Addepar Query Column Name columns do not affect the final result, but they must be filled. This setting will override the Default Query (shown above). Even one record of metadata in this table will override the entire Default Query. A wrong setting for one field will cause the whole integration to fail. Discuss your plans with a Practifi Customer Support Engineer. Refer to Addepar documentation for more information about Query Settings:
Data Field Mapping
The following table details the mapping of values from Addepar across to Practifi Assets and Holdings.
Top Level Owner
(Addepar Client Name)
Mapped through Data Management page
(Current Value (total of Holding))
Category: Default set under Settings
Stage: OWNED, or DISPOSED*
Under Advice: Default set under Settings
(Unitised (Unit Value))
Value: Unit Price x Units
Stage: OWNED, or DISPOSED*
* The values of OWNED or DISPOSED are set at the Asset and Holding levels when the synchronization from Addepar is processed. When an Asset or Holding first appears and continues to appear between synchronizations, it is marked as OWNED. If the Asset or Holding no longer appears after synchronization, it is marked as DISPOSED. This is done to indicate to the Advisor that the asset is no longer recorded in Addepar. The Advisor may manually delete the Asset or Holding directly within Practifi.