Airtable functionality request

Hello Synesty Team,

i working with airtable and use synesty to import/export data to/from airtable. I run into problems because synesty can only add new records into a table but it is missing a option to update the records. It would be very helpful if you could add this feature.

best regards,
Heimwerkertools

Thanks for your feature request.
From a first look in the documentation you need the Airtable internal RecordID to make an update. That means you need to store that somewhere when you create or fetch the record. Once you have that ID, updates will be possible.

We investigate and plan this and keep you updated.

Hello @synesty-Sales,
we want to automate data import and saving existing ID is a manual task. In addition some IDs are changing as well. We need to update data in the airtable without having duplicate IDs.

Hello @heimwerkertools
before updating the records you could pull all your Airtable records using AirtableListRecord step.
You then have multiple options to map the pulled IDs into your import spreadsheet:

  1. Either use a KeyValueSpreadsheet with your identifier being the key and the internal Airtable ID being the Value.
    image
    After that you can use following call to get your value.
    image
<#if meta.map@KeyValueSpreadsheet_7.containsKey(idproduct!)>  
${meta.map@KeyValueSpreadsheet_7.get(idproduct!)}
</#if>

Please note the number at the end of your „KeyValueSpreadsheet“ is always different.

Result shoud look like this:

  1. Append both your Import Spreadsheet and your Airtable List Records Spreadsheet together with the step SpreadSheetAppender.
    image
    Airtable List Records Spreadsheet should only contain Airtable Internal ID and your Identifier.
    The name of your Identifier column in import and List records spreadsheet should be the same.
    Then add a new Mapper and use Group function to group both Spreadsheets together.

    Default Aggregate Function should be „First non-empty row value“.

Regards
Stefan

@heimwerkertools The Step AirtableUpdateRecords has been released (Docu).

You technically need the Airtable recordId to update it.
With Synesty you can still automate all this without manually doing something. As @sHelme has pointed out there are various options.

A typical way is to use a Synesty datastore to store the records which are in Airtable e.g. using a nightly AirtableListRecords using identifier and identifier2 to store your own ID and the Airtable recordId

The Update process then can use the Lookup of the Mapper to get the recordId from your own Id from that datastore.

This process is described here.