cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Stonehage
Nintex Newbie

Create Appointment Action - What About Update \ Remove

Jump to solution

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.

Labels: (1)
0 Kudos
Reply
12 Replies
patrick_hosch
Nintex Newbie

Re: Create Appointment Action - What About Update \ Remove

Jump 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

0 Kudos
Reply
bhutim
Nintex Newbie

Re: Create Appointment Action - What About Update \ Remove

Jump to solution

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

0 Kudos
Reply
patrick_hosch
Nintex Newbie

Re: Create Appointment Action - What About Update \ Remove

Jump to solution

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

0 Kudos
Reply
Community Manager Community Manager
Community Manager

Re: Create Appointment Action - What About Update \ Remove

Jump to solution
Bhuti, 
You can do just that with Nintex. 

The action to use is called Web Service. From there you would work to delete the appointment you created, pending you have all necessary information. 

This action hasn't been wrapped up into a pretty work flow action that you can click on but it is there.
0 Kudos
Reply
cju
Nintex Newbie

Re: Create Appointment Action - What About Update \ Remove

Jump to solution

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 :

  • XML Source : XML
  • XML : add the reference to the variable where you stored the result of the previous web request (for example txtWebServiceResult)
  • Output 1 :
    • Process using : XPath
    • //*[local-name()='ItemId']/@Id
    • Return results as : Text
    • Store result in : specify a single line of text workflow variable (for example txtEventId)
  • Output 2 :
    • Process using XPath
    • //*[local-name()='ItemId']/@ChangeKey
    • Return results as : Text
    • Store result in : specify a single line of text workflow variable (for example txtEventChangeKey)

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

Reply
sshenker
Nintex Newbie

Re: Create Appointment Action - What About Update \ Remove

Jump to solution

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

0 Kudos
Reply
cju
Nintex Newbie

Re: Create Appointment Action - What About Update \ Remove

Jump to solution

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

Reply
brightlight
Nintex Newbie

Re: Create Appointment Action - What About Update \ Remove

Jump to solution

Caroline Jung,

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.

0 Kudos
Reply
brightlight
Nintex Newbie

Re: Create Appointment Action - What About Update \ Remove

Jump to solution

Ahh, got it : Had to seperately include time zone updates apart from other date updates

<tSmiley FrustratedetItemField>
<t:FieldURI FieldURI="calendarSmiley FrustratedtartTimeZone" />
<t:CalendarItem>
<tSmiley FrustratedtartTimeZone Id="Central Standard Time" />
</t:CalendarItem>
</tSmiley FrustratedetItemField>
<tSmiley FrustratedetItemField>
<t:FieldURI FieldURI="calendar:EndTimeZone" />
<t:CalendarItem>
<t:EndTimeZone Id="Central Standard Time" />
</t:CalendarItem>
</tSmiley FrustratedetItemField>

Reply