Tutorial

Deploy a Salesforce App from GitHub in Under 2 Minutes with reapd

6 min read · reapd · Salesforce · GitHub

Installing the Salesforce CLI, cloning repos, managing authentication tokens — the traditional deploy workflow has a lot of setup before you even run a single command. reapd cuts all of that. This guide walks through deploying a Salesforce SFDX project from GitHub to your org entirely in the browser, start to finish.

You'll need a GitHub account, a Salesforce org (sandbox or production), and about two minutes.

1

Create your account

Go to reapd.io/app. You'll see a card prompting you to sign in. Click Sign in to reapd and enter your email address — no password to set, reapd sends you a magic link. Click the link in your inbox and you're in.

The free plan is enough to follow this entire guide. No credit card required.

2

Connect your GitHub account

Once signed in, you'll see the Connections card. The GitHub row shows "Not connected" — click Connect next to it. You'll be redirected to GitHub's OAuth screen to authorize reapd. Approve it and you'll land back in the app with your GitHub username showing under the GitHub row.

This gives reapd read access to your repositories so it can list them and download the source for deployment. Your credentials are never stored — only the OAuth token for the current browser session.

3

Connect your Salesforce org

Back in the Connections card, click Connect Salesforce. The button expands to show two options: Production and Sandbox. Choose the one that matches your target org.

You'll be sent to Salesforce's OAuth login. Sign in with your org credentials and authorize the connection. Once done, you'll be returned to reapd and the Salesforce row will turn green, showing your org username and instance URL.

The Always prompt for login toggle is on by default. This forces Salesforce to show the login screen even if you have an active Salesforce session — useful if you work across multiple orgs. Turn it off if you want to skip the login screen when you're already authenticated.
4

Pick your repository and branch

With both connections active, the Deploy panel appears below. reapd automatically loads your GitHub repositories filtered to SFDX projects — repos that contain a sfdx-project.json file. The SFDX only toggle is on by default, keeping the list clean. Turn it off if you need to see all your repos.

Use the Search repos... field to find your project quickly, then click it to select it. reapd will load the available branches and automatically select the repo's default branch. Change it using the Branch dropdown if you're deploying from a feature branch.

Don't have GitHub connected or want to deploy a public repo without signing in? Click Enter manually in the top-right of the Deploy panel. Fill in the Owner and Repository fields (e.g. trailheadapps / lwc-recipes) and reapd will fetch the branches automatically.
5

Configure and deploy

Once a repo is selected, two more fields appear:

When you're ready, click the Deploy button. The button will briefly show Starting deploy... while reapd queues the job.

6

Watch it deploy in real time

The Deploy panel is replaced by the live log view. Lines stream in as the deployment runs — you'll see the repo being downloaded, the org being authenticated, each metadata component being deployed, and any tests running. The status indicator in the top-left of the log panel shows Running while the deployment is in progress.

When it finishes, the indicator switches to Success (green) or Failed (red). A failed deployment shows exactly which components or test classes failed and why — the same structured output you'd get from the CLI, without having opened a terminal.

Deployment history and details

Every deployment you run is saved to your history. Open the History tab after deploying to see a table of past runs — repo, branch, status, duration, and component counts at a glance. Click any row to open the full deployment detail panel.

The detail view shows a component summary across the top, followed by a full breakdown of everything reapd knows about that run:

62
Total
0
Created
0
Updated
0
Unchanged
45
Failed
RepositoryeffordDev/sf-portal-programs Branchmaster Source pathforce-app Test levelNoTestRun Commit6f4a254 Triggered byenvironment StartedApr 29, 2026, 9:32 AM Duration19s
Environmentreidsdevorg2 — [email protected] Username[email protected] Org typeProduction Org URLhttps://reidsdevorg2-dev-ed.my.salesforce.com

If the deployment included failures, a collapsible Failed components table lists each one with its full API name and the error message — so you know exactly which metadata didn't make it and why.

AI analysis on failed deployments

When a deployment fails, reapd automatically runs an AI analysis on the error output. The result appears directly in the deployment detail panel, broken into four plain-English sections:

AI Analysis 3,241 tokens
45 of 62 components failed to deploy. The failures are concentrated in Apex classes that reference a custom field that does not exist in the target org.
The field Program__c.Enrollment_Status__c is referenced in several Apex classes but is not present in the production org. Salesforce rejects any component that references a missing field at compile time.
Include the missing field's metadata in your source directory so it deploys alongside the classes that depend on it — this is the recommended approach as it keeps your repo the source of truth. In some cases you may also need to make manual changes directly in the target org, for example if the field already exists but has different settings, or if the dependency lives outside your repo's scope.

The token count shown next to the section label reflects exactly how much context was sent to and received from the model for that analysis run. No analysis runs on successful deployments.

That's the whole flow

Sign in → connect GitHub → connect Salesforce → pick a repo and branch → deploy. No installs. No terminal. Works on any machine with a browser, including ones where you can't install software.

If you're on the Pro or Lifetime plan, reapd will prompt you to save your Salesforce org after connecting it. Saved orgs appear in a list the next time you connect, so you can restore a session in one click instead of going through OAuth again — useful when switching between dev, QA, and production environments throughout the day.

Try it now — free

No CLI. No setup. Deploy any public SFDX project from GitHub to your Salesforce org in minutes.

Start deploying →