Skip to main content
All CollectionsActivitiesEmail
Include Microsoft Teams URL in .ics attachment | Classic Calendar
Include Microsoft Teams URL in .ics attachment | Classic Calendar

Microsoft Teams | Meetings | Video | .ICS | email templates

Updated over 9 months ago

This article describes functionality of the classic Calendar.
Please note that Carerix offers a completely new Calendar, with seamless integration of MS Teams (and Google Calendar).

It is possible to include your Microsoft Teams Video URL in the .ics attachment that can be send along from an email template within Carerix.

To have the appropriate .ics-attachment included in your email you have two options:

  1. Use the default template which is available in the library (not recommended if you use a customized template; or

  2. Add a piece of code to your existing email template - this can be done via the template menu which is accessible for the Carerix administrator.

Option 1:

Just open the template library from the template menu (email tab). In the Meetings section select the 'APPOINTMENT: invitation (iCal/Outlook)' template and click install

Warning: If in the past you customized this template in your system, those customizations will be overwritten by installing the template from the library. To avoid this, please use option 2 which is described below.

Option 2:

The following piece of code should be included in your email template.

  1. Copy/paste the code as displayed below. Make sure you do not make any unintended changes.

  2. Open the appropriate template in your Carerix system

  3. Add the code just before the </cx:let> part near the end of the template code.

<cx:attachment name="meeting.ics"><cx:header name="Content-Type" value="text/calendar"/>BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
<cx:foreach list="$m.toDoUsers.toUser" item="user">ATTENDEE;CN=<cx:write value="$user.informalName.asciiString"/>;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:<cx:write value="$user.emailAddress"/>
</cx:foreach><cx:let name="attendees" value="$m.attendees" invoke="componentsSeparatedByString:" arg0=","><cx:foreach list="$attendees" item="naam">ATTENDEE;CN=<cx:write value="$naam.stringByTrimmingWhitespace.asciiString"/>;ROLE=REQ-PARTICIPANT;RSVP=TRUE:</cx:foreach></cx:let><cx:if condition="activity.toToDo.toContact!=nil">ATTENDEE;CN=<cx:write value="$m.toContact.informalName.asciiString"/>;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:<cx:write value="$m.toContact.emailAddress"/>
</cx:if>ORGANIZER;CN=<cx:write value="$m.owner.informalName.asciiString"/>:<cx:write value="$m.owner.emailAddress"/>
<cx:let name="tzc" value="NSTimeZone" invoke="namedClass.self"><cx:let name="timeZone" value="$tzc" invoke="timeZoneWithName:" arg0="GMT+0">DTSTART:<cx:write value="$m.startDate" dateFormat="%Y%m%dT%H%M%SZ"/>
DTEND:<cx:write value="$m.endDate" dateFormat="%Y%m%dT%H%M%SZ"/>
LOCATION:<cx:write value="$m.location"/>
TRANSP:OPAQUE
SEQUENCE:0
UID:<cx:write value="$m.creationDate" dateFormat="%Y%m%dT%H%M%S"/>-<cx:write value="$m.subject"/>
DTSTAMP:<cx:write value="$m.creationDate" dateFormat="%Y%m%dT%H%M%S"/></cx:let></cx:let>
DESCRIPTION:<cx:if condition="activity.toToDo.toMatch=nil"><cx:write value="Afspraak" invoke="localizedString"/> <cx:write value="met" invoke="localizedString"/>: <cx:if condition="activity.toToDo.toEmployee!=nil"><cx:write value="$m.toEmployee.informalName"/>, <cx:write value="kandidaat" invoke="localizedString"/> </cx:if><cx:if condition="activity.toToDo.toContact!=nil"><cx:write value="$m.toContact.informalName"/>, <cx:write value="contactpersoon" invoke="localizedString"/> </cx:if><cx:if condition="activity.toToDo.toVacancy!=nil"><cx:write value="voor" invoke="localizedString"/> <cx:write value="vacature" invoke="localizedString"/> <cx:write value="$m.toVacancy.jobTitle"/>,<cx:write value="$m.toVacancy.toCompany.name"/>.</cx:if><cx:if condition="($activity.toToDo.toCompany!=nil) AND ($activity.toToDo.toVacancy=nil)"> <cx:write value="voor" invoke="localizedString"/> <cx:write value="$m.toCompany.name"/>.</cx:if></cx:if><cx:if condition="$m.toMatch!=nil"><cx:write value="Afspraak met" invoke="localizedString"/> <cx:write value="$m.toMatch.toEmployee.informalName"/> voor vacature <cx:write value="$m.toMatch.toVacancy.jobTitle"/>, <cx:write value="$m.toMatch.toCompany.name"/>.</cx:if>\n<cx:write value="Aanwezigen" invoke="localizedString"/>: <cx:foreach list="$m.toDoUsers.toUser"><cx:write value="$item.informalName"/>, </cx:foreach><cx:write value="$m.attendees"/>\n\n<cx:foreach list="$m.notes.lines"><cx:write value="$item"/> \n</cx:foreach><cx:if condition="m.meetingCallLink!=nil">\n\n________________________________________________________________________________\n<cx:write value="ClickToJoinMeetingMessage" invoke="localizedString" />: <cx:write value="$m.meetingCallLink" />\n ________________________________________________________________________________</cx:if>
SUMMARY:<cx:write value="$m.subject"/>
X-MICROSOFT-SKYPETEAMSMEETINGURL:<cx:if condition="m.meetingCallLink!=nil"><cx:write value="$m.meetingCallLink" /></cx:if>
STATUS:CONFIRMED
PRIORITY:5
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR
</cx:attachment>
Did this answer your question?