"Meeting Invitation" in email notification

rajeev_kumar
Mega Contributor

We have a custom table which is extended on task table. We want to send meeting invitation when someone approves a task in this table.

We followed the below link but not able to send the calender invite to outlook. We are able to send the attachment but it is not a valid calendar file.

Email Templates - ServiceNow Wiki

By default service now provide this functionality On change_request table which is working ok.

Has anyone faced the same issue ?


Thanks,

Rajeev

7 REPLIES 7

Bradford Shelle
Kilo Guru

I've been able to get it working correctly on several modified/custom tables. There are a lot of steps involved to make it work right, so let's see if we can narrow down the problem area.



Let's start with the part where you can send an attachment, but it isn't a valid calendar file.


What are you actually getting when you talk about this attachment?


Thank you Shelley for taking interest in this problem as no one replied on this post since Apr 1. 🙂



We are able to send Calendar File but it is not a valid calender file means calendar invite is received in the mail box but when we try to open this invite.ics file, below message pops up.


Calendar.png


Then I tried to open this file in a notepad and found only one line "Ref:MSGXXXXXX". In a valid .ics file there should be lot more info.



Before this we have followed the steps given in the link


Email Templates - ServiceNow Wiki



Our template looks like below


----------------------------------------------------------------------------------------------------------


BEGIN:VCALENDAR


PRODID:-//Service-now.com//Outlook 11.0 MIMEDIR//EN


VERSION:2.0


METHOD:REQUEST


BEGIN:VEVENT


ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:${to}


ORGANIZER:MAILTO:${from}


DTSTART:${dtstart}


DTEND:${dtend}


LOCATION:${location}


TRANSP:OPAQUE


SEQUENCE:${sys_mod_count}


UID:${number}


DTSTAMP:${dtstamp}


DESCRIPTION:${description}


SUMMARY:${summary}


PRIORITY:3


X-MICROSOFT-CDO-IMPORTANCE:${priority}


STATUS:CONFIRMED


CLASS:PUBLIC


END:VEVENT


END:VCALENDAR


------------------------------------------------------------------------------------------------------



Then I tried to hard code the DTSTART (20150415T131436Z) and DTEND (20150420T131436Z) values in the template as well. But result is same.



Where should we check the things now ?



Thanks,


Rajeev


Hmmm nothing in your template looks off to me. Here's mine for comparison if you want



BEGIN:VCALENDAR


PRODID:-//Service-now.com//Outlook 11.0 MIMEDIR//EN


VERSION:2.0


METHOD:REQUEST


BEGIN:VEVENT


ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:${to}


ORGANIZER:MAILTO:${from}


LOCATION:${task.company.name}


DTSTART:${dtstart}


DTEND:${dtend}


UID:${sys_id}


DTSTAMP:${dtstamp}


DESCRIPTION:Click here to view the related task: ${task.URI_REF}


X-MICROSOFT-CDO-BUSYSTATUS:BUSY


X-MICROSOFT-DISALLOW-COUNTER:TRUE


X-SNSYSID:{$sys_id}


BEGIN:VALARM


TRIGGER:-PT15M


ACTION:DISPLAY


DESCRIPTION:Reminder


END:VALARM


END:VEVENT


END:VCALENDAR




Just as a sanity check, you have your dtstart and dtend defined in the Import Export Map table, the notification type is Meeting Invitation, and the content type is Plain Text Only correct?



Sending calendar invites from ServiceNow is very fickle. I have some cases where it works like a charm and others where one little thing always seems to be off. I think when I first started trying to make them that I was getting a similar message to yours in Outlook, but I can't remember what I did to remedy it...


I have double checked everything twice but same result.


Primarily I have done below things.


  1. Created the import export map using "sys_impex_map.list"
  2. Created a email notification
  3. Created a template and used this template in the notification.


In the export map do we need to create the mapping only for two fields (dtstart & dtend) ? Or we should create the map for other fields as well. You have used


LOCATION:${task.company.name}

So you did not need to create the map for this field ?



Also even if I have hard coded the values then also same result. It means my template is not applied at all .


DTSTART (20150415T131436Z) and DTEND (20150420T131436Z) 


Any other ideas ? How can I do some   logging to check if the template is taking correct values. ?



Thanks,


Rajeev