**Note: This content is intended for system administrators and is technical in nature**
Practifi will set up the Black Diamond integration for you. Please contact your Practifi Account Manager to arrange.
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.
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, above. This may be discarded after initial use as a Refresh Token, detailed below, is used instead.
Please pass the above information to your Practifi Account Manager to commence the setup.
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|
The following steps are required to enable the Black Diamond Integration
- Create Auth Provider
- Create Named Credential
- Remote Site Settings
- Configure Black Diamond Integration Settings
- Schedule Synch Job
- Add new Source value
- Add Account Mapping tab to UI
1. Create the Static Auth Provider
Under OAuth 2.0 the Authentication Provider is set up between Black Diamond and Practifi for all Client Orgs. It is the same reference for all Client Orgs and is only set up once by Practifi.
Go to Salesforce Setup under the user’s avatar/picture icon in the top right.
Go to the Quick Find/Search bar, search for and click on Auth. Providers.
Click on New.
Complete the details on the new Auth Provider panel, as follows:
Supply the following:
- Provider Type: BlackDiamondAuthProvider
- Name: Use Black Diamond Choose the name carefully! 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: <Follow default. Note, its use again under 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 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 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. That is, a Salesforce user which has permission to create Auth Providers, typically a System Administrator.
Click "Save" and now go back to click on the newly created (Black Diamond) Auth. Provider.
Now copy the Callback URL, which we need to set up Custom Settings in step 4.
2. 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, go to the Quick Find/Search bar, search for and click on Named Credentials
Click on New Named Credential.
Supply the following:
- Label: Suggest Black Diamond
- Name: <follow default>
- URL: https://api.bdreporting.com/
- Identity Type: Named Principal
- Authentication Protocol: OAuth 2.0
- Authentication Provider: Black Diamond (per the StaticAuthProvider set up in Step 1 above)
- Scope: Null
- Start Authentication on Save: Ticked. This will take the user to the Black Diamond logon page, on which 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: Ticked
**Note: You may face an error that is because the Custom Settings and Remote Site Settings are not done yet which we will be doing in the next steps.**
3. Create the Remote Sites
Set up Black Diamond remote site settings.
In Salesforce Setup, go to the Quick Find/Search bar, search for and click on Remote Site Settings.
Click on New Remote Site.
Supply the following:
- Remote Site Name: Suggest Black_Diamond
- Remote Site URL: https://api.bdreporting.com/
4. Activate Black Diamond Integration
In Salesforce Setup, go to the Quick Find/Search bar, search for, and click on Custom Settings.
Click Manage next to Black Diamond Integration Settings. The setting row will already be present.
Supply the following:
- Callback URL: <Paste the URL that we copied from Black Diamond Auth. Provider in step 1>
- Named Credentials: Name of the Named Credential set up in Step 2 above.
- External Id Asset Liability: practifi__External_Id_2__c
- External Id Holding: practifi__External_Id__c
Now navigate back to the Named Credentials click "Edit" for the Black Diamond and click "Save".
5. Schedule Synch 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, search for and click on Apex Classes
Click on Schedule Apex
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.
6. 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 (Black Diamond), click on 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, and Edit alongside the Source field
Move the Black Diamond value from the Left side to the Right side, and click Save.
7. Add Account Mapping tab to UI
Assign the Practifi - Black Diamond permission sets to the users who need access to the Black Diamond Integration.
Go to Salesforce Setup, search and click Permission Sets.
Now click Practifi - Black Diamond. This row will already be present.
Click Manage Assignments, and click Add Assignment.
Select Users and click Assign.
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.