Pardon the mess

You are viewing docs related to an older version of Sequin. We’re in the process of updating our provider-specific guides and will be done in a few weeks (February 2024). Please click here to view the latest version of the docs.

If you’re interested in Salesforce and want to learn more about what’s changing, send us a note.

Supported objects

Your Sequin database will contain tables for Salesforce objects like:

  • Account
  • Contact
  • Lead
  • Opportunity
  • User
  • Product2
  • … etc

We will also sync any custom objects you may have.

If you don’t see your Salesforce object listed during setup, just send us a note! We can toggle on support for almost any available Salesforce object.

The syncing process

By default, we limit our sync to one request every three seconds. This means about 20 request per minute or 29,000 requests per day. We use these limits to stay well below your daily API quota. You can adjust the rate-limit you allocate to Sequin in your sync’s settings.

We first backfill your database with all your Salesforce data. We’re able to pull 200 records per request. This means, by default, we can process just over 200,000 records per hour. So, if your Salesforce instance contains millions of records, the backfill can take a while. We’ll email you when your backfill is complete and all your data is loaded into your database.

After the initial backfill, we’ll continuously poll your Salesforce instance to monitor changes. Respecting the rate limit, we’ll round-robin each of the tables you’ve selected to sync. We’re able to handle up to 200 creates and updates across your tables every three seconds. So if you’re syncing five tables, we’ll be able to process up to 1,000 creates and updates between those five tables every 15 seconds.

Edit your sync’s rate limit in the Settings tab on the sync’s page.

Learn more about [our syncing process]/syncs.

Writes

The Sequin Postgres Proxy

To create, update, or delete objects in Salesforce, you can insert, update, or delete rows in your Postgres database.

When you’re connected to your database through the Sequin Proxy, the Proxy listens for changes. When you make a mutation, the Proxy applies the mutation to Salesforce’s API first. If the mutation succeeds, your database is updated as well. If it fails, your database mutation will be rolled back, and you’ll receive a Postgres error.

Data flows from Salesforce to your Postgres database. Your code or SQL client then reads from the database. To mutate your data, you update records in your database. Those mutations are applied to Salesforce then to your database.

With this architecture, Salesforce remains the source of truth and your database never gets out-of-sync.

How updates via the Proxy work

The Postgres Proxy forwards changes to Salesforce’s API before applying them to your database.

The order of operations is therefore expressed in the following example, sequentially:

  1. You make an insert to create a new entry in the “Orders” table on Salesforce.
  2. The Sequin Proxy forwards the request to Salesforce.
  3. Salesforce responds with a 200. The body contains the new order.
  4. The Sequin Proxy writes the new order to the orders table in your Sequin database.
  5. Your Postgres client returns successfully.

Was this page helpful?