Setting up dev
We recommend building your Salesforce integration using a dev environment. This allows you to build and test features without affecting your production data.
This guide will show you how to use Salesforce developer accounts and Salesforce sandboxes to setup a dev environment for your integration with Sequin.
With a development environment, you’ll be able to easily build, iterate, and test Sequin’s Salesforce sync. Then, you can copy the configuration of your dev sync to your production sync.
Creating a dev environment
Salesforce provides two types of dev environments:
- Developer accounts: These are free Salesforce accounts that you can use to build and test your integration. You’ll need to manually replicate your production data model in your dev account.
- Sandboxes: These are full or partial copies of your production Salesforce account purpose-built for replicating your production data for testing and development. Sandboxes aren’t included in all Salesforce plans, but are available for purchase.
Creating a Salesforce developer account
Follow these steps to create a Salesforce developer test account:
- Navigate to the Salesforce Developer signup page: https://developer.salesforce.com/signup
- Fill out the form to create your developer account. We recommend using an email alias (e.g. eric+dev@sequin.io) when creating your dev account so it doesn’t conflict with your production login.
- Once your developer accounts is created, you’ll login to the account like any other Salesforce instance. This account will have a unique Salesforce subdomain and includes trial access to all enterprise features.
- Now, configure this dev account to replicate your production Salesforce account. You can do this by manually creating the same objects and fields in your dev account as you have in your production account. Or, you can use a tool like Salesforce Data Loader to import a subset of your production data into your dev account.
For development purposes, you often don’t need a full copy of your production data. In fact, we recommend importing a small subset of your production data into your dev account or creating fake data. This will make it easier to test your integration.
Creating a Salesforce sandbox
While Salesforce developer accounts are free, you have to manually replicate your production data model to your developer account. Salesforce’s sandboxes act as a replica of your production Salesforce account. You can replicate a full or partial copy of your production Salesforce data. Importantly, sandboxes make it easy to keep custom objects and fields in-sync between sandboxes and the production account.
To create a sandbox, follow these steps:
- In your Salesforce account, navigate to Setup page by clicking the gear icon.
- In the left sidebar menu, select Sandboxes. Then click the New Sandbox button.
- Enter the name of the sandbox - we recommend naming the sandbox to reflect the purpose of your sandbox (i.e. “Sequin Dev Sandbox”).
- Select the data you want to include in the sandbox. We recommend including a subset of data to make it easier to test your integration.
- Click the Create button to create your sandbox. This may take a few minutes.
Once your sandbox is created, you can login to your sandbox like any other Salesforce instance. You’ll notice that your sandbox has a unique subdomain (i.e. sequin-dev-sandbox.cs123.salesforce.com
). This is how you’ll differentiate your sandbox from your production Salesforce account.
Creating a dev sync
With your Salesforce test account or Sandbox ready to use, you can now create your Sequin sync. When connecting Salesforce to Sequin, you’ll enter the subdomain for the developer account or sandbox your just created. To help you delineate between your production and development syncs, you can tag your sync as “dev” in the sync configuration.
From here, build your integration as you normally would. Working with development data will make it easier for you to create, update, and delete records without any possibility of breaking or corrupting production data. As you build, note down any new objects or properties you create, as you’ll need to create these in your production Salesforce account as well. If your using a sandbox, you can deploy changes from your sandbox to production using several different methods.
Move to production
Once your integration is built and tested, you can move your integration to production. To do this, you’ll copy your dev sync’s configuration to a new sync that points to your production Salesforce account and production database:
- Login to your production Salesforce account and create any new tables or columns you created in your development base or deploy your sandbox changes to production.
- In Sequin, create a new Salesforce sync that points to your production Salesforce account and connects it to the database you’ll use in production.
- When mapping your tables and columns in the Sequin console, you can copy the mapping from your development sync to your production sync by clicking the Copy config from button. This will ensure that your production sync is configured the same way as your development sync.
- Once your production sync is configured, Sequin will backfill your production database with data from your production Salesforce base and keep it in sync.
- With your database migration complete, you can now merge and deploy your branch into production.
Dev lifecycle
Over the course of your integration with Salesforce, your production Salesforce account will likely drift from the configuration of your Salesforce test account or sandbox. For example, you’ll likely create new objects, fields, and automations in production that you didn’t create in development.
Sequin will handle these changes in production with production schema migrations. But when you return to development, you’ll need to update your test account or refresh the sandbox to replicate your production data model. In Sequin, this is as easy as using Copy config from to copy your production sync configuration back to your development sync.
You’ll then repeat the process of building and testing your integration in development, copying your dev sync configuration to a new production sync, and merging your changes into production.