Salesforce Reference

Salesforce database schema

While in alpha, your Sequin database will contain Salesforce data for the following standard objects:

  • Account
  • Contact
  • Lead
  • Opportunity
  • User

We will also sync any custom objects you may have.

Need additional objects in your sync? Just send us a note!

The syncing process

Sequin workers first backfill your database with all your Salesforce data by paginating through the Salesforce API endpoints.

This process will also create webhooks in your Salesforce instance. As we perform the backfill, we'll begin to receive new events from Salesforce, as well. These additional events will be loaded into your database after the backfill completes.

Writes

Your Sequin database is read-only.

We advocate for a one-way data flow: read from your Sequin database, write to Salesforce's API. Any changes will flow down to your Sequin database for you to read again.

Sometimes, you want to make sure that changes that you just wrote has been synced to your database. We call this scenario a read-after-write.

To do so, you can call our wait endpoint. To find the URL for your sync's wait endpoint, just click "Connect" in the Sequin console. Wait endpoints take this form:

https://api.sequin.io/api/wait/:id

Where `kind` is the platform, like `salesforce`. `id` is the Sequin ID of your sync.

A wait endpoint only returns after we've confirmed your database is up-to-date. So, you can weave it into your workflow like this:

  1. Make a write request directly to the API
  2. Call your sync's wait endpoint
  3. When #2 completes, read from your Sequin database

Here's an example curl request to a wait endpoint on Sequin:

> curl https://api.sequin.io/api/wait/0f062f20-ac57-4c00-8e69-cfb1cbcfdd5f
< { "ok": true }

Note: The wait endpoint is in alpha and experimental. We may add additional properties to the response in the near future.

Security

Your Sequin database will contain all your Salesforce data - which includes PII and sensitive information. We take the security of that data seriously.

Please read about our full security practices. Here is a short synopsis of how we keep your Salesforce data secure:

  • You supply us with an API key which is encrypted at rest. The Sequin application database is only accessible through a bastion host.
  • We only access customer databases by request or to diagnose a sync issue.
  • Sequin workers first backfill your database with all your Salesforce data. During this backfill, Sequin will receive events as they happen to keep your data in-sync.
  • Data flows directly from Salesforce, through Sequin workers, to your database. We don't cache or store Salesforce data anywhere else.
  • We use Sentry and Datadog for error monitoring. Sometimes errors Datadog catches will contain API response data. But these are minimized and our logs in Datadog have a shelf-life of 30 days.
  • By default, Sequin provisions a private database and a database user for you on a shared RDS instance. While Sequin shared instances are secure, we can also sync to a database you own for greater peace of mind.
Setup
Setup

Was this helpful?