can you show us how you mapped the data in the Airtable/Upsert module?
With Airtable, if you want to update an existing record, you need to provide its internal ID. If you don’t provide a “Record ID”, it will create an item; if you provide the “Record ID”, it will update.
It means that you have to “know” the ID of the record you need to update in Airtable, when it’s modified in Notion.
If this information has never been stored in Notion, the only way for you is to first search the record in Airtable, and then update it if you found it (or create it if it was not found).
Which means that you must have a common field between both products (SIRET, Entreprise name - if it’s unique, …)
You have to search the record in Airtable using this field, and then, in your upsert mapping, you have to map the “Record ID”.
I can help you with the last parts, but first, we need to know how you did the mapping (to see if there’s something to change there), and what field coud be used to correlate records in Notion with records in Airtable.
It looks like you’ll be able to use this NPart to find what record you have to update (or create) in Airtable.
Just to make sure I get it right. You want to sync data in Notion to your Airtable database, right. If you create a new record in Notion, you want to create the same in Airtable, and if you modify a record in Notion, you want to update it in Airtable. Is it correct?
All your records in Notion have their own Record ID, and they are different than the Record IDs in Airtable. Which means you can’t directly map these id between the 2 systems.
But if NPart identifies uniquely each Enterprise, you can use it to figure out if the record is already in Airtable or not.
So, what you should do is to add an Airtable/Search Records module just after Notion, and add in the Formula field Npart=“xxxx” (Npart has to be the name of the field in Airtable, and xxxx has to be the NPart variable you map from the Notion step).
If the record is found, Airtable will return its RecordID. If not found, it will return no result.
Then you do the Airtable/Upsert a Record, and you map the ID from “Search Records” in the “Record ID” of Airtable/Upsert. And you map the other fields, the way you did already.
If the Record already exists in Airtable, it will be updated. If it didn’t exist, it will be created.
Very good, you did exactly what was needed if you want to update records instead of creating one all the time.
I guess that the error you encounter is from one of the fields you are mapping. Isn’t there any field that references another object in Airtable?
Or, maybe a “select” field where you have to set an ID instead of a Label?
Try to remove any mapping that references other objects or select fields and test; to see if the error is here.
If you test, adding little by little the other mappings, you will find what Field causes troubles. I suspect it’s a reference to another object.
Let me know the outcome.
Ok, Uspert module doesn’t add the new row in Airtable. I believed that it was able to to that as soon as the entreprise doesn’t exist.
It just run and sort 7 entreprises without any change.
I suppose that I have to add a filter in order to let pass only entreprise with any change, but I understood that the Uspert module was in charge to update the data. An I wrong ? So why let pass throught the module entreprise without any change ?
you’re encountering an issue with identifying the record ID in Airtable. The ID is crucial for updating or inserting records. Check your Airtable module’s configuration; ensure you’re mapping the correct fields and that the record ID is included. If it’s missing, you might need to adjust your Airtable settings or consult their documentation for guidance on retrieving record IDs. Also Visit FESCO Bill Online and Best go karts
I did as suggested by Benjamin. As soon as I use a select or relation field, there is an error. For example, Contact with only one choice “ID”. I can only chose ID and it doesn’t work. With some other where I have more choice, I tried to chose name instead of ID, but it doesn’t work neither.
Those field are the problem : rôle, type activité, contacts, origine, statut sté, catalogue
Sometimes, upsert module fails to run succesfully. I would suggest you to go with “update a record” and “create a record” modules.
Please add a router after your “search record” module and add 2 routes. one for " create a record" module with filter “Id does not exist” and another with “update a record” module with filter “Id exists”.
It says you are passing emptystring in record ID. Could you please share the image of your mapping and the output bundle of search record module? You can check what record ID it has taken in input bundle of error module also.