Live

Salesforce

CLI-powered data orchestration on top of sf CLI. Deterministic snapshots, pack/apply with receipts, drift detection, and smoke assertions — the same control-plane loop as HubSpot and Dynamics, purpose-built for Salesforce orgs.

What You Get

Deterministic Receipts

Every pack apply produces timestamped artifacts: before.csv, after.csv, success.jsonl, errors.jsonl, plan_used.json, and drift_check.json. Know exactly what changed.

Data Snapshots

Export any Salesforce object into a deterministic manifest with row hashes and field-level checksums. Use inline --object/--fields or a reusable snapshot spec (YAML/JSON).

Trust-First Deployment

Plans generate a SHA-256 plan_hash. Apply requires the exact hash — in CLI, CI/CD, and MCP. If the org drifts between plan and apply, the hash won't match and the deploy is rejected.

Drift Detection

Run g-gremlin sfdc drift at any time to compare the current org state against the last snapshot. See exactly what changed, by object and field.

Smoke Assertions

Define post-apply checks in pack.yaml: record exists, field equals X, count >= N. Failed assertions exit non-zero for CI/CD pipelines.

Full sf CLI Log Capture

Raw stdout/stderr from every sf CLI subprocess call is captured in the receipt bundle. Debug failures without re-running.

Expanded Metadata Coverage

Flow, FlexiPage, Layout, ApexClass, ApexTrigger, LightningComponentBundle (LWC), and RecordType are fully supported in metadata-pack. Deploy with full component visibility.

MCP Server for AI Agents

Give Claude Desktop, Cursor, or Windsurf structured Salesforce access via MCP. Read tools enabled by default, writes behind --enable-writes with plan-hash safety.

Example Flows

terminal
$ g-gremlin sfdc doctor --json
✓ sf CLI:     2.68.8
✓ Auth:       [email protected]
✓ Org ID:     00D5f000000XXXX
✓ API:        v62.0
Status: ok
terminal
$ g-gremlin sfdc snapshot --object Account --fields "Id,Name,Industry,AnnualRevenue" --out ./baseline
Snapshot written to ./baseline
  manifest.json  |  1,247 rows  |  4 fields  |  sha256: a3f8...
terminal
$ g-gremlin sfdc pack init ./acme_pack
Created ./acme_pack/pack.yaml
  Edit pack.yaml to define your updates, then run: g-gremlin sfdc pack plan ./acme_pack

$ g-gremlin sfdc pack plan ./acme_pack
  12 updates planned  |  object: Account  |  baseline locked
  Plan written to ./acme_pack/plan.json

$ g-gremlin sfdc pack apply ./acme_pack --yes
  Applied. Receipts: ./artifacts/20260128T160000Z/receipts/
  before.csv  after.csv  success.jsonl (12)  errors.jsonl (0)
terminal
$ g-gremlin sfdc drift ./acme_pack
  Comparing current org state against last snapshot...
  3 records changed out-of-band  |  0 new  |  0 deleted
  Drift report: ./acme_pack/drift_check.json
terminal
$ g-gremlin sfdc describe Account --fields-only --json
  72 fields  |  18 custom  |  5 required
  Key: Id, Name, Industry, AnnualRevenue, OwnerId, CreatedDate...
terminal
$ g-gremlin sfdc manifest-generate ./force-app --include ApexClass --include Flow
  Component scan complete
  ApexClass: 23  |  Flow: 8
  package.xml written to ./force-app/package.xml
terminal
$ g-gremlin sfdc reports list --json
  Reports: 47
  Name                          Id              Folder
  Pipeline by Stage             00O5f000004XXX  Sales Reports
  Won Deals This Quarter        00O5f000004YYY  Executive
  Lead Conversion Rates         00O5f000004ZZZ  Marketing
terminal
$ g-gremlin sfdc docs generate --objects Account,Contact,Opportunity --out ./docs
  Generated documentation for 3 objects
  Output: ./docs/Account.md, ./docs/Contact.md, ./docs/Opportunity.md

How It Works

1

Doctor

Verify sf CLI is installed, authenticated, and can reach the target org.

2

Whoami

Confirm org identity — username, org ID, instance URL, and API version.

3

Snapshot

Export current object data into a deterministic manifest with row hashes.

4

Pack Plan

Compare pack.yaml updates against the snapshot baseline. Lock the plan fingerprint.

5

Pack Apply

Execute updates with full receipt capture: before/after CSVs, success/error logs, plan + drift artifacts.

6

Drift

Re-snapshot and diff against baseline to detect out-of-band changes at any time.

7

Smoke

Run assertions: record exists, field value matches, row count within threshold.

Ready to orchestrate Salesforce?

Start with the Gremlin CLI free trial. Run your first Salesforce snapshot in under five minutes.