Hi @ss82,
I would suggest to use the Conversation Id property for this. You can store that in a separate column (single line of text) in your SharePoint List.
This way you can check with a Get Items action if you can find any matching items. If it returns none you can create a new item. If returns one, you can update that item.
Below is an example
In this example the additional field in the SharePoint list is created and has the name ConversationID.
1. The Get Items uses a Filter Query to check for matching items
ConversationID eq '@{triggerOutputs()?['body/conversationId']}'
2. The condition checks the length of the results, if it is 0 no matching items are found.
length(outputs('Get_items')?['body/value'])
3. In the If No the field values of the matching item are used by using expressions like:
ID
first(outputs('Get_items')?['body/value'])['ID']
Title
first(outputs('Get_items')?['body/value'])['Title']
ConversationID
first(outputs('Get_items')?['body/value'])['ConversationID']
