• Don't fail partially successful BigQuery jobs

  • More efficient fetching of syncs list

  • Fix Snowflake batch inserter

  • Report an error if all records in SQL job fail

  • Support Snowflake VARIANT/ARRAY columns for create/update

  • Explicitly report timeouts to user rather than silently failing

  • Reduce over-fetching of SQL schemas

  • Correctly handle null arrays coming from Snowflake


New features

  • Model filters for Cosmos DB


  • More efficient Snowflake querying (async mode)

  • Fix Snowflake writes for arrays and JSON objects for replace syncs

  • Allow manual syncs to be selected for sync-after

  • More stability in the face of errors when writing to SQL databases

  • Fix 'Last modified' to only display on saved models

  • Fix memory leak on sync status page

  • Exclude read-only types from Airtable destinations

  • Performance improvements for sync history page


New features

  • Show 'Last modified by' info on models and syncs


  • Surface failures from Smartsheet jobs

  • Fix duplicate header in record logs

  • Correctly format dates for Google Sheet exports

  • Fix bug with connecting to Airtable bases

  • Improve performance of API model editor

  • Fix bug with per-field 'create-only' mode when applied to HubSpot destinations

  • Fix bug with some date formats when writing to Salesforce



  • More robust handling of Affinity source data

  • More robust writing to SQL databases when some records fail

  • Correctly handle embedded commas when syncing Google Sheets to Snowflake

  • Show 'Run after' syncs list on hover on syncs page

  • Remove 'Browse' button from saved Google Sheets connections

  • Enforce model refresh if query changes

  • Robust handling of large (300k+) simultaneous record errors when syncing

  • Decode Hubspot array fields correctly

  • More efficient browser memory usage when viewing sync history page

  • Faster load time in Query Runner for large schemas

  • Fix occassional 'unreachable fields' display bug in sync config


New features

  • SQL Runner supports SOQL queries

  • Add 'Contains' model filter with arrays

  • Faster performance of SQL runner schema display with many tables

  • Add body parameter for API source models on POST


  • Handle Hubspot array fields correctly

  • Improve memory pressure on sync history page

  • Correctly format dates for snowflake-destination replace syncs

  • Fix occasional 'unreachable fields' display bug


New Features

  • Ability to define models from SOQL queries

  • Allow type overrides on API models

  • When writing to databases, automatically generate target column when new model field is added to sync

  • Add support for notifications on sync warnings

  • Record duplicate identity values as sync warnings


  • More robust handling of nil values in Affinity

  • More robust handling of Airtable dates

  • Fix bug where per-field sync mode overrides weren't getting saved

  • Migrate to new HubSpot OAuth scopes

  • Remove limit parameter from API fieldsets

  • More robust handling of empty identity values

  • User setting toggle would sometimes be out of date

  • Do not fail sync on missing identity value

  • API sources now terminates pagination on duplicate results

  • Support datetime strings where offset is +/-hhmm (#1465)


New Features

  • New source integration: Databricks

  • New destination integration: Smartsheet

  • Log Salesforce inserted and updated records

  • Log duplicate Salesforce records as warnings encountered during sync

  • Allow use of readonly Salesforce fields in identity mapping

  • Support for querying MongoDB

  • Support for ARRAY and BIGNUMERIC types in BigQuery


  • Sync history record log now downloads as CSV rather then opening in browser as plaintext

  • Fix error when saving sync with null overrides

  • Fix connection error when connecting to Freshdesk

  • Faster querying of Google Sheets with many empty rows


New Features

  • Enable string target filters for Salesforce

  • Enable logging to S3 of total records synced

  • Support for Microsoft 365 SSO


  • Performance improvement for displaying large number of tables in SQL database model editor's table selector

  • On prem deploys can specify valid HTTP origins

  • Fail syncs with invalid configurations

  • Do not fail when a single record cannot be encoded

  • Performance improvement for large syncs to BigQuery


New Features

  • CSV connections and models support headers and query params

  • Expose non-company entities for Harmonic


  • Filter duplicate model mappings from override list

  • Better performance for dropdown menus

  • Fix rare case where a sync fails but still displays 'Running'

  • Better displaying of long strings in banner alerts


New Features

  • Partial sync failure notifications

  • Syncing people objects from Harmonic

  • Support for generating models from SQL views

  • Expose Chargebee payment source fields in model editor


  • More edge-case stability for Salesforce syncs

  • Fix parse error for SQL queries that contain URLs with a '?' character

  • Fix Chargebee edge case type errors

  • Smoother UI flow for Okta SAML

  • Fix occasional display of field ID rather than field name in sync preview


New Features

  • Okta SAML login support

  • Much faster syncs from Stripe

  • Show errored record details for HubSpot sync errors

  • Expose Stripe Invoice and Invoice Line Item objects


  • More thorough exposure of available fields for API models

  • More stability for HubSpot sync edge cases



  • Disable Salesforce composite API when a batch size is set


New Features

  • New sources: AWS Athena, Azure Cosmos DB, Chargebee, Harmonic

  • New destination: Snowflake

  • Allow more than one sync override for the same model field

  • Faster interactions and saves for many-field models in model editor

  • When writing to SQL databases, Polytomic's auto-generated schema now includes created_at and updated_at columns


  • Sort sync list by destination object name

  • Improve saving performance on model config

  • Optimisations for HubSpot syncs

  • Include Polytomic client ID when making Salesforce requests



  • Correct set HubSpot associations in more edge cases.

  • BigQuery schema generation now maps Arrays and Objects to String instead of Bytes.


New Features

  • New sources: AWS Athena, Chargebee

  • Add ability to specify identity value in sync preview

  • Add ability to specify target filters (and filter logic) in addition to existing model filters

  • More efficient SFDC syncs

  • Show SQL database types in model editor

  • Include the execution type with webhook payloads

  • Add automatic verification for JSON path in API models


  • Correct mapping of HubSpot associations in some cases

  • More robustness in the face of Google Sheet rate limits

  • Sort SQL table names in model editor dropdown

  • Enforce a platform limit for Salesforce calls

  • Fix mistaken identity values in some HubSpot cases


New Features

  • New destination: Segment

  • Ability to add sync filters and overrides for API model fields

  • Ability to add filter logic for target fields, not just source ones

  • Ability to use datetime expressions in string constants

  • Ability to specify a minutes-threshold environment variable LONGSYNC_THRESHOLD for long-running-sync alerts

  • Add "Only sync if different" option for Salesforce syncs

  • Field-level create-only mode now will also write data if the record exists in the destination but the corresponding field is empty

  • Remove default last-24-hours filter on sync history page

  • Support for connecting to MySQL via SSH tunnel


  • Fix URL to download error log for on-prem

  • Set a sync as failed if maximum number of retries is exceeded

  • Allow Marketo jobs to retry indefinitely


New Features

  • Add ability to specify a constant string value in sync mappings

  • Add ability to override string values in sync mappings with user-entered value

  • Add ability to write to MySQL and PostgreSQL with auto-generated schemas


  • History for continuous syncs now only lists syncs with non-zero updates


New Features

  • New source: Azure Synapse

  • Sync filter predicates for strings, numbers, and dates

  • Sync filter logic

  • Filters for sync history page

  • Much faster loading of Snowflake tables in model editor

  • In-app documentation link


  • Fix bug when syncing to Pardot checkboxes

  • More detailed error reporting for Salesforce edge cases



  • "Write null values" setting was not respected for Salesforce syncs in some



  • Changed records could be missed in some edge cases


New Features

  • New destination: MySQL

  • Sync diffs now only consider the fields in a sync mapping rather than all fields in parent models

  • New sync schedule option: run after other syncs complete

  • Expose Hubspot enumerations as target values

  • Add support for Hubspot Tickets

  • Add additional types to Salesforce models (picklist, address, int)


  • More generous Snowflake timeout when checking its connection

  • More generous SQL Runner timeouts for long-running queries

  • Fix SQL Runner scrollbar bug on Chrome for macOS

  • Fix SQL Runner empty-row results for BigQuery

  • Validate unreachable fields and invalid filters on sync save

  • More efficient connection health checks

  • Unadulterated display of Byte[] types from BigQuery

  • Expose Affinity ID for Person, Org identity

  • Affinity rate-limiting improvements

  • Fix weekly sync Sunday display bug

  • Move Google Sheet tab selection to model config

  • Extend Snowflake timeout when checking a connection

  • More efficient handling of simultaneous SQL database connections

  • More efficient handling of HubSpot rate limits

  • More efficient handling of Pardot rate limits

  • Normalize case of email addresses

  • Format empty arrays for Hubspot

  • Add additional types to salesforce mapping

  • Syncs page now orders them deterministically

  • Clearer error messages for API sources


New Features

  • New-user onboarding flow

  • New source: CSV URL

  • New destinations: BigQuery, Klaviyo, and Google Ads

  • Add field-detail view to filters

  • Support non-equality filters on Stripe invoices

  • More efficient Salesforce syncing

  • More efficient syncing from Stripe


  • More stable Salesforce token refreshes

  • More accurate detection of Salesforce external-ID errors

  • Fix some cases where filtering on Salesforce fields was not applied

  • Use correct encoding for Salesforce null values when mixing Bulk v2 and composite APIs

  • Correctly handle Salesforce fields without labels

  • Join target field in model query editor now also displays its model

  • Show connected user's email for Google Sheets connections

  • Show sync error count while hovering over partial-error icon

  • Pardot bugfixes

  • Sync history duration was inaccurate in some cases

  • Sanitize API source pagination

  • Support parameterizing arguments on API sources

  • Add showFieldDetails to sync filters

  • Only short-circuit processing w/no filters set

  • Set IsAssociation for all SFDC relationship ids

  • Sync summary mappings view now shows field details on hover

  • Show error message on unreachable sync filter fields


New Features

  • New destination: Pardot

  • Display SFDC and Marketo API count even when user has not set a limit

  • Less SFDC API usage


  • More efficient syncing from Stripe Customer record

  • Show response status code in webhook request log

  • Fix cases where error counts would be inaccurate

  • Fix cases where completed time would not update for SFDC Bulk v1

  • Store full request URL with webhook logs

  • Remove duplicate Lead errors if 'Skip converted' is set



  • Correctly enable Salesforce integration based on configuration


New Features

  • Expose calculated fields on Salesforce destinations

  • Support boolean destination field filters for Salesforce

  • Hide unreachable fields in sync mappings

  • Use connection logos for sync summary field logos

  • Add field API name to sync 'Show details' view

  • Enable request logs for webhook syncs

  • Ability to add metadata to webhook syncs

  • Readable errors for failed HTTP API-source syncs


  • More stability for Stripe joins

  • Nulls now copied correctly for SFDC Bulk V1 batches

  • Security improvements

  • Sync errors now consistently surface during retries

  • Correctly display nested BigQuery schemas in table picker

  • Decreased network load per connection

  • Show local field label in "Inbound joins" UI entry

  • Hide sync filters if mappings are empty


  • Uploads to Marketo were erroneously marked as failed, regardless of final


  • Log job & failure information from Marketo


New Features

  • New destination: Freshdesk

  • Ability to clone syncs

  • Show timestamp of when a connections objects were last retrieved

  • Token pagination for REST API sources


  • Correctly infer array and object model fields

  • Fix instability when unable to retrieve Zendesk custom fields

  • Platform support for denormalized records (#745)

  • Add support for Token pagination for APIs


New Features

  • Ability to sync from arbitrary APIs

  • Ability to sync to arbitrary webhooks

  • Ability to trigger syncs through API

  • Ability to add all fields from a model in sync mapping in one click

  • Show field types in model query editor

  • Support for syncing multi-select strings to HubSpot

  • New 'completed with errors' status in sync history page


  • Increased efficiency of cross-model joins

  • Increased stability of MongoDB connections

  • Order models by name in sync mapping dropdown

  • Better support for Stripe sub-fields in model builder


New Features

  • Add date filter to sync filters

  • New destination: Webhooks

  • New source: HTTP APIs



  • Upgrade Snowflake client library
  • Add support for Big Query NUMERIC fields



  • Expose SQL errors which could lead to premature query termination
  • Add support for setting region on bigquery clients
  • Reduce memory consumption used for duplication record detection



  • Add diagnostic logging for records excluded from syncs based on filters,
    change detected, and de-duplication



  • Fix situation where a Salesforce error could result in the sync halting


New Features

  • New destination: Facebook Ad Audiences


  • Fix sporadic instability with Salesforce syncs

  • Better type handling for Iterable syncs

  • Improved logging of Salesforce integration

  • Fix occasional error with HubSpot associations


New Features

  • New destinations: Iterable and Amplitude

  • Weekly syncs summary email

  • Add ability to associate records in HubSpot syncs

  • Add support for 'does not equal' sync filtera


  • 8x speedup for Snowflake queries using multiple tracking fields

  • Fix issue where scheduled syncs sometimes don't run

  • More stability for HubSpot syncs



  • Fix daily-schedule bug that recorded wrong minute value


New Features

  • New sources: HubSpot and Stripe

  • Add null/not null sync filters for Salesforce target fields

  • Add sync filters for Google Sheets model fields

  • Show full database schema in SQL Runner

  • Add create and update-only sync modes for HubSpot

  • Expose equality sync filters for Hubspot model fields


  • Faster loading of model and sync pages

  • Format dates properly when syncing to HubSpot

  • HubSpot test syncs sometimes did not show the correct records

  • Miscellaneous UI improvements


New Features

  • Tracking fields are now optional

  • New UI design

  • SQL runner: run ad-hoc SQL queries on your databases

  • Ability to set create-only mode per-field

  • Show/hide field details in sync mapping config


  • Hard timeout for sync preview operations that take too long

  • Show on-premises execution log URL for any started execution



  • Show on premises log link for any started execution

  • Fix occassional stability issue with Postgres connections

  • Better performance for large Airtable tables

  • Fix bug where a connection would mistakenly save on successfull OAuth

  • Expose Affinity CRM relationship fields for sync

  • More stable recovery in the face of errors from Google Sheets's API

  • Prevent occasional record duplicates in HubSpot syncs

  • Better support for Airtable formula fields


New Features

  • Add support for syncing to Intercom companies

  • Add support for syncing from Airtable Views


  • Sync field mappings are now listed in model-field alphabetical order

  • Faster fetching of Airtable bases and tables

  • Improvements for syncing to Affinity CRM

  • Redirect user to login on session expiration

  • Improved display of BigQuery table names

  • More stability when refreshing Google Sheets connections


New Features

  • Cron sync scheduling via 'Custom' schedule option

  • Ability to sync to Stripe Customers and Subscriptions

  • Unhealthy-connection destinations are now marked as such on the syncs list page


  • Security upgrades

  • Query speed improvements

  • (on-prem) More efficient database space utilisation


  • Handle additional errors during Salesforce bulk job creation

  • Reduce the number of SQL queries needed when joining fieldsets



  • Optimize SQL queries when multiple tracking fields are used

  • Improve caching behavior for queries executed during a sync execution


New Features

  • New destinations: Intercom, Affinity CRM

  • Syncs page is now grouped by destination

  • Model page query fieldsets are minimized by default

  • Expose support for sync field filters on Salesforce fields


  • Improve load speed for syncs and model pages

  • Lower memory usage during syncs, especially for large ones

  • More efficient related-object syncing in Salesforce

  • Do not return model page error if we cannot enumerate SFDC schema

  • Google Sheets syncs would fail in rare conditions

  • Add ability to ignore invalid references

  • Better automatic model validation when executing a sync

  • Clean-up relationships from removed fields

  • Do not attempt to sync records we were unable to map to destination

  • Gracefully handle search errors from Hubspot


New Features

  • New sync destination: Airtable

  • Syncs page now groups syncs by destination

  • Make query name sticky when scrolling through model fields selector

  • Add join indicators on model page


  • Syncing MongoDB to Google Sheets would sometime fail

  • Cancelling a Salesforce sync from Polytomic after Salesforce has already written all the data should not count as a complete job

  • Show error message for the specific case of failing to update a Google Sheet

  • Expose Salesforce IDs as identity mapping targets

  • Security improvements


New Features

  • Ability to set filters on model fields in a sync configuration: is null/not-null and true/false for boolean fields.

  • Banner confirmation of invitation email when a new user is added


  • Retry network requests in the event of unexpected hang up


  • Username and password were not always passed during the Redis client


  • Errors when searching Marketo could result in a stopped sync


  • Connections to SQL databases were prematurely removed from the connection


New Features

  • Expose 'sync all records' setting for all targets, not just Salesforce

  • New sync source: Airtable

  • Support for syncing to and from very large Google Sheets

  • Allow and respect update-only and create-only fields in a create-update sync

  • Indicate a Salesforce connection as unhealthy if Salesforce has run out of API calls for the day, even if that has nothing to do with Polytomic

  • Update weekly sync summary email to summarize the whole week


  • Occasional inability to change a connection name

  • Edge cases that would result in inaccurate updated-record counts in the sync history

  • Introduce restriction of query relationship targets to existing model fields only

  • Speed optimisations for large-data syncs

  • Occasional errors for calculated columns in Google Sheets


  • Update upstream Redis library to incorporate Redis Cluster fixes



  • Tracking field names were not always quoted correctly


New Features

  • Implemented a weekly sync report


  • Snowflake field labels are now title-cased rather than uppercase

  • Accurate indication of whether Salesforce relationship target fields are creatable or updateable

  • Fix some cases where cancelling a running sync would result in nothing

  • Better handling of default Salesforce batch sizes

  • More efficient Salesforce upserts in bulk mode


  • More aggressively cache Marketo target definitions



  • Marketo syncs were not using the maximum available batch size


New Features

  • Clickable download links for sync logs in on-premise deployments

  • Allow setting syncs to always be full syncs

  • Show Salesforce account user in its connection configuration


  • Speed optimisations when gathering data for a sync

  • More efficient Salesforce API usage for some sync types

  • Further reduction in logging volume

  • Treat automatically-skipped syncs as failures

  • Treat Salesforce identity keys as case insensitive


  • Remove logging statements without level filter



  • Updating Salesforce related objects using an external ID would sometimes fail
    when serial concurrency or fixed batch size was set.


New Features

  • Add support for update-only or create-only Marketo syncs


  • Creating a new Google Sheets connection would sometimes fail

  • Security upgrades



  • Marketo syncs could fail to start due to overly aggressive locking.

  • A sync could fail the first time it was run after changing referenced tracking
    fields in the model.



  • Fixed regression in model query editing



  • Relationships to related Salesforce objects were not set in some

  • Preview was unavailable when a sync included related records.

  • Lookup fields on related records were erroneously flagged as required.



  • Corrects a bug which could cause duplicate records to be created in


New Features

  • Add ability to sync to any SFDC object's related-object's ID field

  • Add AzureSQL support


  • Don't disappear 'full resync' button during sync

  • Allow the same model field to sync to two different target fields

  • Remove character limit on query titles

  • Stability improvements for particular Redis environments

  • Skip data fields for a particular sync if source system is unavailable

  • Editing query fields propagates those changes to
    relationships using those fields

  • Fix error preventing logging in to Polytomic Front widget in Front's desktop app

  • Security updates

  • Logging improvements


New Features

  • Add support for Azure SQL connections


  • Namespace all Redis keys for cluster mode compatibility; this includes the
    contents of all rel2020.12.23 hot fixes.

  • Update Docker base image to use Ubuntu 20.04.

  • Removing a fieldset involved in a relationship could result in the Model
    refusing to load.

  • An error during OAuth connection could result in a half-configured connection.

  • Hubspot syncs could drop the final record from a batch.



  • Route redis scripts to the correct cluster node.



  • Reference frontend scripts using a domain relative URL



  • Set the Redis namespace for registered task handlers for Redis Cluster



  • Scope event stream keys correctly for Redis Cluster compatibility


New Features

  • Add support for Amplitude model

  • Ability to scroll left and right sides of model edit view independently


  • Display logout button in application sidebar

  • Edge-case stability for Zendesk syncs

  • More generous timeout for testing new DB connections

  • Empty Google Sheet results could fail the sync

  • A deleted identity field could cause the sync list fetch to silently fail

  • Allow adding a previously-removed user to an organization

  • Remove extraneous "Google Sheets" default name prefix from Google Sheet connections

  • Accept full domains or URLs for Zendesk connection domain

  • More stable handling for query tests that return an error


New Features

  • Add support for syncing to Google Sheets

  • Add support for syncing to Zendesk

  • Add option to force a fresh authentication for existing OAuth connections

  • Expose Salesforce external ID fields for sync identity mapping


  • Only display writeable target fields in mapping drop-down

  • Handle widget view empty state

  • Refreshing a database table schema in a query after editing field properties would revert said properties

  • Deleting fields used in an existing sync could prevent new syncs from being created

  • Deleting errored SSH-tunnel database connections would fail


New Features

  • Added support for 'views': the ability to display a live subset of the Universal Model based on context (support ticket or customer email) in widgets that can be embedded in third-party customer systems like Front, Salesforce, and Zendesk. Front support only for now.

  • Added support for a substring-of identity mapping function in addition to the default equality one.


  • Salesforce syncing would fail for certain field mapping type combinations

  • Under certain conditions, test syncs resulted in an inaccurate record log.

  • Editing a connection name sometimes resulted in the old name persisting.


New Features

  • Syncing an array of values or delimited string to a multi-picklist
    field in Salesforce will set the picklist values.

    When syncing a multi-picklist field in Salesforce, comma,
    semi-colon, and null delimited strings will select picklist values,
    if a match exists. Syncing arrays to a multi-picklist field will
    alow select the picklist values.

  • Sync filters may be applied to Update syncs.

  • Updated BigQuery integration to support schema browser.

    Previously only SQL queries were supported for BigQuery fieldsets.


  • Deleting a fieldset that is referenced by a sync caused the sync to
    disappear from the list.

  • When running on premises, duplicate root users could be created at