Search code examples
icalendaroutlook-2013nintex-workflow

Add & Delete an appointment / calendar entry via .ics in Outlook Calendar


PART 1

I am working on an .ics file which generates an event/appointment in Outlook:

BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
STATUS:TENTATIVE
.....
..........
DESCRIPTION:Absence Request
SEQUENCE:0
END:VEVENT
END:VCALENDAR

The user gets the email with the .ics file attached.
When opened, the user gets the following details:

Screenshot of the ics file Question:

How to disable the .ics so it does not allow to make multiple entries when the exact appointment (date) does exist?

PART 2

Is it also possible to delete an entry from the Outlook Calendar via the .ics file? I have tried with the following code but it does not work:

BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
METHOD:CANCEL
STATUS:CANCELLED
.....
..........
DESCRIPTION:Absence Request
SEQUENCE:1
END:VEVENT
END:VCALENDAR

The cancel meeting button responds but does not actually remove the entry from the Calendar. Yes, the user can go manually and delete it from the calendar - which works fine but thought there may be an option to do via the .ics file.

I also read about the UID having to match the event but this is where I am also lacking of expertise of how to pull it from there.

Any ideas or suggestions ?


Solution

  • Bucki, This is the difference between importing events and subscribing to a calendar (even one with one event only).

    When people click on an actual ics file, calendar apps will 'import' the event/s. I think these days some have the smarts to check the UID and not duplicate but many do not. It depends on the app how well they attempt to detect a duplicate. Strictly speaking one is just importing the data into one's own event in a calendar which one can then edit as one pleases.

    If an ics URL is sent (not the actual file) most apps will 'subscribe' to the URL. IE: they will create a separate calendar in the individuals calendar app. The app will check for updates on that ics url regularly. In that case the UID and SEQUENCE can be used to indicate a later update. These are not editable by the user.