AdminSnap - Salesforce Metadata Utility
A fast, lightweight web app built in Next.js that helps Salesforce admins audit metadata, search fields, and clean page layouts in seconds.
Value Delivered:
Reduces manual metadata dependency mapping time from hours to click-and-search actions.
1. Project Overview
Finding out where a Salesforce field is used (which reports, classes, and layouts) usually requires complex Org searches or heavy IDE downloads. AdminSnap makes metadata inspection as fast as a search query.
2. Business Problem & Goals
Core Challenge
Salesforce's native Tooling API can be slow and hard to query for non-technical admins. Before deleting or editing a field, admins live in fear of breaking reports, flows, or validation rules that depend on it.
Key Project Goals:
- Build a zero-installation, web-based metadata scanner.
- Create a visual dependency tree for custom fields.
- Index metadata locally on the client browser for speed and compliance.
3. Technical Architecture
The application resides entirely on client-side JS. Next.js handles routing and static generation, while JS libraries query Salesforce endpoints directly using OAuth tokens, ensuring customer metadata is never saved on external servers.
System Integrations Map
Mermaid Diagram Code representation:
graph LR User[Admin User] -->|Logs In| OAuth[Salesforce OAuth2] OAuth -->|Access Token| AdminSnap[AdminSnap Client App] AdminSnap -->|Tooling API Query| SF[Salesforce API Endpoint] SF -->|JSON Schema Metadata| AdminSnap AdminSnap -->|Renders Map| Graph[Interactive Dependency Graph]
Connected APIs
- Salesforce REST Tooling API for querying field dependencies
- Salesforce OAuth2 User-Agent flow for authentication
Component Stack
- OAuth Login Bridge (Next.js serverless route for token swap)
- Metadata Parser Engine (Client-side React context)
- Dependency Graph Visualizer (React Flow canvas rendering)
Key Design & Technology Decisions:
4. Screenshot Gallery
Main dependency tree view highlighting mapping links across reports, classes, and page layouts.
Build in Public & Timeline
Project Timeline Phasing
Tested Salesforce Tooling API limitations regarding complex layouts.
Created basic OAuth flow and queried standard objects metadata.
Integrated React Flow and built tree-rendering algos.
Shared with 15 Salesforce admins via Twitter/LinkedIn.
Launched on product directories and open-sourced.
Technical Build Journal
Needed to swap authorization codes safely. Created a lightweight Next.js api endpoint to swap code for token securely without exposing secret credentials.
Open-sourced AdminSnap. Received 40 stars in the first 48 hours and resolved two issues submitted by community contributors.
Lessons Learned
Querying metadata API limits can cause problems in large orgs. For orgs with over 500 custom fields, parallel fetching stalled. We implemented batch processing and a localized cache in IndexedDB to speed up subsequent queries.
Future Roadmap
- Add direct XML/Package.xml generation to make deployment sets.
- Support mass-delete of fields directly from the utility interface.
Start Streamlining Your Systems
Schedule a quick 15-minute consultation to walk through your operational bottlenecks. No corporate jargon—just practical engineering advice.