Tableclone allows you to easily copy table data between various platforms and set up scheduled tasks to copy or synchronize data.
You can log in to Tableclone with your Google account (only supported method at the moment).
Here are the main concepts used in Tableclone:
Tableclone supports a variety of SaaS services and databases. Currently, supported platforms are:
- Google Drive / Google Sheet
Credentials are your personal authentication information used by Tableclone to fetch or write data on these platforms. Currently, two types of authentication method are in use:
- OAuth: OAuth requires you to authorize Tableclone through a page on the platform's website.
- API key (or any secret based auth): Secret token generated on the platform administration page
API key / Secret
✅ ⚠️ Personal token, not former old API keys. More information here
Google Drive / Google Sheet
✅: Supported in Tableclone
🚫: Unavailable on the platform
❌: Unsupported (yet)
Once you’ve set some credential, you can add some datasets in Tableclone. A dataset represents a table of data (or a potential container, such as a Google Drive folder) that may be used either as a source or a destination in your “cloning” operations.
Follow these steps to add a new dataset:
New datasetand choose the corresponding platform
- Choose the credential to be used. You can have different credentials for the same platform.
- Tableclone will provide you with an assistant to select the table in the target platform (for example, selecting an Airtable database from the list, and then the table).
- Once the table is set, Tableclone will load the columns and let you exclude some columns if you want.
- You can edit an “alias” to be used within Tableclone.
Once you’ve set some datasets, you can set up some clone configuration.
Tableclone operations can work two ways:
- For container destination such as Google Drive, Tableclone will dump all data to a Google Sheet file, either creating a new file or overwriting an existing one. This process is straightforward, as there is no synchronization mechanism or mapping required.
- For table destination such as Airtable, Bubble, PostgreSQL Twill use unique identifiers to determine whether each row exists or not in the destination table. Existing rows will be updated and new rows will be appended. That is why the configuration requires a specific destination field to store the source unique identifier. On platforms such as Airtable or Bubble, each row has a native unique identifier (record ID). On PostgreSQL, for example, you have to specify which unique identifier to use. As column name may differ in source and destination, a mapping have to be provided.
A clone configuration consists of:
- A source dataset
- A destination dataset
- [PostgreSQL] Source “unique identifier” field to be used
- [Airtable, Bubble, PostgreSQL] Destination “unique identifier” field to be used
- [Airtable, Bubble, PostgreSQL] Column mapping between source and destination
- Scheduling option
- Other options depending on platform
- There is no control on data types in configuration form. That means it is your responsibility to provide a mapping of compatible types. For example, if you map a string source field to an integer destination field, cloning operation will lead to an error. Be aware also not to write a read-only field (Airtable formula for example)
- Relations are currently not supported or tested. While they may function on some platforms, it is recommended to instead sync a column with the unique ID of the related object and then recreate the relation at the destination using a trigger or automation.
- There is no “delete” option. Deleted rows in source won’t be deleted in destination. Delete option will be added soon.
- There is no limit on the number of records synced. However, Tableclone runs on Google Cloud Function and has a maximum execution time of 9 minutes for each clone task. Benchmarks will be conducted in the future to determine the read/write performance for each platform. You can be confident that 10,000 records will work on any platform. Depending on the platform, 100,000 records may or may not work.
The following video (in French…) will guide you in the first steps using Tableclone.