Practifi’s direct integration with Black Diamond allows you to gain visibility over client portfolios from accounts through to individual holdings without the need to manually aggregate and reconcile from multiple sources. Black Diamond’s aggregated portfolio data is synchronized with Practifi on an overnight basis. Investment portfolios, asset classes, and holding balances are all accessible from the client record in Practifi.
This article outlines the steps to enable the Black Diamond integration in your organization. For more information about the Black Diamond integration, please consult our Using the Black Diamond 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
- Data Field mapping
Before you begin
Practifi will set up the Black Diamond integration for you. You must have a Black Diamond subscription to use this integration.
Please make sure you have the following credentials from Black Diamond for the initial setup:
- Black Diamond username – The username for a valid Black Diamond user. This identifies the client firm they are part of and what data they have access to. When using the Sandbox (test system), use the credentials you were given to access that site.
- Black Diamond password - The password for the username used above. This may be discarded after initial use if a Refresh Token, detailed below, is used instead.
Please pass the above information to your Practifi Account Manager to commence the Black Diamond integration setup.
Create the Static Auth Provider
Under OAuth 2.0, the Authentication Provider is set up between Black Diamond and Practifi for all client organizations. It is the same reference for all client organizations and is only set up once by Practifi.
- Go to Salesforce Setup under the user’s avatar picture icon in the top right-hand corner.
- Use the Quick Find search bar tosearch for and select Auth. Providers.
- Select the New button on the Auth. Providers page.
- Supply the following details on the new Auth Provider panel:
- Provider Type - BlackDiamondAuthProvider
- Name - Use Black Diamond
- Please note: Choose the name carefully and once the name has been created, do not delete it and try to recreate it. Salesforce still retains a reference to the original name and will have trouble authenticating with Black Diamond again after the change.
- URL Suffix - Use the default value. Note its use again under the Developer Name field
- Access Token URL - https://api.bdreporting.com/issue/oauth2/token
- Client Id - This is a partner Consumer Key issued to Practifi by Black Diamond, to be shared across all the mutual client firms. Please contact the Practifi Support team to get access to this Id.
- Client Secret - This is a partner Consumer Secret issued to Practifi by Black Diamond, to be shared across all the mutual client firms. Please contact the Practifi Support team to get access to the Client Secret.
- Password - Enter the credentials of your Black Diamond account.
- Username - Enter the credentials of your Black Diamond account.
- Execute As - Select an active Admin user. A Salesforce user that has permission to create Auth Providers is required. This is typically a System Administrator.
- Select Save, and navigate back to click on the newly created Black Diamond Auth. Provider.
- Copy the Callback URL which will be needed to set up custom settings.
Create the Named Credential
Create a Named Credential for accessing the Black Diamond client system. To complete creating the Named Credential, the Client must supply the name of an Admin user within Black Diamond 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.
- Click on New Named Credential.
Supply the following information:
- Label - We suggest using Black Diamond.
- Name - Leave the default value in this field.
- URL - https://api.bdreporting.com/
- Identity Type - Named Principal
- Authentication Protocol - OAuth 2.0
- Authentication Provider - Black Diamond or the name StaticAuthProvider set up above.
- Scope - Null
- Start Authentication on Save - Checked. This will take the user to the Black Diamond login page, where the Admin user provides their Black Diamond username and password. The integration is then authenticated to allow Black Diamond client data to be accessed by Practifi.
- Generate Authorization Header -Checked
Please note: You may face an error when saving this Named Credential because the Custom Settings and Remote Site Settings are not done yet which we will be doing in the next few steps. The Named Credential will be finalized at the very last step.
Create the Remote Sites
- In Salesforce Setup use the Quick Find search bar to search for and select Remote Site Settings.
- Click on New Remote Site.
Supply the following:
- Remote Site Name - We suggest using Black_Diamond
- Remote Site URL - https://api.bdreporting.com/
- Select Save to finalize this creation.
Activate the Black Diamond Integration
- In Salesforce Setup use the Quick Find search bar to search for and select Custom Settings.
- Select Manage beside Black Diamond Integration Settings. The setting row will already be present.
- Within the Custom Setting page, the New button at the top is the one to use. Please do NOT use the bottom New button which will create a Custom Setting Action and cause a "Formula Expression is required on the action attributes" error when trying to save the Named Credential later on.
- In Integration Settings supply the following:
- Callback URL - Paste the URL copied from Black Diamond Auth. Provider.
- Named Credentials - Name of the Named Credential set up above.
- External Id Asset Liability - practifi__External_Id_2__c
- External Id Holding - practifi__External_Id__c
- Select Save to finalize this change. The correct Custom Setting should look like this:
- Navigate back to the Named Credentials and select Edit for the Black Diamond named credential.
- Select Save and the Named Credential will now be Authenticated.
Schedule Sync Job
The importing of Black Diamond Assets and Holding takes place once a day, at the end of the processing day for Black Diamond. Bear in mind that Black Diamond is located in the USA, so the time of day chosen should be in the off-work hours for a USA business.
- Go to the Quick Find search bar and search for and select Apex Classes.
- Select the Schedule Apex button.
- Look up BlackDiamondScheduledSync and select the Apex Class.
- Apply the required schedule, bearing in mind the end-of-day completion jobs on the Black Diamond system.
- Select Save to finalize this change.
Add Black Diamond as new Source Value
- Add Black Diamond as a new Source in the Source list. Navigate to Object Manager > Asset/Liability > Fields & Relationships > Source.
- Towards the end of the page is the list of available Sources. To add a new Source of Black Diamond, 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 the Source picklist. Select Edit alongside the Source field.
- Move the Black Diamond value from the left-hand side in the Available Values list to the right-hand side Selected Values list and select Save.
Assign permission sets
Assign the Practifi - Black Diamond permission sets to the users who need access to the Black Diamond Integration. To assign the permission set:
- Go to Salesforce Setup and search and select Permission Sets.
- Select Practifi - Black Diamond. This row will already be present.
- Select Manage Assignments, and click Add Assignment.
- Select the users that need access to the integration and select Assign.
Please note: If Black Diamond is the only integration added to the Practifi system then the choice of Black Diamond as a dropdown choice on the Integrations tab will not appear. The Black Diamond portfolios will appear immediately on the mapping panel without needing to specifically select Black Diamond.
Data Field Mapping
The following table details the mapping of values from Black Diamond across to Practifi Assets and Holdings.
Account (Black Diamond) >>> Asset/Liability (Practifi)
|Account Number||Account Number|
|Valuation Date||As of Date|
|External Number||PFI ID | BD ID|
|Current Value||Sum of Holdings values|
Holding (Black Diamond) >>> Holding (Practifi)
|Segment Name||Segment Name|
|Class Name||Class Name|
|As At||As of Date|
|External Number||Account ID|
|Unit Value||Market Value / Units|