How SchemaForce works

From OAuth to a living change history — the model behind the product.

SchemaForce turns your Salesforce metadata into a living record of how your schema changes over time. It reads the structure of your org — never your records — and compares each new read against what it saw before. This page walks through that lifecycle end to end.

Metadata-only by design

Everything below operates on schema definitions: objects, fields, relationships, permissions, and their attributes. SchemaForce never reads, stores, or displays a single record.

The lifecycle

Connect over OAuth

You authorize SchemaForce to read your org's metadata via OAuth — production or sandbox, My Domain or standard login. See Connect your Salesforce org.

Baseline snapshot

The first full crawl stores a complete snapshot of your schema — every object, field, relationship, and attribute as it exists the moment you connect. This becomes your baseline.

Diff on every sync

Each sync re-reads your metadata and diffs it against the stored snapshot. Nothing is assumed — the live schema is compared attribute by attribute against what was last recorded.

Change events

Every added, modified, or removed object, field, or attribute becomes an append-only change event. Each event captures the old → new values — schema attribute values such as a field's prior label or type, never record data — and survives deletion of the underlying field or object.

Attribution

SchemaForce correlates each change to who made it using Salesforce's Setup Audit Trail, with honest confidence levels. A custom-field name match is high-confidence; platform-driven changes are attributed to "Salesforce"; and where there's no reliable match, a change is left unattributed rather than guessed at.

Sync cadence

SchemaForce keeps your snapshot current on a schedule, with an on-demand escape hatch:

Daily incremental sync

Re-reads only what changed since the last run — fast and low-overhead.

Weekly full reconciliation

A complete re-crawl catches deletes, renames, and anything an incremental sync missed.

Sync now

Run a sync on demand from the org's page — useful right after a big deployment.

The first sync won't flood your timeline

Baseline suppression makes your first sync insert-only — it records what exists without emitting an "added" event for everything that was already there. The timeline starts clean, with real changes only.

Glossary

A few terms used throughout the docs:

Snapshot

The stored representation of your schema at a point in time. The first one is your baseline; every sync diffs against the latest.

Drift

The difference between your live schema and the stored snapshot — what a sync detects and turns into change events.

Change event

An append-only record of a single added, modified, or removed object, field, or attribute, with its old → new values. It survives deletion of the underlying schema.

Blast radius

What depends on a field or object — the reports, automations, and other components that could break if you change it.

Grantor

A profile, permission set, or permission-set group that grants access to an object or field.

Next steps

Was this page helpful?