Enabling the Addepar Integration

Follow
Please note: This content is intended for Practifi System Administrators and is technical in nature. The steps described in this article may not be able to be completed without System Administrator permissions. Please discuss your integration installation plans with your Practifi Customer Support Team for their assistance.

Overview

Addepar is a wealth management technology platform that aggregates data across all asset types, including alternatives, such as private equity and real estate. When you enable the Addepar integration with Practifi, your advisors gain access to comprehensive portfolio data, assets, holdings, and performance metrics directly within the Household record. The integration syncs data from Addepar on a configurable daily schedule, automatically pulling the most current portfolio information so your team always has up-to-date client wealth data at their fingertips.

The Addepar integration is inbound-only: data flows from Addepar into Practifi, with Practifi records serving as the system of record. Your System Administrator configures the integration using Salesforce authentication and custom settings, working in coordination with Practifi Support to ensure credentials are properly secured, and the sync process runs smoothly.

This article guides you through enabling the Addepar integration, understanding the integration architecture, assigning permission sets, configuring authentication and API settings, scheduling synchronization, linking clients, and understanding data mappings. For guidance on how advisors will use Addepar data day-to-day, see the Using the Addepar Integration article.

Prerequisites

Before requesting the Addepar integration enablement, ensure that your organization and Practifi environment meet the following requirements:

Requirement Details How to Verify
System Administrator Access The person managing the integration setup must have System Administrator permissions in your Practifi instance. In Practifi, navigate to Setup > Users. Confirm that your user account has the System Administrator profile or equivalent role.
Practifi License for Integration User An active Practifi user license must be available for the automated integration user account that will run the daily synchronization jobs. This user cannot be a Salesforce inactive user. In Setup > Users, verify that you have available Practifi user licenses. If you are near your licensing limit, contact your Practifi Account Manager to add additional licenses.
Active Addepar Subscription and Valid Credentials Your organization must have an active Addepar subscription with valid Addepar firm credentials. You will need Addepar username and password for OAuth setup. Log in to your Addepar instance to confirm access. Obtain your Addepar username and password from your Addepar account administrator or account manager.
Coordination With Practifi Support Practifi Support must be involved to coordinate credential exchange and verify the integration setup before syncs begin. Contact Practifi Support and provide your Addepar credentials securely through the agreed-upon exchange method. Practifi will confirm receipt and schedule the enablement.
Network Connectivity Your organization and automation systems must have network access to Addepar API endpoints. If your organization uses a firewall or proxy, ensure that outbound HTTPS connections to Addepar servers are allowed. Test by attempting to access Addepar directly from your network. Contact your IT team to verify that firewall rules allow outbound connections to Addepar API endpoints.

Understanding the Integration Architecture

The Addepar integration creates a secure data bridge between Practifi and Addepar using OAuth 2.0 for authentication and API-based synchronization. Data flows in one direction only: from Addepar into Practifi. Your System Administrator configures authentication credentials and sync settings in Salesforce, and the integration automatically pulls portfolio data at a scheduled interval.

Integration Flow

The Addepar integration uses the Portfolio Query API to retrieve portfolio, asset, holding, and performance data. The process works as follows:

  1. A scheduled Apex job runs at the configured time each day (typically overnight).
  2. The integration authenticates to Addepar using OAuth 2.0 credentials stored securely in Salesforce Named Credentials.
  3. For each linked client, the integration executes a Portfolio Query (JSON-based) to retrieve their holdings and performance data from Addepar.
  4. The integration maps Addepar portfolio records to Practifi Household records, creating or updating Financial Account and Holding records with the current data.
  5. Performance metrics and revenue data are calculated and stored in Practifi for reporting and analysis.

Data Flow Diagram

The following diagram illustrates how data flows between Addepar and Practifi:

Addepar
(Portfolio Data Source)
Portfolio Query API
(Portfolios, Assets, Holdings, Performance Metrics, Revenue)
Practifi
(Data Destination)
Inbound Only: Data syncs one direction, from Addepar to Practifi, on a daily schedule.

Key Technical Details

The Addepar integration uses the following technical architecture:

  • Authentication Method: OAuth 2.0 with username and password flow. Your Addepar credentials are stored securely in Salesforce Named Credentials and are never exposed in logs or configuration screens.
  • API Used: Addepar Portfolio Query API for retrieving portfolio, holding, and performance data.
  • Data Flow Direction: Inbound only. Data flows from Addepar to Practifi. Your Practifi records are never written back to Addepar.
  • Sync Schedule: Daily, configurable. Your System Administrator sets the time the sync job runs. Manual syncs can also be triggered on demand by authorized users from the Integrations page using the Refresh Addepar Client List button.
  • Rate Limits: Addepar enforces rate limits of 50 API calls per 15 minutes and 1,000 calls per 24 hours per Firm ID. Practifi manages sync scheduling to remain within these limits.
  • Optional Features: Trust and entity hierarchy synchronization can be enabled to sync trust entities, holding companies, and ownership structures into Practifi.

Assigning Permission Sets

To use the Addepar integration once it is enabled in your Practifi organization, you must assign permission sets to users and to the integration user account. The permission sets grant the minimum necessary permissions to view and work with Addepar data, and to trigger manual syncs.

Permission Set: Practifi - Integrations - Addepar User

  1. In Practifi, click the setup cog in the upper-right corner, then select Setup from the drop-down menu.
    Screenshot 2026-03-18 at 3.03.16 PM.png
  2. Use the Quick Find search bar on the left-hand side to search for and select Users.
    Screenshot 2026-03-18 at 1.41.36 PM.png
  3. Locate the user you would like to assign the permission set to grant them access to the Addepar integration, and click their Full Name hyperlink to open the user record.
    Screenshot 2026-03-18 at 1.42.46 PM.png
  4. In the Permission Set Assignments section on the user profile, click Edit Assignments.
    Screenshot 2026-03-18 at 1.44.49 PM.png
  5. Locate Practifi - Integrations - Addepar User in the Available Permission Sets list and select this permission set.
    Screenshot 2026-03-18 at 1.45.47 PM.png
  6. Click the add arrow to move the permission set from the Available Permission Sets list to the Enabled Permission Sets list.
    Screenshot 2026-03-18 at 1.47.28 PM.png
  7. Click Save.
    Screenshot 2026-03-18 at 1.48.17 PM.png

Please note: Your integration user must remain active and must not have an expiration date. If you deactivate or expire this user, the OAuth connection will fail, and synchronization jobs will not execute. If you are assigning this permission set to multiple users, you can use Practifi's bulk assignment feature through Setup > Permission Sets > Manage Assignments to streamline the process.

Screenshot 2026-03-18 at 2.56.46 PM.png

Permission Set: Practifi - Assigned Apps - Data Management (Optional)

If you would like the user to have access to the Addepar features within the Data Management app in Practifi, they will need the Practifi - Assigned Apps - Data Management permission set assigned to their user profile. To assign this permission set:

  1. In Practifi, click the setup cog in the upper-right corner, then select Setup from the drop-down menu.
    Screenshot 2026-03-18 at 3.03.16 PM.png
  2. Use the Quick Find search bar on the left-hand side to search for and select Users.
    Screenshot 2026-03-18 at 1.41.36 PM.png
  3. Locate the user you would like to assign the permission set to grant them access to the Data Management app, and click their user name to open the user record.
    Screenshot 2026-03-18 at 1.42.46 PM.png
  4. In the Permission Set Assignments section on the user profile, click Edit Assignments.
    Screenshot 2026-03-18 at 1.44.49 PM.png
  5. Locate Practifi - Assigned Apps - Data Management in the Available Permission Sets list and select this permission set.
    Screenshot 2026-03-18 at 3.05.24 PM.png
  6. Click the add arrow to move the permission set from the Available Permission Sets list to the Enabled Permission Sets list.
    Screenshot 2026-03-18 at 3.06.22 PM.png
  7. Click Save.
    Screenshot 2026-03-18 at 3.06.47 PM.png

Please note: If you are assigning this permission set to multiple users, you can use Practifi's bulk assignment feature through Setup > Permission Sets > Manage Assignments to streamline the process.
Screenshot 2026-03-18 at 3.08.18 PM.png


Creating the Auth. Provider

The Auth Provider is a Salesforce feature that manages OAuth 2.0 authentication with Addepar. Your System Administrator creates the Auth Provider configuration using Addepar’s OAuth endpoints and client credentials provided by Practifi Support.

To create the Auth. Provider:

  1. If not already in Setup, navigate there by selecting the cog in the upper-right corner and choosing Setup from the drop-down menu.
    Screenshot 2026-03-18 at 3.03.16 PM.png
  2. Use the Quick Find search bar on the left-hand side to search for and select Auth. Providers.
    Screenshot 2026-03-18 at 3.11.15 PM.png
  3. On the Auth. Providers page, click the New button.
    Screenshot 2026-03-18 at 3.12.15 PM.png
  4. In the Provider Type dropdown, select StaticOAuthProvider.
    Screenshot 2026-03-18 at 3.13.56 PM.png
  5. Enter the following information:
    • Name: Addepar
    • URL Suffix: Addepar (Note: This field is auto-generated from the value entered in the Name field.)
    • Authorize Endpoint URL: https://<client_prefix>.addepar.com/oauth2/authorize
    • Consumer Key: This value is provided by Addepar. 
    • Consumer Secret: This value is provided by Addepar
    • Default Scopes: portfolio files
    • Token Endpoint URL: https://<client_prefix>.addepar.com/api/public/oauth2/token
    • Execute As: Any user with 'Manage Users' permission on their user profile. This can be the System Administrator who is creating this Auth. Provider record.
  6. Click Save.

Please note: Practifi Support will provide the exact endpoint URLs and credential format as part of your enablement. Do not attempt to create this configuration without guidance from the support team.


Callback URL Configuration

After saving the Auth. Provider, the system generates a Callback URL at the bottom of the page. This URL must be registered with Addepar for the OAuth authentication to work properly. If you do not register the Callback URL with Addepar, the OAuth flow will fail with a redirect URL mismatch error. 

To register your Callback URL with Addepar:

  1. Save the Auth. Provider record. You should have already completed this step in the section above. 
  2. Scroll to the bottom of the page and copy the Callback URL value. Typically, the Callback URL format is: https://<your-org>.my.salesforce.com/services/authcallback/<url_suffix>
  3. Provide this Callback URL to Addepar Support to register with your OAuth application. 

Configuring Remote Site Settings

Remote Site Settings tell Salesforce which external servers your Practifi instance is allowed to communicate with. You must add Addepar’s API endpoints to the allowlist so that Addepar callouts can execute successfully.

  1. If not already in Setup, navigate there by selecting the cog in the upper-right corner and choosing Setup from the drop-down menu. 
    Screenshot 2026-03-18 at 3.03.16 PM.png
  2. Use the Quick Find search bar on the left-hand side to search for Remote Site and select Remote Site Settings.
    Screenshot 2026-03-19 at 2.22.11 PM.png
  3. Click the New Remote Site button.
    Screenshot 2026-03-19 at 2.23.27 PM.png
  4. Enter the following information:
    • Remote Site Name: Addepar
    • Remote Site URL: https://<client_prefix>.addepar.com
    • Active: Checked (Note: This value is this field's default value)
  5. Click Save.

Creating Named Credentials

Option One: OAuth Authentication (Recommended)

  1. If not already in Setup, navigate there by selecting the cog in the upper-right corner and choosing Setup from the drop-down menu. 
    Screenshot 2026-03-18 at 3.03.16 PM.png
  2. Use the Quick Find search bar on the left-hand side to search for Named Credentials and select Named Credentials.
    Screenshot 2026-03-20 at 12.10.33 PM.png
  3. Select the caret icon on the right-hand side, then click the New Legacy option in the drop-down menu. 
    Screenshot 2026-03-20 at 12.13.42 PM.png
  4. Enter the following information:
    • Label: Addepar
    • Name: Addepar (Note: This field is auto-generated from the value entered in the Name field.)
    • URL: https://<client_prefix>.addepar.com/api/v1
    • Identity Type: Named Principal
    • Authentication Protocol: OAuth 2.0
    • Authentication Provider: The Auth.Provider record created in the previous Auth. Provider step
    • Scope: portfolio files
    • Start Authentication Flow on Save: Yes
  5. Select Save and approve Adddepar to access Salesforce. Once you have saved, verify that the authentication status is Authenticated

Option Two: Password Authentication

  1. If not already in Setup, navigate there by selecting the cog in the upper-right corner and choosing Setup from the drop-down menu. 
    Screenshot 2026-03-18 at 3.03.16 PM.png
  2. Use the Quick Find search bar on the left-hand side to search for Named Credentials and select Named Credentials.
    Screenshot 2026-03-20 at 12.10.33 PM.png
  3. Select the caret icon on the right-hand side, then click the New Legacy option in the drop-down menu. 
    Screenshot 2026-03-20 at 12.13.42 PM.png
  4. Enter the following information:
    • Label: Addepar
    • Name: Addepar (Note: This field is auto-generated from the value entered in the Name field.)
    • URL: https://<client_prefix>.addepar.com/api/v1
    • Identity Type: Named Principal
    • Authentication Protocol: Password Authentication
    • Username: Provided by Addepar
    • Password: Provided by Addepar

Configuring Practifi Trigger Settings

Practifi Trigger Settings control whether certain automations are enabled or disabled during the integration setup and testing phase. As part of the enablement process, the Addepar Portfolio trigger must be enabled. 

To modify Practifi Trigger Settings:

  1. If not already in Setup, navigate there by selecting the cog in the upper-right corner and choosing Setup from the drop-down menu. 
    Screenshot 2026-03-18 at 3.03.16 PM.png
  2. Use the Quick Find search bar on the left-hand side to search for Custom Settings and select Custom Settings.
    Screenshot 2026-03-20 at 12.37.07 PM.png
  3. Locate Practifi Trigger Settings on the Custom Settings page, then select the Manage hyperlink next to its name.
    Screenshot 2026-03-20 at 12.39.56 PM.png
  4. Select the Edit button.
    Screenshot 2026-03-20 at 12.42.32 PM.png
  5. Locate the Addepar Portfolio checkbox and select it. 
    Screenshot 2026-03-20 at 12.41.13 PM.png
  6. Click Save to finalize this change.

Configuring Addepar Integration Settings

Addepar Integration Settings is a custom settings object that stores configuration parameters for the Addepar sync, including API credentials, sync scheduling preferences, and feature toggles.

To configure Addepar Integration Settings:

  1. If not already in Setup, navigate there by selecting the cog in the upper-right corner and choosing Setup from the drop-down menu. 
    Screenshot 2026-03-18 at 3.03.16 PM.png
  2. Use the Quick Find search bar on the left-hand side to search for Custom Settings and select Custom Settings.
    Screenshot 2026-03-20 at 12.37.07 PM.png
  3. Locate Addepar Integration Settings on the Custom Settings page, then select the Manage hyperlink next to its name.
    Screenshot 2026-03-20 at 3.11.50 PM.png
  4. Click the New button above the Default Organization Level Value if values are not available.
  5. Select the Edit button.
    Screenshot 2026-03-20 at 3.12.41 PM.png
  6. Fill in the following fields:

    Fields Value Notes
    Annualize Days Depends on Addepar Settings Multiplier to calculate Annual Revenue based on billing frequency
    Asset Default Category Managed funds  
    Asset Default Under Advice Status Yes  
    Credentials Named Credentials Developer Name Must match with the name of the Named Credentials in the Named Credentials step.
    Enable Gain Loss Attributes   This setting handles whether to include Realized Gain and Unrealized Gain attributes in the data points.
    Enable Performance Attributes   This setting handles whether to include Time Weighted Return attributes in the data points.
    Enable Total Return Attributes   This setting handles whether to include Total Return attributes in the data points.
    Enabled Yes This setting is the on switch for the entire Addepar integration.
    External Id Asset Liability External Id field API name for Asset Optional. Default practifi__External_Id_2__c. Specify the value if different field is meant to be used
    External Id Holding External Id field API name for Holding Optional. Default practifi__External_Id__c. Specify the value if different field is meant to be used
    Firm Id Provided by Addepar  
    Max Holding Per Transaction   Optional. Default 2000. Number of holdings that can be upserted in each transaction. Reduce the value when exceeding some limits.
    Portfolio Per Request   Optional. Default 10. Number of portfolios in each Job Request. 
    Request Limit Per 15 Min   Optional. Default 50. This is Addepar's API rate limit, which can be raised by Addepar to speed the sync process, if needed.
    Request Per Batch   Optional. Default 1. This is the number of Job Requests per batch. 
    Enable Scheduled Sync Cleanup   Optional. Default False.
    Sync Not Held   Optional. Default False. This setting handles whether to sync disposed holdings.
    Sync Trusts and Holding Companies   Optional. Default False. When enabled, Holding Companies and Trusts under an Addepar Account will be synced into Practifi as Client Entities under the linked Household record.
    Time Between Batches   Optional. Default 1. This setting sets the time gap between batches in minutes to ensure not exceeding Addepar API rate limit.
    Use Top Level Holding Account for Asset   Optional. Default False.
    Verbose Logging   Optional. Default False. 
  7. Click Save.

Note: Consult with Practifi Support to determine the appropriate batch size and API call limits for your organization’s data volume and Addepar’s rate-limit constraints.


Configuring the Portfolio Query

The Portfolio Query is a JSON-based template that defines which Addepar portfolio fields are retrieved during each sync. Practifi typically provides this configuration and may be stored in a custom setting or in the Apex code that executes the sync.

Understanding the Portfolio Query

The Portfolio Query specifies:

  • Which portfolio attributes to retrieve (e.g., account names, balances, performance metrics).
  • Which entity types to include (e.g., portfolios, accounts, holdings, trust entities).
  • Filtering criteria to limit the data retrieved (e.g., only active portfolios, only certain account types).
  • Whether to include derived data such as performance calculations, revenue, or historical balances.

By default, Practifi will query Addepar's API for these columns and settings:

[
    {"key":"top_level_owner"},
    {"key":"top_level_holding_account"},
    {"key":"model_type"},
    {"key":"value","arguments":{"adjusted":true,"currency":"ref_currency"}},
    {"key":"shares"},
    {"key": "holding_status"},
    {"key":"price_per_share","arguments":{"currency":"ref_currency"}},
    {"key":"asset_class"},
    {"key":"valuation_date"},
    {"key":"ticker_symbol"},
    {"key":"bottom_level_holding_account_number"},
    {"key":"billing_fees","arguments":{"currency":"ref_currency"}},
    {"key":"billing_fees","arguments":{"period":"relative P1W","currency":"ref_currency"}},
    {"key":"billing_fees","arguments":{"period":"trailing P1Y","currency":"ref_currency"}},
    {"key":"fund_contributions","arguments":{"period":"trailing P1Y","currency":"ref_currency"}},
    {"key":"billing_fee_value_v2","arguments":{"period":"trailing P1Y", "currency":"ref_currency"}},
    {"key":"billing_fee_value_v2","arguments":{"period":"2023-01-01 to 2023-10-23", "currency":"ref_currency"}},
    {"key": "value","arguments": {"time_point": "inception","adjusted":true,"currency":"ref_currency"}}
]

 

This default query can be overridden by defining the request in custom metadata. This setting will override the default query. Even a single metadata record will override the entire default query.

Important: An incorrect setting for one field will cause the entire integration to fail. The query structure must match the Addepar API schema and the Practifi sync code expectations. Incorrect query syntax will cause sync failures. The "Label" and "Addepar Query Column Name" have no effect on the final result, but they are required to be filled. For additional information, please refer to Addepar's documentation

To customize the Addepar Portfolio Query:

  1. In Setup, use the Quick Find search bar to search for Custom Metadata Types.
    Screenshot 2026-03-23 at 1.21.17 PM.png
  2. Locate the Addepar Query Column record and select Manage Records beside this name.
    Screenshot 2026-03-23 at 1.22.37 PM.png
  3. Select the New button.
    Screenshot 2026-03-23 at 1.23.50 PM.png
  4. Enter information in the Label, Addepar Query Column Name, and Key fields.
    Screenshot 2026-03-23 at 1.27.15 PM.png
  5. Select the Save button to finalize your changes. 
    • Please note: An incorrect setting for one field will cause problems within the whole integration. Metadata should only be modified when needed and when absolutely sure that the modifications are made correctly.

Scheduling the Synchronization Job

The Addepar synchronization job is an Apex Scheduled Job that runs at a specified time each day. Your System Administrator schedules this job and monitors its execution. There are two methods to schedule the synchronization job, using apex script or using the apex scheduler.

To schedule the synchronization job using apex script:

  1. In Setup, use the Quick Find search bar to search for and select Apex Classes
    Screenshot 2026-03-23 at 2.30.34 PM.png
  2. Select the Developer Console button. 
    Screenshot 2026-03-23 at 2.31.09 PM.png
  3. In the Developer Console, select Debug.
    Screenshot 2026-03-23 at 2.32.40 PM.png
  4. Click Open Execute Anonymous Window from the drop-down menu. 
    Screenshot 2026-03-23 at 2.33.34 PM.png
  5. Paste the following in the Enter Apex Code pop-up window:

    practifi.AddeparScheduledSync addeparJob = new practifi.AddeparScheduledSync();
    String jobDateTime = '0 1 * * * ?';
    system.schedule('Addepar Daily Job', jobDateTime, addeparJob);
  6. Click Execute to run and schedule the apex job. 
    Screenshot 2026-03-23 at 2.43.38 PM.png

To schedule the synchronization job using the apex scheduler:

  1. In Setup, use the Quick Find search bar to search for and select Apex Classes.
    Screenshot 2026-03-23 at 2.30.34 PM.png
  2. Click the Schedule Apex button.
    Screenshot 2026-03-23 at 2.45.59 PM.png
  3. In the Job Name field, enter a descriptive name such as "Addepar Daily Sync".
    Screenshot 2026-03-23 at 2.53.26 PM.png
  4. Select the maginfying glass beside the Apex Class field. 
    Screenshot 2026-03-23 at 2.54.22 PM.png
  5. Locate and select the Apex class of AddeparScheduledSync
    Screenshot 2026-03-23 at 2.55.15 PM.png
  6. Under the frequency section, select all of the checkboxes beside the weekday names to make the sync daily. 
    Screenshot 2026-03-23 at 2.57.48 PM.png
  7. Select the preferred start time. Practifi recommends scheduling the sync during off-peak hours, typically between 1 AM and 4 AM in your local timezone to minimize impact on user activity.
    Screenshot 2026-03-23 at 2.59.14 PM.png
  8. Click Save.
    Screenshot 2026-03-23 at 2.59.51 PM.png

The job will now execute every day at the scheduled time. You can monitor the execution by navigating to Setup > Scheduled Jobs and clicking on the “Addepar Daily Sync” job to view the execution history and any errors.

Manual Syncs and On-Demand Execution

In addition to the scheduled daily sync, authorized users can trigger a manual sync at any time from the Integrations tab in Practifi. This is useful for testing the configuration or immediately pulling updated data for a specific client.


Linking Clients

Before Addepar data syncs to a client’s Practifi record, you must link that client to their corresponding portfolio in Addepar. Linking is a one-time configuration step per-client. Once linked, the portfolio remains associated with that client unless you manually unlink it. You do not need to re-link the client for each sync.

To link a Addepar portfolio to a Practifi client:

  1. Navigate to the Data Management app in Practifi.
    Screenshot 2026-03-18 at 11.33.04 AM.png
  2. Click the Addepar Portfolios tab.
    Screenshot 2026-03-18 at 11.34.24 AM.png
  3. If needed, change the list view from Recently Viewed to All.
    Screenshot 2026-03-18 at 11.35.51 AM.png
  4. Locate the client you would like to link on this list. They will have an empty Client field value. Select the caret icon on their row. 
    Screenshot 2026-03-18 at 11.37.21 AM.png
  5. Select Edit from the drop-down menu.
    Screenshot 2026-03-18 at 11.38.37 AM.png
  6. In the pop-up, search for the related Practifi client record in the Client field.
    Screenshot 2026-03-18 at 11.39.12 AM.png
  7. Click Save to finalize the link. After linking, the next scheduled sync (or a manual sync) will pull that client’s portfolio data from Addepar into their Practifi Household record.

Optional: Enabling Trust Sync

If your firm manages trusts, holding companies, or other complex entity structures in Addepar, you can enable trust sync to mirror these hierarchies in Practifi. This feature is optional and must be configured during integration setup.

What Trust Sync Does

When enabled, trust sync:

  • Syncs trust entity records from Addepar into Practifi as separate Account records.
  • Creates relationships between trust entities and their beneficiary households.
  • Syncs ownership hierarchies and holding structures (e.g., which holding company owns which assets).
  • Maintains these hierarchies in Practifi so your team can see the full entity structure.

Steps to Enable Trust Sync

  1. If not already in Setup, navigate there by selecting the cog in the upper-right corner and choosing Setup from the drop-down menu. 
    Screenshot 2026-03-18 at 3.03.16 PM.png
  2. Use the Quick Find search bar on the left-hand side to search for Custom Settings and select Custom Settings.
    Screenshot 2026-03-20 at 12.37.07 PM.png
  3. Locate Addepar Integration Settings on the Custom Settings page, then select the Manage hyperlink next to its name.
    Screenshot 2026-03-20 at 3.11.50 PM.png
  4. Click the Edit button. 
    Screenshot 2026-03-23 at 3.10.37 PM.png
  5. Check the Sync Trusts and Holding Companies checkbox.
    Screenshot 2026-03-23 at 3.12.16 PM.png
  6. Click Save. During the next scheduled sync, trust entities will be retrieved from Addepar and synced into Practifi.
    Screenshot 2026-03-23 at 3.13.08 PM.png

Important: Trust sync requires additional Addepar API calls and may impact your rate limit consumption. If you have limited API call capacity, coordinate with Practifi Support to ensure your sync schedule accommodates trust entity synchronization.


Optional: Installing Addepar Widgets

Addepar Widgets are embedded views that display Addepar data directly within Practifi page layouts without requiring a separate Addepar login. These widgets can show portfolio summaries, performance charts, and other visualizations. Widget availability and configuration options depend on your Practifi version and the specific widgets included in your integration package. Not all widgets may be available in all deployments. 

Practifi will assist you in implementing addepar widgets within your organization. Contact Practifi Support for details on which widgets are included in your setup.


Understanding Data Mappings

The Addepar integration maps data from Addepar’s object model to Practifi's object model. Understanding these mappings helps you interpret the data in Practifi and know where to expect Addepar information.

Portfolio-to-Household Mapping

Each Addepar portfolio syncs to a Practifi Household record. When you link a client, you are connecting a Household to an Addepar portfolio. During each sync, portfolio-level data (such as total AUM and overall performance) is stored on the Household record.

Asset-to-Financial-Account Mapping

Each Addepar asset (investment account, retirement account, custodial account, etc.) syncs to a Practifi Financial Account record. Financial Account records include:

  • Account Name: The account name from Addepar (e.g., “Fidelity Brokerage Account”, “Vanguard IRA”).
  • Account Number: The account number from Addepar (masked for security).
  • Custodian: The financial institution holding the account (e.g., “Fidelity”, “Vanguard”).
  • Current Value: The most recent account balance from Addepar.
  • Performance Metrics: Time-weighted returns, money-weighted returns, and other performance data calculated by Addepar.
  • Revenue: Advisory fees or revenue attributed to this account based on your firm’s billing structure in Addepar.

Holding-to-Position Mapping

Each Addepar holding (an individual security, fund, or position) syncs with a Practifi Holding record. Holding records include:

  • Security Name: The name of the security or fund.
  • Symbol/Ticker: The security ticker symbol, if available.
  • Quantity: The number of shares or units held.
  • Price: The current price per share or unit.
  • Market Value: The total value of the position (quantity × price).
  • Allocation Percentage: The holding’s percentage of total portfolio value.
  • Asset Class: The categorization of the security (e.g., US Equities, International Bonds, Alternatives).

Revenue Mapping

Revenue data syncs from Addepar based on your firm’s billing structure configured in Addepar. Revenue appears at the account level (Financial Account) and rolls up to the Household level. Revenue figures may include:

  • AUM-based advisory fees
  • Performance fees
  • Account-level or asset-type-based fees
  • Other revenue structures that are configured in Addepar

Entity Unmapping on Client Unlink

If you unlink a client from Addepar, all related Financial Account records are set to a Disposed stage, and all Holding records are marked as Disposed. These records remain in Practifi for historical reference but are excluded from AUM calculations and other aggregate metrics. The records are not deleted, allowing you to view historical data if needed.


Monitoring and Troubleshooting

After enabling the Addepar integration, regularly monitor sync execution and data integrity to ensure the integration is working correctly.

Checking Sync Status and History

  1. Navigate to Setup and used the Quick Find search bar to search for and select Scheduled Jobs.
  2. Look for the “Addepar Daily Sync” job in the list.
  3. Click on it to view the execution history. Each execution shows:
    • Scheduled time and actual execution time.
    • Status (Completed, Failed, Aborted).
    • Number of portfolios processed.
    • Any error messages if the job failed.
  4. If a sync failed, note the error message and contact Practifi Support with details.

Verifying Data Synced Correctly

  1. Navigate to the Data Management app in Practifi.
  2. Check the Integrations tab to confirm the client is marked as linked.
  3. Review the Financial Account records under the Household. Confirm that account names, values, and performance metrics match the data in Addepar.
  4. Open a Financial Account record and review the Holdings section. Confirm that the holding names, quantities, and values match those in Addepar.
  5. If data does not match, a sync may be in progress, or the next sync has not run yet. Wait for the next scheduled sync and then recheck.

Common Issues and Solutions

If you encounter issues with the Addepar integration or have questions about configuration, contact Practifi Support at support@practifi.com or through the Practifi Success Portal. Provide details about the issue, including any error messages you observe and the steps you took to encounter the problem. For questions specific to Addepar (portfolio data, performance calculations, Addepar platform features), contact your Addepar account manager or support team for assistance.

Issue: Sync job fails with an authentication error.

Solution: Verify that the Named Credential is configured correctly and that the OAuth token has not expired. Check the Auth Provider configuration and confirm that the Client ID and Client Secret are correct. Contact Practifi Support to re-verify credentials.

Issue: No data syncs even though the job completed successfully.

Solution: Confirm that clients are linked in the Integrations tab. If clients are not linked, data will not sync. Link clients and then trigger a manual sync or wait for the next scheduled sync.

Issue: Sync job is slow or times out.

Solution: Reduce the batch size or the maximum number of API calls per run in Addepar Integration Settings. Smaller batches take longer but are less likely to timeout. Contact Practifi Support to adjust these parameters.

Issue: Only some clients’ data syncs; others are skipped.

Solution: Check that all clients are properly linked. If a client is unlinked, their data will not sync. Verify Addepar has portfolio data for those clients. Review sync logs for rate limit warnings; if rate limits are hit, the sync may stop prematurely.


Security Considerations

Credential Storage and Management

Addepar credentials (OAuth tokens) are stored securely in Salesforce Named Credentials. These credentials are encrypted and never visible in plain text on configuration screens, in logs, or in API calls. Only the integration user account can use these credentials to authenticate API calls.

OAuth 2.0 Token Lifecycle

The integration uses OAuth 2.0 tokens that expire after a defined period (typically 1 hour). Salesforce Named Credentials automatically refresh the token before it expires, so the integration can continue to execute without interruption. You do not need to refresh tokens manually.

Data Transmission and Encryption

All communication between Practifi and Addepar occurs over encrypted HTTPS connections. No sensitive data is transmitted over unencrypted channels. Data stored in Practifi is encrypted at rest using Salesforce’s standard encryption mechanisms.

API Rate Limiting and Fairness

Addepar enforces rate limits to ensure fair usage across all clients. Your System Administrator must configure the sync parameters (batch size, maximum API calls per run) to remain within these limits. If rate limits are exceeded, the sync will pause and resume on the next scheduled execution.

Audit Logging

All Addepar sync execution and data synchronization events are logged in Practifi's system logs. These logs can be reviewed through Setup Debug Logs if you need to troubleshoot or audit integration activity. Maintain these logs for your organization’s security and compliance purposes.

Data Ownership and Retention

Practifi is the system of record for all client and account data. While Addepar data is synced into Practifi, your original records in Practifi remain the authoritative versions. Addepar data is read-only in Practifi and will be overwritten during each sync, so manual changes to Addepar data in Practifi will not be preserved.


Known Limitations

Be aware of the following limitations and constraints of the Addepar integration:

  • Inbound Only: The integration flows in one direction only, from Addepar to Practifi. Data cannot be written back to Addepar. Any corrections to portfolio or holding data must be made in Addepar.
  • API Rate Limits: Addepar enforces a limit of 50 API calls per 15 minutes and 1,000 calls per 24 hours per Firm ID. Sync scheduling must account for these limits. If your data volume is large, syncs may take multiple days to complete or require adjusted batch sizing.
  • Daily Sync Schedule: The integration runs daily. Real-time or intraday synchronization is not supported. For the most current data, advisors can trigger a manual sync from the Integrations tab.
  • No Automated Data Transformation: Data synced from Addepar is mapped directly to Practifi objects. Custom business logic, calculations, or transformations on top of Addepar data are not performed by the integration. If you need to apply custom calculations (e.g., model portfolio comparisons or custom performance attribution), you must implement them separately.
  • Trust Sync Requires Additional Configuration: Trust and entity hierarchy synchronization requires additional setup and may increase API call consumption. Ensure your rate-limit configuration accommodates trust entity syncs, if enabled.
  • Addepar Widget Support Varies: Not all Addepar widget types are available in all Practifi deployments. Widget availability depends on your integration package and Practifi version.
  • Historical Data Not Synced: Only current data from Addepar is synced. Historical account values, holdings, or performance data are not retroactively loaded into Practifi. Only prospective syncs (from the time the integration is enabled forward) will maintain historical records.
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.