// project 02 BETA

Salesforce Data Dictionary

Your Salesforce org, documented automatically

Salesforce orgs grow into thousands of fields, rules and automations that nobody fully remembers. Data Dictionary documents them automatically. It reads the org's setup (its metadata) from your Git repository and turns it into searchable documentation, relationship diagrams and dependency maps inside Salesforce. It covers objects and their custom fields, automation (flows, triggers and Apex classes), and profiles and permission sets. It rebuilds on demand or on a schedule, as often as every 15 minutes. No spreadsheets, no separate wiki and no switching between tools.

view demo →

On a phone, turn it sideways to watch.

Documentation Inside Salesforce

Most Salesforce teams document their org in spreadsheets and wiki pages. Those go stale the moment they are written, and nobody owns keeping them current.

Data Dictionary works from the metadata your team already keeps in Git. It connects to the repository, reads the force-app source folder, and builds a full picture inside Salesforce. That picture covers every custom field and its object, plus the automation, profiles and permission sets around them.

You see it all in a Data Dictionary app inside Salesforce: a searchable explorer, relationship diagrams, dependency maps and your team's documentation.

metadata_surfacethe 17 types the cache reads
01Custom fields, filterable by object, plus Platform Event and Custom Metadata fields
02Flows, triggers, Apex classes, validation rules and assignment rules
03Profiles, permission sets and record types
04List views, reports, custom labels and queues
05Connected apps and installed packages

A Tour of the App

A short film of the app running in a demo org. It walks through the Metadata Explorer, the ERD Viewer, the Dependency Viewer and the Documentation Viewer.

view demo →

Opens full screen. Escape closes it.

On a phone, turn it sideways to watch.

Data Dictionary
The Metadata Explorer: a tab for each metadata type, and the assignment rules table open below.
0:00

How It Works

Four steps, shown top to bottom below. Data Dictionary signs in to your Git repository and reads the metadata files. Apex code works out what each file describes. Salesforce limits how much work one transaction can do, so the build runs as a chain of smaller jobs. The results are saved in Salesforce, and Lightning Web Components show them in the app.

01 02 03 04 SOURCE Git Repository force-app metadata External + Named Credential authenticates to the provider APEXrepository / sync / metadata layers fetch & parse source ASYNC PIPELINE Queueable jobs, chained by Finalizers one per metadata type, big types in batches DATA CACHE Repository_ Metadata_Cache__c objects, fields, flows, security & more RUN HISTORY Repository_ Metadata_Run__c every build, and its status CONFIG Custom Metadata Types what to read & how to display it LWC VIEWERSread the cache, render the Data Dictionary app add to other Lightning pages Metadata Explorer Dependency ERD Docs Repository
Source & Sync
Git + Apex

Named and External Credentials sign in to the Git provider. Bitbucket Cloud is the one wired in today. Setup also lists GitHub, GitLab, Azure DevOps and AWS CodeCommit, each with a tested provider class, but every fetch still uses Bitbucket's API. Apex pulls the metadata files and parses them in a chain of Queueable jobs, one metadata type at a time, with big types split into batches of 80 files to stay inside Salesforce's limits.

Data Layer
Cached in Custom Objects

Parsed metadata is saved in Repository_Metadata_Cache__c. Each build is logged in Repository_Metadata_Run__c, and Change Data Capture on that object shows a build's progress as it runs. Custom Metadata Types set which metadata is read and how the columns are shown.

Presentation Layer
Lightning Web Components

Seven components make up the app: Metadata Explorer, Dependency Viewer, ERD Viewer, Documentation Viewer, Repository Explorer, Integration Setup and Application Configuration. The last two are for setup. Integration Setup connects the repository and sets the refresh schedule, and Application Configuration chooses which metadata types are read and how they are shown. They sit in the Data Dictionary app, and App Builder can add them to other Lightning pages.

Confluence to Salesforce, Through Git

The Documentation Viewer shows the documents your team writes, pulled from the same repository. Many teams keep those in Confluence. The Developer Tools extension for VSCode exports a Confluence space to Markdown files. A developer commits them next to the metadata, and Data Dictionary picks them up on the next refresh, over the same repository connection.

flowchart TD
    A["Confluence space
pages + images + attachments"] --> B["VSCode: Developer Tools
Confluence Export wizard"] B --> C["Storage XML to Markdown (turndown)
attachments in files/"] C --> D["git commit & push
to the documentation folder"] D --> E["Git repository
(Bitbucket Cloud)"] E --> V["Documentation Viewer (LWC)
Refresh"] V --> F["DocumentationDiscoveryQueueable
walk tree, collect .md paths"] F --> G["DocumentationContentBatchQueueable
fetch content in batches"] G --> I["Upsert Documentation_Page__c"] I --> H["DocumentationImageService
save images, rewrite links"] H --> V %% Blueprint tokens as literal hex (Mermaid cannot parse CSS vars or color-mix) classDef apex fill:#8b93e81f,stroke:#8b93e8,stroke-width:1.5px; classDef lwc fill:#62d99a1f,stroke:#62d99a,stroke-width:1.5px; class F,G,H,I apex; class V lwc;

Purple steps are Apex, running inside Salesforce. Green is the Lightning Web Component that shows the result. Everything above the Git repository happens outside Salesforce.

The Viewers

Metadata Explorer
Search Your Org's Setup

Browse the 17 metadata types it reads, from fields and flows to profiles and permission sets, with a tab for each type and a search across every column. Read each item's API name, label and key details without opening Setup or VSCode.

ERD Viewer
Relationship Diagrams on Demand

Draws entity-relationship diagrams (ERDs) from the saved metadata, showing how objects link through custom lookup and master-detail fields. Built on Cytoscape.js, with four layouts (hierarchical, breadth-first, circle and grid) and a side panel you can resize to inspect any object. Design reviews get a current diagram, so nobody has to hand-draw one that will be out of date by the next sprint.

Dependency Viewer
See What Touches What

Follow the links between fields, objects, Apex, flows, triggers, validation rules and permission sets, so you can see what uses what before you change anything. Zoom and drag around the graph, use the minimap to keep your place, and right-click a component for an impact analysis. Views like this usually need a separate diagramming tool. This one is built in Lightning Web Components.

Documentation Viewer
Your Team's Docs in Salesforce

Read the team's Markdown documents inside Salesforce, with highlighted code samples, search, and an outline that follows along as you scroll. They refresh from the repository, so nobody copies documents across by hand.

Repository Explorer
Branches, Commits and Pull Requests

Read the connected repository's README, branches, commits and pull requests inside Salesforce, without switching to the Git provider's site.

Application Configuration & Integration Setup
Point It at Your Repo

Guided setup screens connect the repository, set the refresh schedule, and choose what gets read and shown. The settings live in Custom Metadata Types, so changing them needs no code. Errors are logged to Error_Log__c for troubleshooting.

Useful to Everyone on the Team

Everyone on the project uses the same information in their own way, from the first scoping conversation to support years later.

DEV
Developers

Look up an API name, check what depends on a field, and understand existing patterns before writing code, without leaving Salesforce.

ARCH
Solution Architects

Pull up relationship diagrams for design reviews, check how objects connect, and spot what can be reused before adding new objects.

BA
Business Analysts

See what already exists when mapping requirements, and avoid asking for fields the org already has.

QA
QA & Testers

Use the relationship and field reference to design test scenarios that cover the objects a change actually touches.

ADM
Administrators

A current inventory of configuration to refer to, instead of clicking through Setup to remember how something was built.

SUP
Support Teams

Look up field context and relationships when triaging an issue, with fewer escalations to the dev team just to ask what a field does.

MGR
Project Managers

A clearer read on complexity for estimates, and faster onboarding for anyone joining the project.

SLT
Stakeholders & Clients

Relationship diagrams make the design easy to follow for people who do not write code, and the knowledge stays in Salesforce when people move on.

Documentation That Rebuilds Itself

Data Dictionary builds its picture of the org from the repository, so nobody has to write it or keep it up to date by hand.

A traditional data dictionary is a document someone has to write and hand over. Data Dictionary produces the same information from the metadata already in your repository.

Hand-maintained documentation
01Costs real effort to write in the first place
02Out of date the moment the next change ships
03Needs an owner and ongoing upkeep to stay useful
04Lost when that person leaves
05Lives in a separate tool, so people stop checking it
Data Dictionary
01Connect the repo once, then rebuild on demand or on a schedule
02Reflects what is actually in version control
03A rebuild brings it up to date, with nothing to write
04Knowledge stays in Salesforce when people leave
05Built into Salesforce, so it is there when you need it

Where It Helps, From Build to Support

BUILD
Development

Custom objects, fields, automation and integrations

What it gives the team
01Field and API name lookup without leaving Salesforce
02Dependency view to check what a field touches before changing it
03Existing patterns visible, so people build on what is there
Why it matters
01Less time hunting through Setup and source
02Fewer surprises from unseen dependencies
03Less duplicate metadata created by accident
TEST
Testing & QA

Functional testing, integration testing, UAT

What it gives the team
01A clear map of relationships to test around
02Field-level reference for building test scenarios
03Visibility of what a change actually affects
Why it matters
01Test coverage aimed at the objects that matter
02Fewer integration paths missed
03UAT starts from a clearer picture
SUPPORT
Go-Live & Support

Deployment, the first weeks after go-live, and ongoing support

What it gives the team
01Field context and relationships at triage time
02A current reference for whoever is on support
03Diagrams on hand for handover conversations
Why it matters
01Support answers more questions without the dev team
02Faster answers during the highest-pressure period
03Knowledge survives handovers and team changes
EVOLVE
Maintenance & Evolution

Enhancements, scaling and new integrations

What it gives the team
01Reuse opportunities visible before adding new metadata
02Existing integrations laid out before adding more
03Up-to-date relationship diagrams for any planning conversation
Why it matters
01Cleaner architecture as the org grows
02Decisions made with the full picture in view
03Documentation that keeps up without extra effort
It pays off more as the org grows. The bigger and more tangled an org gets, the harder it is to document by hand. Data Dictionary takes that recurring job off the team.

Technology Stack

Apex Lightning Web Components SOQL 2GP External Credentials Named Credentials Queueable Apex Scheduled Apex Change Data Capture Custom Metadata Types Custom Objects Bitbucket REST API Cytoscape.js Salesforce CLI