4

I’m working on an OSX app where I want to create calendar events, add some attendees, add the event to the user Calendar, and send an invitation to the attendees. First I thought I could use the Eventkit framework, but for some reason you can’t add attendees to an event created by Eventkit. Instead I create an .ics file (see example below). I can add the .ics file to the Calendar and send it as an attachment in a mail as an invitation. The attendee can add it to his own Calendar and select accept in the rsvp section. However, the organizer never receives his acceptance. I have no idea how to get this to work and haven’t been able to locate any examples. Is this simply not possible or what am I doing wrong.

Any help is appreciated

BEGIN:VCALENDAR
PRODID:-//Org//App//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
UID:20120920T150350Z-70@http://localhost/www/
CREATED:20140920T150350Z
DTSTAMP:20140921T080800Z
DTSTART:20140921T080800Z
DTEND:20140922T060800Z
DESCRIPTION:Attend this meeting
SUMMARY:Meeting invitation
LOCATION:The office
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEED-ACTION;RSVP=TRUE:mailto:attendee@mail.com
ORGANIZER;CN=organizerName:mailto:organizer@mail.com
LAST-MODIFIED:20140921T080800Z
PRIORITY:1
SEQUENCE:0
STATUS:CONFIRMED
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR
Steffen Andersen
  • 203
  • 4
  • 10
  • Is the calendar of the organizer/attendee stored in a CalDAV account? Like iCloud or OSX server? In this case the server is considered responsible for the scheduling. In any case you need to make sure that the ATTENDEE and ORGANIZER emails match the accounts on the respective CalDAV account. – hnh Oct 06 '14 at 13:06
  • @hnh The attendee mail was an exchange mail, when I changed it to an iCloud mail it sends an email reply to the organizer, with a new .ics file. However, the Calendar app does nothing when adding the new .ics file. – Steffen Andersen Oct 07 '14 at 19:48
  • It's a bit hard to debug via SO. But again, the important thing to get right are the scheduling addresses. They need to match up properly. If you are connected to a CalDAV server, it's probably better to just PUT the meeting invite to the server and let it do the scheduling. – hnh Oct 08 '14 at 12:25

2 Answers2

6

I too had the same issue. And now i found the solution. This can be fixed by the line RSVP=TRUE,it seems you already added that. So remove that ROLE and PARTSTAT in ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEED-ACTION;RSVP=TRUE:mailto:attendee@mail.com and make it as below.

ATTENDEE;RSVP=TRUE:mailto:attendee@mail.com

The above line is enough.

Balaji
  • 1,375
  • 1
  • 16
  • 30
  • Shouldn't make any difference though... the values of `PARTSTAT` and `ROLE` are the default values. – DdW Jul 28 '16 at 14:08
  • @DdW there is not a big difference, but this `ROLE=REQ-PARTICIPANT;PARTSTAT=NEED-ACTION` making a mess around the rsvp response. Also this fix worked for me, when i faced this issue. – Balaji Aug 01 '16 at 04:52
  • 1
    I have a reversed request: Do Not send response to the organizer. And simply change RSVP=FLASE fixed it. – Jony Dec 13 '18 at 02:45
  • Is it possible to send rsvp copy to another email than sender? – NotABot Jul 15 '21 at 13:53
2

Your problem is due to a simple typo. You need ; instead of : between the parts.

Change:

RSVP=TRUE:mailto:attendee@mail.com

to

RSVP=TRUE;mailto:attendee@mail.com
Henrik Høyer
  • 1,225
  • 1
  • 19
  • 27