Hi fellow DataBlazers
I'm currently working on a Tableau Next project where i need to report on HOME page use and logged in users and potentially when users have been logged in.
Unfortunately neither LightningUriEvent or LoginHistory seems to be accessible through the normal Salesforce CRM connector in Data 360.
Normally I would get the endpoint from the EventLogFile object and download the CSVs from a BASH script, but for this project I need to have the data from multiple orgs and share them to a central Data 360 org!
Any suggestions on how to accomplish that?
Hi @Allan Pheiffer,
Since neither object is in the CRM connector, the realistic route is to push the data in yourself. Here are the options, most practical first.
1. Keep the EventLogFile approach, but centralize it (recommended)
- Extend your script, or use middleware such as MuleSoft, to loop over every org and pull the Login and Lightning page-view logs.
- Add an OrgId column to every row. Include it in the primary key, otherwise IDs from different orgs can collide.
- Load the result into Data 360 in one of two ways:
- Land the files in cloud storage and use the storage connector.
- Push them to the Ingestion API. It supports both streaming and bulk patterns, and it handles backfills and scheduled loads of large volumes. salesforce
- For a Tableau Next usage report, daily batches are usually enough. If you want fresher data, streaming ingestion is processed asynchronously roughly every 3 minutes. salesforce
- Event Monitoring logs are a good source but aren’t durable, so data loss can occur during site switches, instance refreshes or outages. Keep your own copy of the raw files if you need an audit-grade history. salesforce
2. Push from inside each org
- Run a scheduled Apex or Flow job in each source org.
- Query LoginHistory with SOQL and call the Ingestion API.
- For LightningUriEvent, plan the query carefully. It’s a big object that only allows filtering on EventDate and EventIdentifier, and only supports WHERE, ORDER BY and LIMIT. That means incremental pulls by EventDate watermark. salesforce
- This keeps everything in Salesforce, but you maintain code in every org.
3. Streaming via Real-Time Event Monitoring
- LoginEventStream is part of Real-Time Event Monitoring and requires the Shield Event Monitoring add-on plus the View Real-Time Event Monitoring Data permission. salesforce
- There is also a Data 360 Platform Events connector, but it’s in Beta and requires a Shield or Event Monitoring license along with a Data Cloud license. salesforce
- I haven’t verified whether that connector can subscribe to other orgs’ event buses or only the home org’s. Check that before designing around it. Beta status may also have changed since that page was written.
What won’t solve it
- Data Cloud One. Standard CRM connections can already ingest from many orgs. Data Cloud One adds companion-org access to the unified data, not new source objects. salesforce
Check in each source org
- Event Monitoring or Shield is licensed in every org, since LightningUriEvent and the logs depend on it.
- How far back you need history. I believe LoginHistory is only kept for about six months, but I haven’t confirmed that here. If you need a longer history, start archiving now.
- Whether the “home page” usage you want to report on is the same as Lightning page views. LightningUriEvent covers record create, access, update and delete in Lightning Experience only, and doesn’t track Setup events. For page-level views, the Lightning page-view log in EventLogFile may fit better. I haven’t checked its exact fields. salesforce
Sources:
- LightningUriEvent (Platform Events Developer Guide)
- Ingest Data into Data 360
- Set Up the Platform Events Connector (Beta)
- Subscribe to a Standard Platform Event Channel
- Connect Multiple Orgs with Data Cloud One (Trailhead)
I hope you find the above information helpful. If it does, please mark it as Best Answer to help others too.