Wednesday, September 28, 2016 Prospector Usage and User

When you subscribe to Prospector, each licenses user allow to importing company and contact records into Salesforce or export to CSV file with default maximum number of 300 records /month /user.

You can monitor overall usage for current month from Setup | Administration | Prospector Users

Or, you also run a report with report type " Usage", this report will show:
  • When is the transaction (created date)
  • Who is the user (created by)
  • Purchase Type (added or exported)
  • Purchase Count (number of records exported or added)

But if you want to drill-down to the details of the contacts or accounts added, that report will not show you that information.

Solution: use SOQL
There are 2 objects related to this DatacloudPurchaseUsage and DatacloudOwnedEntity.

1. DatacloudPurchaseUsage - this object will store all purchase history.
Sample query: SELECT Id, Name, Usage, DatacloudEntityType, PurchaseType, User.Name, CreatedDate FROM DatacloudPurchaseUsage WHERE Id = '09Fo0000000RZ7sEAG'

2. DatacloudOwnedEntity - this object will store each contact or account exported or added to Salesforce.
Sample query: SELECT Id, Name, PurchaseUsageId, DataDotComKey, DatacloudEntityType, PurchaseType, User.Name, CreatedDate FROM DatacloudOwnedEntity WHERE PurchaseUsageId = '09Fo0000000RZ7sEAG'

Even there is no Contact Name or Company Name recorded in this object, but there are a few pointers:
1. Key - you can match this key to match with data exported or added to Salesforce
2. DatacloudEntityType - 0 = Contact and 1 = Company
3. PurchaseType - 0 = added and 1 = export

As you see, DatacloudOwnedEntity object is a lookup to DatacloudPurchaseUsage object, via field PurchaseUsageId. For you that familiar with SOQL, as you see above queries using child-to-parent query. However, when trying to use the parent-to-child query, it is just not possible. Further check, I do not see DatacloudOwnedEntity as child relationship from DatacloudPurchaseUsage.

Screenshot of child relationship taken from DatacloudPurchaseUsage

Compare to standard object child relationship, example: Opportunity to OpportunityLineItem

You can check users assigned with license from Setup | Administration | Prospector Users

Unfortunately, Salesforce screen does not allow you to copy-paste into Excel file nicely, but you can use SOQL to retrieve this:
SELECT Id, Name, Title, Profile.Name FROM User WHERE IsActive = TRUE AND UserPermissionsJigsawProspectingUser = TRUE ORDER BY Name