Jul 20, 2023

SQL writes

We just released SQL writes. This is a key new cornerstone of our service. Now, Sequin not only lets you read data from APIs like Salesforce and HubSpot using SQL. You can write back to those APIs using SQL too.

Our new Postgres Proxy commits the write to the API first, before your database. ‌This means that all the necessary policy that the API implements – like validation rules – are run against every database write. The API remains the source of truth, and the database never drifts.

If the write fails API validation, the Proxy rolls the write back and returns a native Postgres error:

insert into salesforce.contact (first_name, last_name, email) values ('Andrea','Palladio','andrea__invalid') returning id;

ERROR: [Salesforce]: Property values were not valid: `email` 'andrea_invalid' is invalid.

Because writes happen synchronously, your local tables are never out-of-sync and errors are easy to handle.

With our core sync engine and now SQL writes, Sequin makes bespoke API interfaces familiar. We abstract away the common cruft of integrations, like syncing, cache invalidation, normalization, rate limit management, and token management. We let developers instead just focus on crafting the reads and writes that their application needs.

SQL writes are available in every sync today. Find connection instructions for the Proxy on your sync's "Connection Instructions" tab. Then, start running insert, update, and delete on your API data!

Read more about SQL writes in our announcement post.

SQL writes

We just released SQL writes. This is a key new cornerstone of our service. Now, Sequin not only lets you read data from APIs like Salesforce and HubSpot using SQL. You can write back to those APIs using SQL too.

Our new Postgres Proxy commits the write to the API first, before your database. ‌This means that all the necessary policy that the API implements – like validation rules – are run against every database write. The API remains the source of truth, and the database never drifts.

If the write fails API validation, the Proxy rolls the write back and returns a native Postgres error:

insert into salesforce.contact (first_name, last_name, email) values ('Andrea','Palladio','andrea__invalid') returning id;

ERROR: [Salesforce]: Property values were not valid: `email` 'andrea_invalid' is invalid.

Because writes happen synchronously, your local tables are never out-of-sync and errors are easy to handle.

With our core sync engine and now SQL writes, Sequin makes bespoke API interfaces familiar. We abstract away the common cruft of integrations, like syncing, cache invalidation, normalization, rate limit management, and token management. We let developers instead just focus on crafting the reads and writes that their application needs.

SQL writes are available in every sync today. Find connection instructions for the Proxy on your sync's "Connection Instructions" tab. Then, start running insert, update, and delete on your API data!

Read more about SQL writes in our announcement post.

SQL writes

We just released SQL writes. This is a key new cornerstone of our service. Now, Sequin not only lets you read data from APIs like Salesforce and HubSpot using SQL. You can write back to those APIs using SQL too.

Our new Postgres Proxy commits the write to the API first, before your database. ‌This means that all the necessary policy that the API implements – like validation rules – are run against every database write. The API remains the source of truth, and the database never drifts.

If the write fails API validation, the Proxy rolls the write back and returns a native Postgres error:

insert into salesforce.contact (first_name, last_name, email) values ('Andrea','Palladio','andrea__invalid') returning id;

ERROR: [Salesforce]: Property values were not valid: `email` 'andrea_invalid' is invalid.

Because writes happen synchronously, your local tables are never out-of-sync and errors are easy to handle.

With our core sync engine and now SQL writes, Sequin makes bespoke API interfaces familiar. We abstract away the common cruft of integrations, like syncing, cache invalidation, normalization, rate limit management, and token management. We let developers instead just focus on crafting the reads and writes that their application needs.

SQL writes are available in every sync today. Find connection instructions for the Proxy on your sync's "Connection Instructions" tab. Then, start running insert, update, and delete on your API data!

Read more about SQL writes in our announcement post.

May 1, 2023

New console

Our console just got its biggest overhaul yet. Individual syncs now display on their own full-page view. This means settings are way easier to find, and we're able to show a lot more information about each sync:

New console

Our console just got its biggest overhaul yet. Individual syncs now display on their own full-page view. This means settings are way easier to find, and we're able to show a lot more information about each sync:

New console

Our console just got its biggest overhaul yet. Individual syncs now display on their own full-page view. This means settings are way easier to find, and we're able to show a lot more information about each sync:

Mar 1, 2023

Sync observability

We added a bunch of improvements to sync observability. Now, it's faster and easier than ever to understand the health of your sync – and react if anything isn't working correctly.

  • See the list of active backfills. Includes the time they started and how many records they've processed so far.

  • See the speed and health of individual collections/tables in your sync.

  • If a collection's sync is hitting an error, we'll display instructions on how to fix it.

Sync observability

We added a bunch of improvements to sync observability. Now, it's faster and easier than ever to understand the health of your sync – and react if anything isn't working correctly.

  • See the list of active backfills. Includes the time they started and how many records they've processed so far.

  • See the speed and health of individual collections/tables in your sync.

  • If a collection's sync is hitting an error, we'll display instructions on how to fix it.

Sync observability

We added a bunch of improvements to sync observability. Now, it's faster and easier than ever to understand the health of your sync – and react if anything isn't working correctly.

  • See the list of active backfills. Includes the time they started and how many records they've processed so far.

  • See the speed and health of individual collections/tables in your sync.

  • If a collection's sync is hitting an error, we'll display instructions on how to fix it.

Feb 1, 2023

Added deletes to HubSpot

Our HubSpot sync now detects deletes and propagates them to your database! Delete objects, custom objects, and associations from HubSpot and see those changes replicated to your database just a few seconds later.

Email alerts if a view is blocking a migration

Postgres views are powerful ways to customize and extend your Sequin-synced tables. But they can also disrupt migrations.

Sequin's migrator applies changes to your database to ensure your tables match the API you're syncing. For example, if you drop a field from a custom object in Salesforce, that change is propagated to your database. If a view is preventing this migration from completing successfully, Sequin will email you to alert you of the action you need to take.

See your backfill progress

When you first setup a Sequin sync, we backfill all your historical data. Before, we showed a global indicator of how many records we'd synced. Now, we break down progress across each table you're syncing. You'll see which tables have completed backfilling and which we're still working on:

Fixes & improvements

  • We added a callout to the console that specifies your proxy URL, so you don't have to dig for it anymore.

  • We fixed a style bug on our password reset screen.

  • We fixed an issue with how we validate your Postgres version on database setup (we support Postgres 10+.)

Added deletes to HubSpot

Our HubSpot sync now detects deletes and propagates them to your database! Delete objects, custom objects, and associations from HubSpot and see those changes replicated to your database just a few seconds later.

Email alerts if a view is blocking a migration

Postgres views are powerful ways to customize and extend your Sequin-synced tables. But they can also disrupt migrations.

Sequin's migrator applies changes to your database to ensure your tables match the API you're syncing. For example, if you drop a field from a custom object in Salesforce, that change is propagated to your database. If a view is preventing this migration from completing successfully, Sequin will email you to alert you of the action you need to take.

See your backfill progress

When you first setup a Sequin sync, we backfill all your historical data. Before, we showed a global indicator of how many records we'd synced. Now, we break down progress across each table you're syncing. You'll see which tables have completed backfilling and which we're still working on:

Fixes & improvements

  • We added a callout to the console that specifies your proxy URL, so you don't have to dig for it anymore.

  • We fixed a style bug on our password reset screen.

  • We fixed an issue with how we validate your Postgres version on database setup (we support Postgres 10+.)

Added deletes to HubSpot

Our HubSpot sync now detects deletes and propagates them to your database! Delete objects, custom objects, and associations from HubSpot and see those changes replicated to your database just a few seconds later.

Email alerts if a view is blocking a migration

Postgres views are powerful ways to customize and extend your Sequin-synced tables. But they can also disrupt migrations.

Sequin's migrator applies changes to your database to ensure your tables match the API you're syncing. For example, if you drop a field from a custom object in Salesforce, that change is propagated to your database. If a view is preventing this migration from completing successfully, Sequin will email you to alert you of the action you need to take.

See your backfill progress

When you first setup a Sequin sync, we backfill all your historical data. Before, we showed a global indicator of how many records we'd synced. Now, we break down progress across each table you're syncing. You'll see which tables have completed backfilling and which we're still working on:

Fixes & improvements

  • We added a callout to the console that specifies your proxy URL, so you don't have to dig for it anymore.

  • We fixed a style bug on our password reset screen.

  • We fixed an issue with how we validate your Postgres version on database setup (we support Postgres 10+.)

Jan 16, 2023

Added the proxy to HubSpot

The Sequin Proxy enables a one-way data flow: read from your database, write to the API. When you write through Sequin's Proxy, Sequin commits the write to both the API and your database at the same time.

This makes it easy to support read-after-write workflows. You can write to the API through Sequin's Proxy, then trigger a read from the database right afterwards and be confident it's up-to-date.

HubSpot fixes and improvements

  • Dramatically improved the latency for HubSpot associations.

  • Added delete support for HubSpot associations. Associations removed from HubSpot will now propagate to your database.

Added the proxy to HubSpot

The Sequin Proxy enables a one-way data flow: read from your database, write to the API. When you write through Sequin's Proxy, Sequin commits the write to both the API and your database at the same time.

This makes it easy to support read-after-write workflows. You can write to the API through Sequin's Proxy, then trigger a read from the database right afterwards and be confident it's up-to-date.

HubSpot fixes and improvements

  • Dramatically improved the latency for HubSpot associations.

  • Added delete support for HubSpot associations. Associations removed from HubSpot will now propagate to your database.

Added the proxy to HubSpot

The Sequin Proxy enables a one-way data flow: read from your database, write to the API. When you write through Sequin's Proxy, Sequin commits the write to both the API and your database at the same time.

This makes it easy to support read-after-write workflows. You can write to the API through Sequin's Proxy, then trigger a read from the database right afterwards and be confident it's up-to-date.

HubSpot fixes and improvements

  • Dramatically improved the latency for HubSpot associations.

  • Added delete support for HubSpot associations. Associations removed from HubSpot will now propagate to your database.

Oct 24, 2022

New databases page

When setting up or editing a sync, Sequin lets you choose a destination for the data. This destination can be a database that you host or that Sequin hosts.

We didn't have a way to view and manage all these destinations in one place – until now. On the /databases page in the Sequin console, you'll see a list of all the databases connected to Sequin. You can update the basics, like the username and password Sequin should use to connect to them.

HubSpot improvements

Associations

HubSpot's associations are a powerful way to express relationships. You can associate any standard object or custom object to any other object in HubSpot.

Add them to your Sequin database with a click. Sequin will monitor all creations and deletions of associations and keep your database in-sync.

Faster sync speed

After some performance tuning, our HubSpot sync should be 2-3x faster than it was previously.

New docs site

Our new docs site has an improved layout and search. We've made it much simpler to read through our guides on getting started, then jump to the source-specific docs for the platform you're syncing.

New databases page

When setting up or editing a sync, Sequin lets you choose a destination for the data. This destination can be a database that you host or that Sequin hosts.

We didn't have a way to view and manage all these destinations in one place – until now. On the /databases page in the Sequin console, you'll see a list of all the databases connected to Sequin. You can update the basics, like the username and password Sequin should use to connect to them.

HubSpot improvements

Associations

HubSpot's associations are a powerful way to express relationships. You can associate any standard object or custom object to any other object in HubSpot.

Add them to your Sequin database with a click. Sequin will monitor all creations and deletions of associations and keep your database in-sync.

Faster sync speed

After some performance tuning, our HubSpot sync should be 2-3x faster than it was previously.

New docs site

Our new docs site has an improved layout and search. We've made it much simpler to read through our guides on getting started, then jump to the source-specific docs for the platform you're syncing.

New databases page

When setting up or editing a sync, Sequin lets you choose a destination for the data. This destination can be a database that you host or that Sequin hosts.

We didn't have a way to view and manage all these destinations in one place – until now. On the /databases page in the Sequin console, you'll see a list of all the databases connected to Sequin. You can update the basics, like the username and password Sequin should use to connect to them.

HubSpot improvements

Associations

HubSpot's associations are a powerful way to express relationships. You can associate any standard object or custom object to any other object in HubSpot.

Add them to your Sequin database with a click. Sequin will monitor all creations and deletions of associations and keep your database in-sync.

Faster sync speed

After some performance tuning, our HubSpot sync should be 2-3x faster than it was previously.

New docs site

Our new docs site has an improved layout and search. We've made it much simpler to read through our guides on getting started, then jump to the source-specific docs for the platform you're syncing.

Sep 12, 2022

Configurable rate limits

One of the biggest reasons customers adopt Sequin is because they're hitting rate limits. Rate limits make every integration more complex. When your integration is new and small, you still have to consider rate limits – what if something in your system causes a burst of query activity? As you scale, rate limits can bottleneck your entire system. Pacing out requests isn't enough for large integrations. You need to cache your reads and batch your writes as well.

Sequin handles caching and batching for you. The data we sync to your database becomes your new source of truth, so you don't have to hit the API every time you want to fetch data. On the write side, we're rolling our sophisticated batching features.

You provide Sequin with a rate limit. Sequin uses that rate limit to pace the sync for the read side and pace out the writes you make through your database or our proxy.

Our rate limit was minimally configurable before, but starting today you have full control:

We'll be adding features to this rate limit configuration soon, including a calculator that will help you understand how different values for your rate limit affect your sync and write speed.

Fixes and improvements

  • Removed the toggles for "Sync all current and future" tables and columns. While a nice convenience function, it was hard for customers to understand the behavior of these features. Adding new tables and columns requires migrations. Migrations are significant and migrations getting stuck due to things like view dependencies is the primary reason that syncs run into issues. We're moving to a world where we'll notify customers about changes to their API objects and fields. That way, you can opt-in to the changes and be there to intervene if something goes wrong.

  • Fixed an issue with HubSpot batch deletes when a lot of records were deleted at once.

  • Added support for *_hd Salesforce objects.

Configurable rate limits

One of the biggest reasons customers adopt Sequin is because they're hitting rate limits. Rate limits make every integration more complex. When your integration is new and small, you still have to consider rate limits – what if something in your system causes a burst of query activity? As you scale, rate limits can bottleneck your entire system. Pacing out requests isn't enough for large integrations. You need to cache your reads and batch your writes as well.

Sequin handles caching and batching for you. The data we sync to your database becomes your new source of truth, so you don't have to hit the API every time you want to fetch data. On the write side, we're rolling our sophisticated batching features.

You provide Sequin with a rate limit. Sequin uses that rate limit to pace the sync for the read side and pace out the writes you make through your database or our proxy.

Our rate limit was minimally configurable before, but starting today you have full control:

We'll be adding features to this rate limit configuration soon, including a calculator that will help you understand how different values for your rate limit affect your sync and write speed.

Fixes and improvements

  • Removed the toggles for "Sync all current and future" tables and columns. While a nice convenience function, it was hard for customers to understand the behavior of these features. Adding new tables and columns requires migrations. Migrations are significant and migrations getting stuck due to things like view dependencies is the primary reason that syncs run into issues. We're moving to a world where we'll notify customers about changes to their API objects and fields. That way, you can opt-in to the changes and be there to intervene if something goes wrong.

  • Fixed an issue with HubSpot batch deletes when a lot of records were deleted at once.

  • Added support for *_hd Salesforce objects.

Configurable rate limits

One of the biggest reasons customers adopt Sequin is because they're hitting rate limits. Rate limits make every integration more complex. When your integration is new and small, you still have to consider rate limits – what if something in your system causes a burst of query activity? As you scale, rate limits can bottleneck your entire system. Pacing out requests isn't enough for large integrations. You need to cache your reads and batch your writes as well.

Sequin handles caching and batching for you. The data we sync to your database becomes your new source of truth, so you don't have to hit the API every time you want to fetch data. On the write side, we're rolling our sophisticated batching features.

You provide Sequin with a rate limit. Sequin uses that rate limit to pace the sync for the read side and pace out the writes you make through your database or our proxy.

Our rate limit was minimally configurable before, but starting today you have full control:

We'll be adding features to this rate limit configuration soon, including a calculator that will help you understand how different values for your rate limit affect your sync and write speed.

Fixes and improvements

  • Removed the toggles for "Sync all current and future" tables and columns. While a nice convenience function, it was hard for customers to understand the behavior of these features. Adding new tables and columns requires migrations. Migrations are significant and migrations getting stuck due to things like view dependencies is the primary reason that syncs run into issues. We're moving to a world where we'll notify customers about changes to their API objects and fields. That way, you can opt-in to the changes and be there to intervene if something goes wrong.

  • Fixed an issue with HubSpot batch deletes when a lot of records were deleted at once.

  • Added support for *_hd Salesforce objects.

Aug 29, 2022

Bidirectional sync for HubSpot

Our HubSpot sync is now bidirectional. When you make changes in your database, they'll propagate back to HubSpot. With bidirectional sync, objects and fields in HubSpot are linked to tables and columns in your database: create a Deal in HubSpot and it will be synced to your database. Update the deal in your database and it will be synced back to HubSpot.

With bidirectional sync, you don't have to worry about the HubSpot rate limit, batching requests, query params, and keeping two sources of truth in-sync. Sequin's got it for you.

SSH tunnels for database connections

If you're syncing to a database that's located in a private VPC, Sequin can use a jump host to access it. During database setup, you'll see an option for "SSH Tunnel." Plug the hostname for your jump host in there and then add Sequin's public key to your server's authorized keys.

Fixes and improvements

  • Sync performance: When we detect a particular endpoint is busy (lots of changes happening), we'll favor requests to that endpoint (while making fewer requests to dormant endpoints.)

  • Console performance: Loading the column mapping when creating a sync took a long time for big Salesforce accounts. We've optimized this a lot, so each stage should load quickly.

  • Fixed an issue with HubSpot OAuth that caused the flow to fail on the final leg.

  • Fixes and improvements for both the Salesforce and HubSpot sync processes.

  • Fixed some visual inconsistencies in the graph that displays your usage for the billing cycle.

Bidirectional sync for HubSpot

Our HubSpot sync is now bidirectional. When you make changes in your database, they'll propagate back to HubSpot. With bidirectional sync, objects and fields in HubSpot are linked to tables and columns in your database: create a Deal in HubSpot and it will be synced to your database. Update the deal in your database and it will be synced back to HubSpot.

With bidirectional sync, you don't have to worry about the HubSpot rate limit, batching requests, query params, and keeping two sources of truth in-sync. Sequin's got it for you.

SSH tunnels for database connections

If you're syncing to a database that's located in a private VPC, Sequin can use a jump host to access it. During database setup, you'll see an option for "SSH Tunnel." Plug the hostname for your jump host in there and then add Sequin's public key to your server's authorized keys.

Fixes and improvements

  • Sync performance: When we detect a particular endpoint is busy (lots of changes happening), we'll favor requests to that endpoint (while making fewer requests to dormant endpoints.)

  • Console performance: Loading the column mapping when creating a sync took a long time for big Salesforce accounts. We've optimized this a lot, so each stage should load quickly.

  • Fixed an issue with HubSpot OAuth that caused the flow to fail on the final leg.

  • Fixes and improvements for both the Salesforce and HubSpot sync processes.

  • Fixed some visual inconsistencies in the graph that displays your usage for the billing cycle.

Bidirectional sync for HubSpot

Our HubSpot sync is now bidirectional. When you make changes in your database, they'll propagate back to HubSpot. With bidirectional sync, objects and fields in HubSpot are linked to tables and columns in your database: create a Deal in HubSpot and it will be synced to your database. Update the deal in your database and it will be synced back to HubSpot.

With bidirectional sync, you don't have to worry about the HubSpot rate limit, batching requests, query params, and keeping two sources of truth in-sync. Sequin's got it for you.

SSH tunnels for database connections

If you're syncing to a database that's located in a private VPC, Sequin can use a jump host to access it. During database setup, you'll see an option for "SSH Tunnel." Plug the hostname for your jump host in there and then add Sequin's public key to your server's authorized keys.

Fixes and improvements

  • Sync performance: When we detect a particular endpoint is busy (lots of changes happening), we'll favor requests to that endpoint (while making fewer requests to dormant endpoints.)

  • Console performance: Loading the column mapping when creating a sync took a long time for big Salesforce accounts. We've optimized this a lot, so each stage should load quickly.

  • Fixed an issue with HubSpot OAuth that caused the flow to fail on the final leg.

  • Fixes and improvements for both the Salesforce and HubSpot sync processes.

  • Fixed some visual inconsistencies in the graph that displays your usage for the billing cycle.

Aug 15, 2022

Fixes and improvements

  • Console performance: the console became very unwieldy when dealing with huge Salesforce instances (hundreds of tables each with hundreds of fields.) We've improved the performance in these instances dramatically.

  • Coalescing writes: When multiple changes are made to a single row in quick succession, we coalesce those changes into one write request to the API, saving requests.

  • General performance tuning and improvements for syncs.

Fixes and improvements

  • Console performance: the console became very unwieldy when dealing with huge Salesforce instances (hundreds of tables each with hundreds of fields.) We've improved the performance in these instances dramatically.

  • Coalescing writes: When multiple changes are made to a single row in quick succession, we coalesce those changes into one write request to the API, saving requests.

  • General performance tuning and improvements for syncs.

Fixes and improvements

  • Console performance: the console became very unwieldy when dealing with huge Salesforce instances (hundreds of tables each with hundreds of fields.) We've improved the performance in these instances dramatically.

  • Coalescing writes: When multiple changes are made to a single row in quick succession, we coalesce those changes into one write request to the API, saving requests.

  • General performance tuning and improvements for syncs.

Aug 1, 2022

Two-way sync alpha

Two-way sync has arrived for Salesforce! You can now make changes in your database and they'll propagate back to Salesforce. This means objects and fields in Salesforce are truly linked to tables and columns in your database: create a Contact in Salesforce, it's synced to your database. Update the contact in your database, and it's synced back to Salesforce.

With two-way sync, you don't have to worry about the Salesforce rate limit, batching requests, SOQL, and keeping two sources of truth in-sync. Sequin's got it for you.

Next up is HubSpot.

Fixes and improvements

  • HubSpot: Add support for HubSpot pipelines and stages.

  • HubSpot and Salesforce: Added support for polling for schema changes for HubSpot and Salesforce. Schema changes in those platforms now automatically propagate to the database without intervention.

  • Stripe: Fixed an issue that caused us to miss some updates to payment intents.

  • Fixed an issue where HubSpot and Salesforce syncs would not shutdown properly when deactivated.

  • Improved how we handled situations where HubSpot returned bad responses, specifically returning objects out-of-order.

Two-way sync alpha

Two-way sync has arrived for Salesforce! You can now make changes in your database and they'll propagate back to Salesforce. This means objects and fields in Salesforce are truly linked to tables and columns in your database: create a Contact in Salesforce, it's synced to your database. Update the contact in your database, and it's synced back to Salesforce.

With two-way sync, you don't have to worry about the Salesforce rate limit, batching requests, SOQL, and keeping two sources of truth in-sync. Sequin's got it for you.

Next up is HubSpot.

Fixes and improvements

  • HubSpot: Add support for HubSpot pipelines and stages.

  • HubSpot and Salesforce: Added support for polling for schema changes for HubSpot and Salesforce. Schema changes in those platforms now automatically propagate to the database without intervention.

  • Stripe: Fixed an issue that caused us to miss some updates to payment intents.

  • Fixed an issue where HubSpot and Salesforce syncs would not shutdown properly when deactivated.

  • Improved how we handled situations where HubSpot returned bad responses, specifically returning objects out-of-order.

Two-way sync alpha

Two-way sync has arrived for Salesforce! You can now make changes in your database and they'll propagate back to Salesforce. This means objects and fields in Salesforce are truly linked to tables and columns in your database: create a Contact in Salesforce, it's synced to your database. Update the contact in your database, and it's synced back to Salesforce.

With two-way sync, you don't have to worry about the Salesforce rate limit, batching requests, SOQL, and keeping two sources of truth in-sync. Sequin's got it for you.

Next up is HubSpot.

Fixes and improvements

  • HubSpot: Add support for HubSpot pipelines and stages.

  • HubSpot and Salesforce: Added support for polling for schema changes for HubSpot and Salesforce. Schema changes in those platforms now automatically propagate to the database without intervention.

  • Stripe: Fixed an issue that caused us to miss some updates to payment intents.

  • Fixed an issue where HubSpot and Salesforce syncs would not shutdown properly when deactivated.

  • Improved how we handled situations where HubSpot returned bad responses, specifically returning objects out-of-order.

Jun 5, 2022

HubSpot alpha

HubSpot is now on Sequin! Sync your HubSpot Contacts and Deals right to your database. With Sequin, your sales and support teams can store and work with information about your customers over on HubSpot. And your developers can easily pull that data into your main application or tools.

More coming for HubSpot soon.

Fixes and improvements

  • Fixed issues with performance in the console. The console now loads and responds much faster.

  • Fixed issues with our Salesforce sync that would cause the sync to halt.

HubSpot alpha

HubSpot is now on Sequin! Sync your HubSpot Contacts and Deals right to your database. With Sequin, your sales and support teams can store and work with information about your customers over on HubSpot. And your developers can easily pull that data into your main application or tools.

More coming for HubSpot soon.

Fixes and improvements

  • Fixed issues with performance in the console. The console now loads and responds much faster.

  • Fixed issues with our Salesforce sync that would cause the sync to halt.

HubSpot alpha

HubSpot is now on Sequin! Sync your HubSpot Contacts and Deals right to your database. With Sequin, your sales and support teams can store and work with information about your customers over on HubSpot. And your developers can easily pull that data into your main application or tools.

More coming for HubSpot soon.

Fixes and improvements

  • Fixed issues with performance in the console. The console now loads and responds much faster.

  • Fixed issues with our Salesforce sync that would cause the sync to halt.

Jun 21, 2022

Column mapping

Column mapping introduces two key features Sequin customers have been asking for.

Renaming: Sequin does its best to take API object and field names and convert them to SQL-friendly table and column names. But sometimes, you want even more control. With renaming, you can now customize field names to best fit your SQL database.

Locking: With dynamic platforms like Salesforce or Airtable, schemas change all the time. A team member might change the name of an object or a field without alerting the rest of the team.

Without locking, Sequin will pick up those changes and propagate them to your database. This means any SQL or ORM code you've written will break, often without warning. With locking, you can have Sequin lock or freeze the column names as they are. The database schema will be protected from schema changes made to the schema in the upstream API (e.g. Salesforce or Airtable.) You can come back and update the column name to the new upstream name whenever you're ready.

Fixes and improvements

  • SSH tunnels: Our tunnels to database had reliability issues. We fixed the underlying issue to make them more reliable and added an automatic recovery mechanism if they fail in the future.

  • Improved the health status for syncs on the console. Now we factor in previous sync durations into diagnosis of a sync's health.

  • Fixed an issue that would cause syncs with very large Airtable bases to intermittently start over.

  • Fixed an issue with database setup. We now verify we have the right permissions in the database during setup. This got rid of an issue where customers could successfully add a database to Sequin, even though it was improperly configured.

  • Improved security around password reset flow.

  • Updated pricing page with a calculator that should help give better estimates on our pricing.

Column mapping

Column mapping introduces two key features Sequin customers have been asking for.

Renaming: Sequin does its best to take API object and field names and convert them to SQL-friendly table and column names. But sometimes, you want even more control. With renaming, you can now customize field names to best fit your SQL database.

Locking: With dynamic platforms like Salesforce or Airtable, schemas change all the time. A team member might change the name of an object or a field without alerting the rest of the team.

Without locking, Sequin will pick up those changes and propagate them to your database. This means any SQL or ORM code you've written will break, often without warning. With locking, you can have Sequin lock or freeze the column names as they are. The database schema will be protected from schema changes made to the schema in the upstream API (e.g. Salesforce or Airtable.) You can come back and update the column name to the new upstream name whenever you're ready.

Fixes and improvements

  • SSH tunnels: Our tunnels to database had reliability issues. We fixed the underlying issue to make them more reliable and added an automatic recovery mechanism if they fail in the future.

  • Improved the health status for syncs on the console. Now we factor in previous sync durations into diagnosis of a sync's health.

  • Fixed an issue that would cause syncs with very large Airtable bases to intermittently start over.

  • Fixed an issue with database setup. We now verify we have the right permissions in the database during setup. This got rid of an issue where customers could successfully add a database to Sequin, even though it was improperly configured.

  • Improved security around password reset flow.

  • Updated pricing page with a calculator that should help give better estimates on our pricing.

Column mapping

Column mapping introduces two key features Sequin customers have been asking for.

Renaming: Sequin does its best to take API object and field names and convert them to SQL-friendly table and column names. But sometimes, you want even more control. With renaming, you can now customize field names to best fit your SQL database.

Locking: With dynamic platforms like Salesforce or Airtable, schemas change all the time. A team member might change the name of an object or a field without alerting the rest of the team.

Without locking, Sequin will pick up those changes and propagate them to your database. This means any SQL or ORM code you've written will break, often without warning. With locking, you can have Sequin lock or freeze the column names as they are. The database schema will be protected from schema changes made to the schema in the upstream API (e.g. Salesforce or Airtable.) You can come back and update the column name to the new upstream name whenever you're ready.

Fixes and improvements

  • SSH tunnels: Our tunnels to database had reliability issues. We fixed the underlying issue to make them more reliable and added an automatic recovery mechanism if they fail in the future.

  • Improved the health status for syncs on the console. Now we factor in previous sync durations into diagnosis of a sync's health.

  • Fixed an issue that would cause syncs with very large Airtable bases to intermittently start over.

  • Fixed an issue with database setup. We now verify we have the right permissions in the database during setup. This got rid of an issue where customers could successfully add a database to Sequin, even though it was improperly configured.

  • Improved security around password reset flow.

  • Updated pricing page with a calculator that should help give better estimates on our pricing.

Jun 7, 2022

We're cooking up a lot of bigger updates that will be released over the next two weeks. Here are some of the smaller changes that were released in this cycle:

Fixes and improvements

  • Console performance improvements. If you have a lot of syncs, you'll see the difference.

  • Fixed an issue where users can't edit synced tables for Stripe.

  • Fixed an issue with account activation after subscribing.

  • Better handle bad or wrongly permissioned tokens from Salesforce.

  • After creating a new sync, make it clear that we'll send an email when the backfill completes.

We're cooking up a lot of bigger updates that will be released over the next two weeks. Here are some of the smaller changes that were released in this cycle:

Fixes and improvements

  • Console performance improvements. If you have a lot of syncs, you'll see the difference.

  • Fixed an issue where users can't edit synced tables for Stripe.

  • Fixed an issue with account activation after subscribing.

  • Better handle bad or wrongly permissioned tokens from Salesforce.

  • After creating a new sync, make it clear that we'll send an email when the backfill completes.

We're cooking up a lot of bigger updates that will be released over the next two weeks. Here are some of the smaller changes that were released in this cycle:

Fixes and improvements

  • Console performance improvements. If you have a lot of syncs, you'll see the difference.

  • Fixed an issue where users can't edit synced tables for Stripe.

  • Fixed an issue with account activation after subscribing.

  • Better handle bad or wrongly permissioned tokens from Salesforce.

  • After creating a new sync, make it clear that we'll send an email when the backfill completes.

May 24, 2022

Salesforce alpha

We're live with Salesforce! Sync your Salesforce Contacts and Leads right to your database. With Sequin, your sales and support teams can store and work with information about your customers over on Salesforce. And your developers can easily pull that data into your main application or tools.

More coming for Salesforce soon.

Fixes and improvements

  • De-duplicate credentials. If you add an API key already in our system, we'll use the existing instead of creating a new one.

  • Fixed issues when using foreign keys with a schema other than public.

  • Properly remove foreign keys when toggled off.

  • Fixed an issue with longer Stripe backfills.

Salesforce alpha

We're live with Salesforce! Sync your Salesforce Contacts and Leads right to your database. With Sequin, your sales and support teams can store and work with information about your customers over on Salesforce. And your developers can easily pull that data into your main application or tools.

More coming for Salesforce soon.

Fixes and improvements

  • De-duplicate credentials. If you add an API key already in our system, we'll use the existing instead of creating a new one.

  • Fixed issues when using foreign keys with a schema other than public.

  • Properly remove foreign keys when toggled off.

  • Fixed an issue with longer Stripe backfills.

Salesforce alpha

We're live with Salesforce! Sync your Salesforce Contacts and Leads right to your database. With Sequin, your sales and support teams can store and work with information about your customers over on Salesforce. And your developers can easily pull that data into your main application or tools.

More coming for Salesforce soon.

Fixes and improvements

  • De-duplicate credentials. If you add an API key already in our system, we'll use the existing instead of creating a new one.

  • Fixed issues when using foreign keys with a schema other than public.

  • Properly remove foreign keys when toggled off.

  • Fixed an issue with longer Stripe backfills.

May 10, 2022

"Lazy foreign keys" alpha

Foreign keys serve two important functions in databases: They provide "referential integrity" or the confidence that if one row references another, that other row exists. And they model the relationships of your database. Tools and clients like ORMs use foreign keys to determine how tables and columns in a database relate to one another.

Adding foreign keys to a table that is synced from another source presents a unique challenge. This is because the ordering of inserts and updates is not guaranteed. When inserting a new row, we can't be certain all the rows it references have already been inserted.

We have a few ideas for how to solve this. We've released our first approach into alpha. We call it "lazy foreign keys." The idea: if we insert row A and row A references row B but row B hasn't been inserted yet, we'll still insert row A but we'll remove the reference to B. When B is finally inserted, we put the reference into place.

It's not a perfect solution; this means there will be race conditions around foreign key columns. But we're looking forward to hear how this approach works for customers so we can iterate from here.

Fixes and improvements

  • Fix issue of accounts not fully activating after subscribing.

  • De-duplicate API keys and credentials.

  • Fix Stripe subscription_item deletes.

  • Fix situations where the "Login" and "Sign up" buttons on landing page would swap.

  • Added docs around our updated usage-based pricing model.

  • Add a "Skip" button during on-boarding.

"Lazy foreign keys" alpha

Foreign keys serve two important functions in databases: They provide "referential integrity" or the confidence that if one row references another, that other row exists. And they model the relationships of your database. Tools and clients like ORMs use foreign keys to determine how tables and columns in a database relate to one another.

Adding foreign keys to a table that is synced from another source presents a unique challenge. This is because the ordering of inserts and updates is not guaranteed. When inserting a new row, we can't be certain all the rows it references have already been inserted.

We have a few ideas for how to solve this. We've released our first approach into alpha. We call it "lazy foreign keys." The idea: if we insert row A and row A references row B but row B hasn't been inserted yet, we'll still insert row A but we'll remove the reference to B. When B is finally inserted, we put the reference into place.

It's not a perfect solution; this means there will be race conditions around foreign key columns. But we're looking forward to hear how this approach works for customers so we can iterate from here.

Fixes and improvements

  • Fix issue of accounts not fully activating after subscribing.

  • De-duplicate API keys and credentials.

  • Fix Stripe subscription_item deletes.

  • Fix situations where the "Login" and "Sign up" buttons on landing page would swap.

  • Added docs around our updated usage-based pricing model.

  • Add a "Skip" button during on-boarding.

"Lazy foreign keys" alpha

Foreign keys serve two important functions in databases: They provide "referential integrity" or the confidence that if one row references another, that other row exists. And they model the relationships of your database. Tools and clients like ORMs use foreign keys to determine how tables and columns in a database relate to one another.

Adding foreign keys to a table that is synced from another source presents a unique challenge. This is because the ordering of inserts and updates is not guaranteed. When inserting a new row, we can't be certain all the rows it references have already been inserted.

We have a few ideas for how to solve this. We've released our first approach into alpha. We call it "lazy foreign keys." The idea: if we insert row A and row A references row B but row B hasn't been inserted yet, we'll still insert row A but we'll remove the reference to B. When B is finally inserted, we put the reference into place.

It's not a perfect solution; this means there will be race conditions around foreign key columns. But we're looking forward to hear how this approach works for customers so we can iterate from here.

Fixes and improvements

  • Fix issue of accounts not fully activating after subscribing.

  • De-duplicate API keys and credentials.

  • Fix Stripe subscription_item deletes.

  • Fix situations where the "Login" and "Sign up" buttons on landing page would swap.

  • Added docs around our updated usage-based pricing model.

  • Add a "Skip" button during on-boarding.

Mar 29, 2022

Events Alpha

Often, you need to write code that responds to creates, updates, or deletes in an API we sync for you. You want to know as soon as a payment fails in Stripe, or when a status changes in Airtable. This typically requires polling the API, setting up Webhooks, or doing both.

Sequin's events let you skip all that work.

Events are a durable event stream right in the Postgres database we sync for you. When you opt in to events, you'll see a new table in your database called _sync_event that logs every change in the API. You can work with these events directly in your database or use one of our client libraries to trigger as soon as data you care about changes.

Please send us a note if you'd like to start using events.

Learn more about events in our docs.

Fixes and improvements

  • Improved the onboarding experience to include the proxy, /wait endpoint, and events.

  • Improved Airtable syncs to handle schema migrations in place, without dropping tables. This new sync process allows you to add views, triggers, and indexes to your database out of the box.

  • Added the ability to request an SSH tunnel into your database.

  • Fixed an issue that caused sync statuses to show an error during schema rebuilds.

Events Alpha

Often, you need to write code that responds to creates, updates, or deletes in an API we sync for you. You want to know as soon as a payment fails in Stripe, or when a status changes in Airtable. This typically requires polling the API, setting up Webhooks, or doing both.

Sequin's events let you skip all that work.

Events are a durable event stream right in the Postgres database we sync for you. When you opt in to events, you'll see a new table in your database called _sync_event that logs every change in the API. You can work with these events directly in your database or use one of our client libraries to trigger as soon as data you care about changes.

Please send us a note if you'd like to start using events.

Learn more about events in our docs.

Fixes and improvements

  • Improved the onboarding experience to include the proxy, /wait endpoint, and events.

  • Improved Airtable syncs to handle schema migrations in place, without dropping tables. This new sync process allows you to add views, triggers, and indexes to your database out of the box.

  • Added the ability to request an SSH tunnel into your database.

  • Fixed an issue that caused sync statuses to show an error during schema rebuilds.

Events Alpha

Often, you need to write code that responds to creates, updates, or deletes in an API we sync for you. You want to know as soon as a payment fails in Stripe, or when a status changes in Airtable. This typically requires polling the API, setting up Webhooks, or doing both.

Sequin's events let you skip all that work.

Events are a durable event stream right in the Postgres database we sync for you. When you opt in to events, you'll see a new table in your database called _sync_event that logs every change in the API. You can work with these events directly in your database or use one of our client libraries to trigger as soon as data you care about changes.

Please send us a note if you'd like to start using events.

Learn more about events in our docs.

Fixes and improvements

  • Improved the onboarding experience to include the proxy, /wait endpoint, and events.

  • Improved Airtable syncs to handle schema migrations in place, without dropping tables. This new sync process allows you to add views, triggers, and indexes to your database out of the box.

  • Added the ability to request an SSH tunnel into your database.

  • Fixed an issue that caused sync statuses to show an error during schema rebuilds.

Jan 4, 2022

Automatic name translation with the Airtable proxy

When you are writing through our Airtable proxy, we can now translate table and column names from the Postgres snake_case to the Airtable name the API expects. This means that throughout your code, you'll be able to consistently reference Airtable fields using the name format in your database.

To use this feature, just send along the header sequin-translate: 1.

We hope this makes your code more readable, testable, and easier to write. You can learn more in our docs.

Fixes and improvements

  • Improved the user experience when selecting which tables to sync from Stripe by adding grouping.

  • Improved Airtable syncs. Some larger Airtable syncs received a 30-40 second speed-up.

Automatic name translation with the Airtable proxy

When you are writing through our Airtable proxy, we can now translate table and column names from the Postgres snake_case to the Airtable name the API expects. This means that throughout your code, you'll be able to consistently reference Airtable fields using the name format in your database.

To use this feature, just send along the header sequin-translate: 1.

We hope this makes your code more readable, testable, and easier to write. You can learn more in our docs.

Fixes and improvements

  • Improved the user experience when selecting which tables to sync from Stripe by adding grouping.

  • Improved Airtable syncs. Some larger Airtable syncs received a 30-40 second speed-up.

Automatic name translation with the Airtable proxy

When you are writing through our Airtable proxy, we can now translate table and column names from the Postgres snake_case to the Airtable name the API expects. This means that throughout your code, you'll be able to consistently reference Airtable fields using the name format in your database.

To use this feature, just send along the header sequin-translate: 1.

We hope this makes your code more readable, testable, and easier to write. You can learn more in our docs.

Fixes and improvements

  • Improved the user experience when selecting which tables to sync from Stripe by adding grouping.

  • Improved Airtable syncs. Some larger Airtable syncs received a 30-40 second speed-up.

Dec 21, 2022

Choose which tables to sync

You can now pick and choose which tables from a source sync to your database. Often, you only need a couple tables syncing to your database to start building the features your customers need. So instead of syncing all the tables from a source, you can now select just the tables you need. At any time, you can change which tables you are syncing. In the future, when you need more data from a source, you can simply edit your sync and we'll handle the rest.

Fixes and improvements

  • Added sub-account support for Twilio. You'll now find that all the data for sub-accounts is syncing to your database in real-time along with a new accounts table.

  • Added support for the /alerts endpoint to Twilio.

  • Added support for Shopify variant metadata.

  • Improved the in-app docs to dynamically show your sync's specific /wait endpoint URL.

  • Improved the look, feel, and copy of our landing page.

Choose which tables to sync

You can now pick and choose which tables from a source sync to your database. Often, you only need a couple tables syncing to your database to start building the features your customers need. So instead of syncing all the tables from a source, you can now select just the tables you need. At any time, you can change which tables you are syncing. In the future, when you need more data from a source, you can simply edit your sync and we'll handle the rest.

Fixes and improvements

  • Added sub-account support for Twilio. You'll now find that all the data for sub-accounts is syncing to your database in real-time along with a new accounts table.

  • Added support for the /alerts endpoint to Twilio.

  • Added support for Shopify variant metadata.

  • Improved the in-app docs to dynamically show your sync's specific /wait endpoint URL.

  • Improved the look, feel, and copy of our landing page.

Choose which tables to sync

You can now pick and choose which tables from a source sync to your database. Often, you only need a couple tables syncing to your database to start building the features your customers need. So instead of syncing all the tables from a source, you can now select just the tables you need. At any time, you can change which tables you are syncing. In the future, when you need more data from a source, you can simply edit your sync and we'll handle the rest.

Fixes and improvements

  • Added sub-account support for Twilio. You'll now find that all the data for sub-accounts is syncing to your database in real-time along with a new accounts table.

  • Added support for the /alerts endpoint to Twilio.

  • Added support for Shopify variant metadata.

  • Improved the in-app docs to dynamically show your sync's specific /wait endpoint URL.

  • Improved the look, feel, and copy of our landing page.

Dec 7, 2021

Fixes and improvements

  • Added support for versioning databases. This means we can make changes or upgrades to how we sync from APIs without affecting existing database schemas.

  • Add support for client-side SSL certificates. Learn more in our docs.

  • Added documentation for the /wait endpoint.

  • Added documentation for working with permissions, non-synced tables, and views.

  • Added support for Stripe restricted API keys.

  • Improved the self-hosted database provisioning flow by adding Sequin's whitelist IP addresses.

  • Improved the API credential experience. You can now select your credentials from a clean list of previously validated keys.

  • Fixed an issue that caused non-synced tables in a schema to drop.

  • Fixed an issue in the Sequin console so that only synced tables are displayed.

  • Fixed an issue that caused all statuses in the console to errantly glow red.

Fixes and improvements

  • Added support for versioning databases. This means we can make changes or upgrades to how we sync from APIs without affecting existing database schemas.

  • Add support for client-side SSL certificates. Learn more in our docs.

  • Added documentation for the /wait endpoint.

  • Added documentation for working with permissions, non-synced tables, and views.

  • Added support for Stripe restricted API keys.

  • Improved the self-hosted database provisioning flow by adding Sequin's whitelist IP addresses.

  • Improved the API credential experience. You can now select your credentials from a clean list of previously validated keys.

  • Fixed an issue that caused non-synced tables in a schema to drop.

  • Fixed an issue in the Sequin console so that only synced tables are displayed.

  • Fixed an issue that caused all statuses in the console to errantly glow red.

Fixes and improvements

  • Added support for versioning databases. This means we can make changes or upgrades to how we sync from APIs without affecting existing database schemas.

  • Add support for client-side SSL certificates. Learn more in our docs.

  • Added documentation for the /wait endpoint.

  • Added documentation for working with permissions, non-synced tables, and views.

  • Added support for Stripe restricted API keys.

  • Improved the self-hosted database provisioning flow by adding Sequin's whitelist IP addresses.

  • Improved the API credential experience. You can now select your credentials from a clean list of previously validated keys.

  • Fixed an issue that caused non-synced tables in a schema to drop.

  • Fixed an issue in the Sequin console so that only synced tables are displayed.

  • Fixed an issue that caused all statuses in the console to errantly glow red.

Oct 26, 2022

Fixes and improvements

  • Published a blog post on how to use PG_NOTIFY to handle events with Twilio syncs.

  • Added support for using Airtable table_id and field_id as Postgres table and columns names. Using this setting will make your database less readable directly, but will mean that code connected to your database will be resilient to table/field name changes. Send us a note for early access.

  • User experience improvements and bug fixes when connecting a self-hosted database.

  • Improved the organization of our docs by listing playbooks alongside their associated source.

  • Fixed issues with connecting to Stripe using OAuth.

Fixes and improvements

  • Published a blog post on how to use PG_NOTIFY to handle events with Twilio syncs.

  • Added support for using Airtable table_id and field_id as Postgres table and columns names. Using this setting will make your database less readable directly, but will mean that code connected to your database will be resilient to table/field name changes. Send us a note for early access.

  • User experience improvements and bug fixes when connecting a self-hosted database.

  • Improved the organization of our docs by listing playbooks alongside their associated source.

  • Fixed issues with connecting to Stripe using OAuth.

Fixes and improvements

  • Published a blog post on how to use PG_NOTIFY to handle events with Twilio syncs.

  • Added support for using Airtable table_id and field_id as Postgres table and columns names. Using this setting will make your database less readable directly, but will mean that code connected to your database will be resilient to table/field name changes. Send us a note for early access.

  • User experience improvements and bug fixes when connecting a self-hosted database.

  • Improved the organization of our docs by listing playbooks alongside their associated source.

  • Fixed issues with connecting to Stripe using OAuth.

Oct 12, 2021

Fixes and improvements

  • Published a tutorial on how to use Twilio syncs with Retool

  • Published a blog post about how we dog food our Stripe sync

  • Fixed login and sign-up jitters in the header

  • Improved the self-checkout page

  • Improved our landing page copy and images

  • Improved the /wait endpoint by dropping the kind parameter

  • Introduced graduated pricing for Airtable syncs

Fixes and improvements

  • Published a tutorial on how to use Twilio syncs with Retool

  • Published a blog post about how we dog food our Stripe sync

  • Fixed login and sign-up jitters in the header

  • Improved the self-checkout page

  • Improved our landing page copy and images

  • Improved the /wait endpoint by dropping the kind parameter

  • Introduced graduated pricing for Airtable syncs

Fixes and improvements

  • Published a tutorial on how to use Twilio syncs with Retool

  • Published a blog post about how we dog food our Stripe sync

  • Fixed login and sign-up jitters in the header

  • Improved the self-checkout page

  • Improved our landing page copy and images

  • Improved the /wait endpoint by dropping the kind parameter

  • Introduced graduated pricing for Airtable syncs

Sep 28, 2021

Sync Twilio

Twilio is now ready for syncing! We'll sync messages, phone calls, and recordings right to your production database. Integrate faster by using SQL or your favorite ORM to work with all your conversation data. Learn more in our docs.

User management

You can build faster when everyone on your dev team has a Sequin account. Team members can set up new syncs (eg., developer databases), edit existing syncs, or pull up credentials for their database or /wait endpoint. We've supported teams since we launched, you just needed to ask us to merge your team together into the same organization. Now, you can do this all on your own! Just click on the "Users" tab and you can invite and manage the users on your team.

Fixes and improvements

  • Added support for Stripe OAuth

  • Added self-checkout

  • Added ORMs and the /wait endpoint to the connect modal

  • Added ORMs, self-hosted databases, and the /wait endpoint to our docs

  • Added platform specific sources pages to the website

  • Improved the sign-up survey

  • Improved the experience for setting up self-hosted databases

Sync Twilio

Twilio is now ready for syncing! We'll sync messages, phone calls, and recordings right to your production database. Integrate faster by using SQL or your favorite ORM to work with all your conversation data. Learn more in our docs.

User management

You can build faster when everyone on your dev team has a Sequin account. Team members can set up new syncs (eg., developer databases), edit existing syncs, or pull up credentials for their database or /wait endpoint. We've supported teams since we launched, you just needed to ask us to merge your team together into the same organization. Now, you can do this all on your own! Just click on the "Users" tab and you can invite and manage the users on your team.

Fixes and improvements

  • Added support for Stripe OAuth

  • Added self-checkout

  • Added ORMs and the /wait endpoint to the connect modal

  • Added ORMs, self-hosted databases, and the /wait endpoint to our docs

  • Added platform specific sources pages to the website

  • Improved the sign-up survey

  • Improved the experience for setting up self-hosted databases

Sync Twilio

Twilio is now ready for syncing! We'll sync messages, phone calls, and recordings right to your production database. Integrate faster by using SQL or your favorite ORM to work with all your conversation data. Learn more in our docs.

User management

You can build faster when everyone on your dev team has a Sequin account. Team members can set up new syncs (eg., developer databases), edit existing syncs, or pull up credentials for their database or /wait endpoint. We've supported teams since we launched, you just needed to ask us to merge your team together into the same organization. Now, you can do this all on your own! Just click on the "Users" tab and you can invite and manage the users on your team.

Fixes and improvements

  • Added support for Stripe OAuth

  • Added self-checkout

  • Added ORMs and the /wait endpoint to the connect modal

  • Added ORMs, self-hosted databases, and the /wait endpoint to our docs

  • Added platform specific sources pages to the website

  • Improved the sign-up survey

  • Improved the experience for setting up self-hosted databases

Sep 14, 2021

The /wait Endpoint

With the /wait endpoint, we're completing the write story for new sources like Stripe, Close, and Shopify. (Airtable already supports writes via our special Airtable proxy.)

We advocate for a one-way data flow: data flows from the upstream platform to your Sequin database. You read from your database, but write changes back to the upstream API. Those write changes you made will flow down to your Sequin database for you to read again.

Sometimes, you want your code to read from your database right after making a change via the API. But there's a race condition: it can take a second or two for that change to propagate to your database.

So, to ensure a recent write – like a new Shopify order – has been synced to your database, you'll call our /wait endpoint. /wait returns a 200 ok only after we've confirmed that your database is up-to-date and in-sync with Shopify.

Close is generally available

Close is now generally available as a new source! Sync all your leads, contacts, and opportunities right to your production database.

Fixes and improvements

  • Added support for Airtable thumbnails.

  • Added a real-time backfill progress indicator for new syncs.

  • Added a trial duration banner to the console.

  • Added automated trial expiration notifications.

  • Added an option to halt syncs when an associated view has a conflict.

  • Improved the sources section of our website.

  • Improved navigation in our docs.

  • Switched to flat rate pricing with 14-day trial period.

The /wait Endpoint

With the /wait endpoint, we're completing the write story for new sources like Stripe, Close, and Shopify. (Airtable already supports writes via our special Airtable proxy.)

We advocate for a one-way data flow: data flows from the upstream platform to your Sequin database. You read from your database, but write changes back to the upstream API. Those write changes you made will flow down to your Sequin database for you to read again.

Sometimes, you want your code to read from your database right after making a change via the API. But there's a race condition: it can take a second or two for that change to propagate to your database.

So, to ensure a recent write – like a new Shopify order – has been synced to your database, you'll call our /wait endpoint. /wait returns a 200 ok only after we've confirmed that your database is up-to-date and in-sync with Shopify.

Close is generally available

Close is now generally available as a new source! Sync all your leads, contacts, and opportunities right to your production database.

Fixes and improvements

  • Added support for Airtable thumbnails.

  • Added a real-time backfill progress indicator for new syncs.

  • Added a trial duration banner to the console.

  • Added automated trial expiration notifications.

  • Added an option to halt syncs when an associated view has a conflict.

  • Improved the sources section of our website.

  • Improved navigation in our docs.

  • Switched to flat rate pricing with 14-day trial period.

The /wait Endpoint

With the /wait endpoint, we're completing the write story for new sources like Stripe, Close, and Shopify. (Airtable already supports writes via our special Airtable proxy.)

We advocate for a one-way data flow: data flows from the upstream platform to your Sequin database. You read from your database, but write changes back to the upstream API. Those write changes you made will flow down to your Sequin database for you to read again.

Sometimes, you want your code to read from your database right after making a change via the API. But there's a race condition: it can take a second or two for that change to propagate to your database.

So, to ensure a recent write – like a new Shopify order – has been synced to your database, you'll call our /wait endpoint. /wait returns a 200 ok only after we've confirmed that your database is up-to-date and in-sync with Shopify.

Close is generally available

Close is now generally available as a new source! Sync all your leads, contacts, and opportunities right to your production database.

Fixes and improvements

  • Added support for Airtable thumbnails.

  • Added a real-time backfill progress indicator for new syncs.

  • Added a trial duration banner to the console.

  • Added automated trial expiration notifications.

  • Added an option to halt syncs when an associated view has a conflict.

  • Improved the sources section of our website.

  • Improved navigation in our docs.

  • Switched to flat rate pricing with 14-day trial period.

Aug 31, 2021

Shopify and Close integration

Our support for Shopify and Close is in closed alpha! If you'd like early access, send us a note. They'll be public soon.

With our Shopify sync, all your customers, products, and orders replicate to Postgres in real-time. Build new front-ends, internal tools, and more on your Shopify data using SQL or your favorite ORM.

Close is a popular CRM (we use it here at Sequin!) Just enter your Close API key and we'll begin syncing your contacts, leads, and opportunities right to your database. Having your CRM data in your database makes it easier to automate your pipeline, analyze sales, and build internal applications for sales and marketing.

Fixes and improvements

  • Added foreign key support for Stripe.

  • Added a sources section to our website.

  • Improved voting for next Sequin sources.

  • Renamed "Optimize sync" to "Turbo sync" for Airtable – it's more accurate.

  • Improved onboarding by adding helpful emails.

  • Improved the Stripe schema used by Prisma. We shortened/cleaned-up names for backrefs and forwardrefs.

  • Added this changelog to our website :)

Shopify and Close integration

Our support for Shopify and Close is in closed alpha! If you'd like early access, send us a note. They'll be public soon.

With our Shopify sync, all your customers, products, and orders replicate to Postgres in real-time. Build new front-ends, internal tools, and more on your Shopify data using SQL or your favorite ORM.

Close is a popular CRM (we use it here at Sequin!) Just enter your Close API key and we'll begin syncing your contacts, leads, and opportunities right to your database. Having your CRM data in your database makes it easier to automate your pipeline, analyze sales, and build internal applications for sales and marketing.

Fixes and improvements

  • Added foreign key support for Stripe.

  • Added a sources section to our website.

  • Improved voting for next Sequin sources.

  • Renamed "Optimize sync" to "Turbo sync" for Airtable – it's more accurate.

  • Improved onboarding by adding helpful emails.

  • Improved the Stripe schema used by Prisma. We shortened/cleaned-up names for backrefs and forwardrefs.

  • Added this changelog to our website :)

Shopify and Close integration

Our support for Shopify and Close is in closed alpha! If you'd like early access, send us a note. They'll be public soon.

With our Shopify sync, all your customers, products, and orders replicate to Postgres in real-time. Build new front-ends, internal tools, and more on your Shopify data using SQL or your favorite ORM.

Close is a popular CRM (we use it here at Sequin!) Just enter your Close API key and we'll begin syncing your contacts, leads, and opportunities right to your database. Having your CRM data in your database makes it easier to automate your pipeline, analyze sales, and build internal applications for sales and marketing.

Fixes and improvements

  • Added foreign key support for Stripe.

  • Added a sources section to our website.

  • Improved voting for next Sequin sources.

  • Renamed "Optimize sync" to "Turbo sync" for Airtable – it's more accurate.

  • Improved onboarding by adding helpful emails.

  • Improved the Stripe schema used by Prisma. We shortened/cleaned-up names for backrefs and forwardrefs.

  • Added this changelog to our website :)