1. When a NEW item is added to the Dataverse table, create a new item into the Sharepoint list
2. When an item is updated in the Dataverse table, update the same item in the Sharepoint list
3. When an item is deleted in the Dataverse table, delete the same item in the Sharepoint list
Here is a screenshot of my current flow:
The Unique identifier for entity instances in the Dataverse table is EmployeeWithFullNamesid
Here is a screenshot of my data from my Dataverse Table:
Works!
Note: I did have to change the name back to RecordID in the filter and added the single quotes.
Thank you!!!
Not a problem - here is how I have it setup now:
i originally had this field named "Record ID" but changed it to "ID0" thinking perhaps there was an issue with the naming. neither fixed the error however.
This seems to be strange, yesterday the dynamic content which i add in switch was showing like triggerBody()?['body']?['SdkMessage']
But now it is showing as triggerOutputs()?['body']?['SdkMessage'] i should have notice it earlier,
So you are correct with respect to your expression in switch action.
Now coming to the error, could you show how you have written the filter query in get items under Update, this would help to understand what has gone wrong in flow ?
The filter query should be like this :
The new table dynamic content should be enclosed within single quotes. I think you have enclosed in double quotes.
Nived N 🚀
LinkedIn: Nived N's LinkedIn
YouTube: Nived N's YouTube Channel
🔍 Found my answer helpful? Please consider marking it as the solution!
Your appreciation keeps me motivated. Thank you! 🙌
I get a litle closer if i use the following in Switch:
Result:
is there any body dynamic content in the output of trigger, could you place there instead ?
Also are you doing any update to dataverse table , like update, create or delete ?
Nived N 🚀
LinkedIn: Nived N's LinkedIn
YouTube: Nived N's YouTube Channel
🔍 Found my answer helpful? Please consider marking it as the solution!
Your appreciation keeps me motivated. Thank you! 🙌
run test:
i just get a download link that leads to a blank page (no data downloaded):
now, if i run the compose on just 'body', I get the following:
to investigate the issue, we need to figure out what is the expression output of triggerBody()?['body'] , could you check that using compose action ?
Nived N 🚀
LinkedIn: Nived N's LinkedIn
YouTube: Nived N's YouTube Channel
🔍 Found my answer helpful? Please consider marking it as the solution!
Your appreciation keeps me motivated. Thank you! 🙌
After several attempts at rewriting the expression, it finally displayed like yours:
However i still receive the error on update and create so far.
first off, thank you for posting such a thorough response!!!
So I was able to replicate your setup except for the Switch expression. It is not working as a dataverse expression and as a result i get the following error at testing:
The execution of template action 'Switch' failed: The result of the evaluation of 'scope' action expression '@triggerBody()?['body']?['SdkMessage']' is not valid. It is of type 'Null' but is expected to be a value of type 'String, Integer'.
I have designed the sample flow which does the record creation, updation and deletion in sharepoint list when row in dataverse is deleted,updated or created.
I have dataverse table like below which have three main column : A, B and Sum, The record id is NewTable
I have designed sharepoint list which has columns: NewTableID : Which represents new table id (record id in dataverse table), A,B,Sum.
Flow is designed like below:
Step1:
Flow is triggered with below trigger
Step 2: using the SdkMessage property which is present in body dynamic content of the trigger output which denotes the action done on record whether it is create, delete, update. Based on above property a switch is created like below
write that expression in switch so to get the SDKMessage value (since i could not see that property in dynamic content)
Now based on values of SdkMessage property, create three switch statements like below
1. Create:
This switch statement run when the record is created in dataverse table, so a item should be created in sharepoint list
Here for title , i just placed expression guid() for demo purposes, you can change it accordingly as per your requirement.
Delete: when record in dataverse table is deleted, item corresponding to that record is deleted in sharepoint list. we can fetch the record in sharepoint list by using filter query with NewTableID column since it has record id of dataverse table
Update: when record in dataverse table is updated, corresponding item in sharepoint list is also updated , the method of finding item in sharepoint corresponding to updated record is simmilar to what you have done in delete action.
Hope this helps !
Nived N 🚀
LinkedIn: Nived N's LinkedIn
YouTube: Nived N's YouTube Channel
🔍 Found my answer helpful? Please consider marking it as the solution!
Your appreciation keeps me motivated. Thank you! 🙌
stampcoin
45
Michael E. Gernaey
25
Super User 2025 Season 1
Chriddle
21
Super User 2025 Season 1