Documentation

OpsForce documentation

How to connect an org, run your first comparison, and deploy changes — plus answers to the questions that come up along the way.

Getting started

Three steps to your first deploy

  1. Connect a Salesforce org

    From Orgs, authenticate an org through Salesforce's standard OAuth flow. OpsForce never sees or stores your username or password — only the resulting token, scoped to your team.

  2. Run your first comparison

    From Compare, pick a source and target — any combination of connected orgs and git branches — choose which metadata types to include, and click Compare now.

  3. Review results and deploy

    Open the finished comparison, select exactly the changes you want (down to a single Profile permission or a single code hunk), and deploy the selection to your target.

Prerequisites

Org connection prerequisites

OpsForce connects to Salesforce orgs the same way regardless of environment type — scratch orgs, developer sandboxes, partial and full sandboxes, and production all authenticate through OAuth and can be used as either the source or the target of a comparison.

  • No username or password is ever stored — only the OAuth token, scoped to your team.
  • Team admins control which orgs are connected and can revoke access at any time.
  • OpsForce checks token validity and API accessibility on a 30-minute health cycle, and surfaces connection status (healthy, connected, expiring, expired) in the app.
  • Token refresh is automatic — you only need to re-authenticate if a refresh itself fails.

How it works

Comparison lifecycle

Every comparison run moves through one of the following statuses:

StatusWhat it means
pendingThe comparison has been queued and has not started running yet.
in_progressMetadata is being retrieved and diffed. The comparison page polls for live progress.
completedThe comparison finished successfully with no errors.
completed_with_errorsThe comparison finished, but one or more items could not be retrieved or diffed — review the flagged items before deploying.
failedThe comparison could not complete, usually due to an org authentication or API error.
cancelledThe comparison was stopped before it finished.

Once a comparison is done, you can run it again two ways. Refresh preserves your prior selections and edits and three-way-merges anything that changed upstream, flagging genuine conflicts for review instead of overwriting your work. Rerun starts a completely fresh comparison with no preserved state.

How it works

Deploy semantics

A deployment created from a comparison moves through:

StatusWhat it means
draftCreated from a comparison. Still editable — you can change the selection before running it.
pending_approvalWaiting on a review step before it can run, for teams that require one.
deployingThe deployment is in flight against the target org.
completedThe deployment finished and the selected changes are live in the target org.
failedThe deployment stopped partway through. Nothing further was applied — review the error and re-run.

Every deployment can run as a validate-only check — Salesforce runs your tests and reports what would happen without committing anything to the target org — or as a real deploy that commits the change. Once a validation succeeds, quick-deploy promotes it straight to a real deploy without re-running tests, as long as you're still inside Salesforce's roughly 4-day validation window.

Deploys are selective by default: for Profiles and Permission Sets you can choose individual permission types rather than the whole record, and for Apex, Lightning Web Components, and Aura components you can select individual hunks of changed lines rather than the whole file.

FAQ

Frequently asked questions

Do I need Salesforce admin access to connect an org?

Connecting an org walks you through Salesforce's own OAuth authorization screen, so the Salesforce user you authenticate with needs whatever API and metadata access your comparisons and deployments require in that org.

What happens if my Salesforce session token expires?

OpsForce refreshes OAuth tokens automatically in the background. If a refresh ever fails, that org's connection status flips in the app so you can reauthorize before it affects an in-progress comparison or deployment.

Can I compare git branches instead of orgs?

Yes. A comparison can use any combination of endpoints: org-to-org, org-to-git, git-to-org, or git-to-git.

Does a validate-only deploy change anything in my target org?

No. Validate-only runs Salesforce's check-only deploy path — your tests run and the result tells you what would happen, but nothing is committed until you run (or quick-deploy) a real deploy.

What is quick-deploy?

Once a validate-only run succeeds, you can promote it straight to a real deploy without re-running tests, as long as you're still inside Salesforce's roughly 4-day validation window.

What if I run a comparison again — do I lose my prior selections?

Depends which you use. Refresh preserves your prior selections and edits, three-way-merges anything that changed upstream, and flags genuine conflicts for review. Rerun starts over with no preserved state.

Ready to get started?

Esc
Actions
Navigate
↑↓navigate↵open
16 results