I have a calendar of SharePoint list and it creates events through the forms. SharePoint Designer 2013 is the one doing all this process in a workflow. However, when an item is submitted it creates events in the calendar but when somebody goes again and changes the date/ time it doesn't get updated in the calendar. I am trying to figure out how could I do this and also if there is a possibility to store the change date / times or previous ones as well. That will be great then.
Create a another sample workflow to update the calendar item based on changes in the custom list column, before updating check if the current value of your custom list not equal to value in the calendar list column. Something like below :
If column 1 value in calendar list - ne column 1 value in the custom list
Update Item column 1 in the calendar list =Value from a custom list.
Trigger the same workflow with the above logic on the item modification event.
Updated Answer (Details implementation):
Update item in another list using the SharePoint designer workflow.
In the if condition I am checking the value of “Title” column in the calendar list where I have set the hardcoded “Test1” value – this is to match the target item i.e. calendar list before updating from the custom list which item the workflow should update – here I am just checking if the “Title” column has the value of “Test1” – when the workflow runs on the custom list, it will update the calendar list item where Title equals to “Test1”
Ideally, in real-time to make this complete automated, we should have a common column in both the custom list and target list (here, calendar list) so that we can dynamically check the condition before updating the target list, here in the above demo just updating by checking the hardcoded value for the “Title” in the calendar list for the proof of concept.
Now click on the update item configuration.
In the top as mentioned below, select the target list, here it is a calendar list.
Then select each column from the calendar list which you want to update and in the value header set the corresponding column from the source list that is a custom list by clicking on the “Add” button.
And in the “Find the List Item” section “Title” from the calendar list and value as “Test1“. That’s it, done!!!
For more details refer to the below article: