Getting Started with Copado: Salesforce DevOps Setup and First Deployment

Getting Started with Copado: Salesforce DevOps Setup and First Deployment

Salesforce development without a proper DevOps process is a recipe for deployment failures, overwritten changes, and late-night emergency releases. Copado is the most widely adopted DevOps platform built natively on Salesforce, and it changes how teams deliver metadata changes from development through production. This guide walks you through everything from installation to your first successful deployment.

What Is Copado?

Copado is a Salesforce-native DevOps and release management platform that installs directly from AppExchange and runs entirely within your Salesforce environment. Unlike external tools that require separate infrastructure, Copado stores its configuration, pipelines, and user stories as Salesforce records — which means your existing Salesforce permissions, profiles, and sharing rules apply out of the box.

At its core, Copado connects your Salesforce orgs to a Git repository and manages the flow of metadata changes through a defined pipeline — typically from developer sandboxes through QA and UAT environments, and finally into production. It handles:

  • Version control — every metadata change is committed to Git, giving you a full audit trail
  • Pipeline management — a visual interface for promoting changes between orgs
  • User stories — work items that group related metadata changes together
  • Automated testing — Apex test execution and integration with UI testing tools
  • Quality gates — compliance checks and static analysis that block bad code from reaching production

Copado is popular with large Salesforce shops, regulated industries like financial services and healthcare, and any team where multiple developers are working on the same org simultaneously.

Installing Copado from AppExchange

Before installing, make sure you have System Administrator access to your production Salesforce org. Copado is licensed per user, so you'll need to have your license count ready.

Step 1: Find Copado on AppExchange

Go to appexchange.salesforce.com and search for "Copado DevOps." You'll find the main Copado managed package. Click Get It Now.

Step 2: Choose Installation Org

AppExchange will ask where to install the package. Select Install in Production — Copado's pipeline configuration and licensing live in production, even though it manages changes going to sandboxes. You can also install it in a sandbox first for evaluation.

Step 3: Select Who to Install For

Choose Install for Admins Only initially. This limits exposure while you configure the platform. You can grant access to other users later via permission sets.

Step 4: Approve Third-Party Access

Copado requires access to several Salesforce APIs and will request approval for remote site settings. Approve all requested access — these are needed for Git integration and org connectivity.

Step 5: Assign Permission Sets

After installation, assign the appropriate permission sets to your team:

  • Copado Admin — full access to configure pipelines, environments, and settings
  • Copado User — access to create and manage user stories, run deployments
  • Copado Guest — read-only visibility for stakeholders

Navigate to Setup > Permission Sets, find the Copado permission sets, and assign them to relevant users.

Connecting Your Salesforce Orgs

Copado manages deployments across a set of connected Salesforce orgs called Environments. A typical setup includes:

  • Developer sandboxes — one per developer, or a shared Dev sandbox
  • QA/Integration sandbox — where automated tests run
  • UAT sandbox — business user acceptance testing
  • Production — the live org

Creating an Environment Record

In Copado, navigate to Environments (accessible from the Copado app in App Launcher) and create a new Environment record for each org.

For each environment you need:

  • Name — descriptive label (e.g., "QA Sandbox - Q1 2025")
  • Org Type — Sandbox or Production
  • Org ID — your Salesforce org ID (found in Setup > Company Information)

Authenticating Each Org

Click Authenticate on each Environment record. Copado will open an OAuth flow to connect to that Salesforce org. You must authenticate with credentials that have the Copado Deployer permission set (or System Administrator profile) in the target org.

Copado stores the OAuth tokens securely as Salesforce credentials. When a deployment runs, it uses these stored tokens to authenticate API calls to each org.

Verifying the Connection

After authentication, Copado shows a Connection Status on the Environment record. A green status confirms API access is working. If you see an error, check that:

  • The Copado managed package is installed in the target org (for full functionality)
  • The authenticating user has the required permissions
  • Remote site settings are configured correctly

Configuring Your Pipeline

A Pipeline in Copado defines the ordered stages that changes must pass through on their way to production. Think of it as a flowchart: code enters at the bottom (developer sandboxes) and exits at the top (production).

Creating the Pipeline

Go to Pipelines > New Pipeline. Give it a name and select your Git repository (more on this below). Then add Pipeline Connections — these link Environments to stages.

A typical four-stage pipeline looks like:

Developer Sandbox  →  QA Sandbox  →  UAT Sandbox  →  Production
     (Dev)              (QA)           (UAT)           (Prod)

For each connection, specify:

  • Source Environment — where changes are pulled from
  • Destination Environment — where they're deployed to
  • Branch — the Git branch that maps to this stage

Connecting a Git Repository

Copado supports GitHub, GitLab, Bitbucket, and Azure Repos. Go to Git Repositories > New and enter your repository URL and credentials (typically a personal access token or deploy key).

A recommended branch naming convention:

feature/*        → individual developer work
integration      → maps to QA sandbox
uat              → maps to UAT sandbox
main             → maps to Production

Copado can auto-create these branches or you can create them manually before configuring the pipeline connections.

Creating Your First User Story

A User Story in Copado is the fundamental unit of work. It represents a set of metadata changes that belong together — for example, a new Apex class, its associated test class, and a custom field it uses.

Creating the User Story

Navigate to User Stories > New. Fill in:

  • Title — clear description of the change (e.g., "Add Opportunity Close Date validation")
  • Developer — the Salesforce user responsible for this change
  • Sprint — optional, for sprint-based planning
  • Environment — the developer sandbox where this change is being built

Adding Metadata to the User Story

After creating the user story, open it and click Retrieve Changes. Copado connects to the developer sandbox and lists all metadata that has changed since the last snapshot. Select the relevant components — Apex classes, triggers, custom fields, layouts, flows — and click Add to User Story.

This is called metadata selection, and it's how Copado knows exactly what to deploy. Only the metadata you explicitly select will move forward in the pipeline.

Committing Changes to Git

Once you've selected the metadata, click Commit Changes. Copado:

  1. Retrieves the selected metadata from the sandbox via the Metadata API
  2. Converts it to source format
  3. Commits it to the feature branch in Git with a commit message tied to the user story

You can view the commit directly from the user story record. The Git history shows exactly what changed, when, and by whom.

Running Your First Deployment

With a user story committed and a pipeline configured, you're ready to promote changes forward.

Promoting a User Story

Open the user story and click Promote. This creates a Promotion record that moves the user story's metadata to the next stage — in this case, from the developer sandbox to the QA sandbox.

Copado will:

  1. Merge the feature branch into the QA branch in Git
  2. Create a deployment package from the merged metadata
  3. Deploy the package to the QA sandbox via Metadata API

Monitoring the Deployment

The Promotion record shows real-time status. You can see:

  • Step Status — which pipeline steps have completed
  • Deployment Log — detailed output from the Salesforce Metadata API deployment
  • Test Results — Apex test results if test execution is configured

A successful deployment shows green status on each step. If anything fails, the deployment log tells you exactly what went wrong — component errors, test failures, or missing dependencies.

Handling Conflicts

When two developers modify the same metadata component, Copado detects the conflict at merge time. The developer promoting their change will see a conflict warning and can resolve it directly in Copado's built-in diff tool or by pulling the branch locally and resolving in their preferred Git client.

Understanding Pipeline Stages and Back-Promotion

One concept that trips up new Copado users is back-promotion. Sometimes a hotfix needs to go to production quickly, bypassing the normal QA and UAT stages. Copado handles this with back-promotion — deploying from a hotfix branch directly to the production stage while also merging back down to lower branches to keep them in sync.

Back-promotions should be used sparingly. Every back-promotion is a potential source of drift between your Git branches and your org configurations.

Org Snapshots and Baseline Management

When you first connect an environment, Copado recommends taking an Org Snapshot — a full capture of the org's current metadata state. This baseline is stored in Git and used to calculate delta changes for future deployments.

Without a proper baseline, Copado may include unrelated metadata in deployments or miss dependencies. Taking a snapshot before your first deployment is considered best practice.

Navigate to Environments, open your QA sandbox, and click Take Snapshot. Copado retrieves all supported metadata types and commits them to the environment's branch in Git.

Next Steps

With Copado installed, orgs connected, and your first deployment running, you're ready to build out more advanced workflows:

  • Automated testing — configure Apex test classes to run on every promotion to QA
  • Quality gates — set up PMD static analysis to block code that doesn't meet standards
  • Jira integration — link Copado user stories to Jira tickets for unified project tracking
  • Compliance policies — define who can promote to production and under what conditions

Copado's power comes from making these guardrails automatic. Once your pipeline is configured, the platform enforces your process consistently — no more "we skipped QA because we were rushed" incidents.

Common Setup Mistakes to Avoid

Skipping the baseline snapshot — Without a snapshot, Copado calculates changes from scratch on each deployment and may include metadata you didn't intend to move.

Authenticating with personal credentials — Use a dedicated integration user for Copado authentication in each org. Personal credentials expire when employees leave.

Starting with too many pipeline stages — For teams new to Copado, start with two or three stages and add more as the team builds confidence with the tool.

Ignoring permission sets — Copado's permission model is granular. Spend time configuring who can promote to UAT and production — don't leave it open to all Copado users.

Copado has a learning curve, but once your pipeline is running smoothly, it transforms Salesforce delivery from a stressful manual process into a predictable, auditable workflow that your whole team can trust.

Read more

Start now free