Wednesday, September 28, 2016 Prospector Usage

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

You can monitor overall usage from Setup | Administration | Prospector Users

Or, you also can run a report with report type " Users and 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 details of the contacts or accounts added, the 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 try 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

Addition: you can check users assigned with license from Setup | Administration | Prospector Users,

For you prefer SOQL:
SELECT Id, Name FROM User WHERE IsActive = TRUE AND UserPermissionsJigsawProspectingUser = TRUE