Hi, I have a Sharepoint list that captures absence requests. Items are being synced from our absence request system using DataSync Studio.
I'm using the Create Appointment Action to insert them into peoples calendars. However when there is a change to an event, IE it is cancelled or amended, I'd like the ability to amend or delete the item I created in Exchange. At the moment my work around is to simply remind the user to update the calendar item in outlook.
Any suggestions? I do see I can connect to exchange services and there is an option to delete an item, but I have no idea how to configure the SOAP code.
Regards
Tony.
Solved! Go to Solution.
Anthony Parker, here is the link to the web service description. Important to note, that you have to use the Web Request action and not the Call Web Service action as the Exchange web service doesn't seem to return proper WSDL.
For the format of the SOAP message have a look at the XML described here. In case you want to delete an item please refer to this article. That should give you pointers in the right direction I hope
Hi Guys,
I have the same issue in SharePoint 2013 and Nintex workflow. Patrick Hosch your links above does that mean we need develop pages that we will call via web request?
Why has Nintex not done anything with this functionality?
I put an appointment in someone's calendar I would like to be able to remove or update it using Nintex just like I used Nintex to create it.
Any ideas that maybe Nintex are working on this? Feature request perhaps?
Regards
Bhuti
Hi Bhuti,
no, the link provided shows you how to work and use Exchange web services. YOu can use the Call Web Service action to interact with those web services.
If you'd like to see a dedicated action for it, please log a feature request on Nintex' UserVoice
Hi,
To update or delete an appointment in Exchange, you first need to find the appointment.
To do that, you can perform a web request using "Web request" action in Nintex Workflow configured like the following (the following example look for an appointment in test@mail.com's calendar which subject contains "Subject to find", for more information : https://msdn.microsoft.com/en-us/library/office/dn495614(v=exchg.150).aspx):
This request will get a response where there will be an item id and a change key that will be necessary to perform to request to update or delete the appointment. To extract the item id and the change key, you need to add a "Query XML" action configured like the following :
The next step is to perform the web request to update or delete the appointment.
Here's the web request to update the appointment previously found (The following example will update the start and end date and time) :
Here's the web request to delete the appointment previously found :
Hope this helps
This is great but my issue is there is a duplicate calendar entry I am trying to delete. How can I find it by subject with a specific date. I have tried multiple entries from the above notes and keep getting internal server error. It works great if I just use the subject
According to this article, you need to add a calendar view right after the "ItemShape" tag (<CalendarView MaxEntriesReturned="5" StartDate="2013-08-21T17:30:24.127Z" EndDate="2013-09-20T17:30:24.127Z" />) :
https://msdn.microsoft.com/en-us/library/office/dn495614(v=exchg.150).aspx
I haven't tried that, tell me if it works.
Hope this helps
How would you add time zone to this? In previous create appointment i did: <MeetingTimeZone TimeZoneName="Central Standard Time"/>
but cannot seem to figure out for the web request.
Ahh, got it : Had to seperately include time zone updates apart from other date updates
<tetItemField>
<t:FieldURI FieldURI="calendartartTimeZone" />
<t:CalendarItem>
<ttartTimeZone Id="Central Standard Time" />
</t:CalendarItem>
</tetItemField>
<tetItemField>
<t:FieldURI FieldURI="calendar:EndTimeZone" />
<t:CalendarItem>
<t:EndTimeZone Id="Central Standard Time" />
</t:CalendarItem>
</tetItemField>