You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+59-35Lines changed: 59 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,8 @@
1
1
# Salesforce Objects Scanner
2
2
3
-
**Quickly understand your Salesforce org’s data footprint.**
3
+
> Enterprise-grade Salesforce data analysis tool built with Robot Framework and Python.
4
+
> Supports scanning all queryable sObjects, retrieving accurate record counts, identifying Large Data Volume (LDV) risk areas, and generating structured Excel reports. Used in enterprise environments for data volume analysis, migration planning, and storage optimization across large-scale Salesforce orgs.
4
5
5
-
Scan all queryable sObjects, get accurate record counts, identify Large Data Volume (LDV) risks, and generate ready-to-analyze Excel reports — all with safe, timeout-protected execution.
6
-
7
-
> Enterprise-grade Salesforce org analysis tool for data visibility, LDV detection, and migration planning.
8
-
> Designed to handle Salesforce orgs with hundreds to thousands of objects while maintaining predictable execution and structured outputs.
9
6
---
10
7
11
8
## Built With
@@ -28,6 +25,8 @@ Built using **Robot Framework + Salesforce CLI**, the tool provides a structured
28
25
29
26
Native Salesforce tools offer limited visibility into object-level data size and lack a unified way to analyze all sObjects. This tool addresses those gaps by delivering comprehensive, structured reporting across your entire org.
30
27
28
+
Used by SDETs, Salesforce architects, and migration teams for large-scale Salesforce org analysis.
29
+
31
30
---
32
31
33
32
## When to Use This Tool
@@ -55,6 +54,8 @@ Native Salesforce tools have limitations:
55
54
56
55
## Key Features
57
56
57
+
- Designed for safe execution in large orgs without hitting long-running query risks
58
+
- LDV (Large Data Volume) detection-ready outputs for identifying high-volume objects
58
59
- Scans all queryable objects using `sf sobject list --json`
59
60
- Executes `SELECT COUNT()` queries across standard and Tooling API objects
60
61
- Smart filtering of noisy and unsupported objects
@@ -67,41 +68,47 @@ Native Salesforce tools have limitations:
67
68
- INVALID_TYPE / restricted objects
68
69
- Per-object execution time tracking
69
70
- Generates structured JSON outputs and Excel report
-**Robot Framework** – Serves as the orchestration layer, enabling keyword-driven automation to structure the scanning workflow, manage execution flow, and keep the solution readable and maintainable
96
+
-**Salesforce CLI (sf)** – Acts as the control interface to Salesforce, handling authentication and executing SOQL queries such as SELECT COUNT() to retrieve object-level record counts
97
+
-**Python** – Provides the extensibility layer for building custom utilities, handling JSON parsing, processing results, and enhancing overall automation capabilities
98
+
-**ExcelWriter utility** – Custom-built reporting component that transforms raw scan results into structured Excel reports, making it easy to analyze object distribution and identify LDV (Large Data Volume) risk areas
95
99
96
100
---
97
101
98
102
## Quick Start
99
103
100
104
### Prerequisites
101
105
- Python 3.8+
106
+
- Node.js (required for Salesforce CLI)
102
107
- Salesforce CLI (`sf`)
103
108
- Robot Framework and dependencies
104
109
110
+
> Salesforce CLI requires Node.js as a runtime dependency.
Documentation Retrieve and log record counts for Salesforce objects from Excel list
2
+
Documentation Retrieve and log record counts for all queryable Salesforce objects using Salesforce CLI (sf), with filtering, timeout protection, and structured output generation.
3
3
Resource ../resources/keywords.robot
4
4
Suite Teardown Cleanup Suite
5
5
6
-
*** Variables ***
7
-
# Set this to the same alias used in: sf org login web --alias <org_name>
0 commit comments