Embedded Calendars via ICS

Embedding your PlusPlus calendar (advanced)

For some time now, we have had a feature that allows users and admins to embed their PlusPlus events as a Google Calendar in other applications.

We have recently improved the feature, by allowing you to add filters to your calendar export. For example, if you had an internal wiki page for your engineering team, you could include an embedded Google Calendar with just engineering-related events.

To accomplish this, you will obtain a calendar subscription URL on a user’s Edit Profile page. Optionally, you can add filters to the URL to pare down what will be viewed, and then use the composite URL to embed the filtered calendar.

This feature is not as intuitive to use as other parts of our platform, so we are providing a step-by-step guide to using it.

Please note: this feature only applies to Events on your calendar, not Coaching/Mentorship sessions (which are always private).


Part 1: Access the ICS URL

The first step is to find the URL: Go to Menu > My Profile, and select the Edit icon (located just to the right of your name), which will take you to the edit page.  

Scroll to the bottom, and you will see the “ICS URL” field. Copy this to your clipboard.

Admin-level users may also access the ICS URLs of their users in the same fashion: go to the user’s profile, select the Edit icon, and retrieve the URL from the edit page.


Part 2: Add Filters (optional)

Now, you may add filters to export a subset of your calendar, instead of the entire set of them. This will be accomplished by adding text to the end of the URL string, with key/value pairs indicating the events to select.

Paste your URL in the address bar of a new browser tab, and start by adding the “?” character to the end of the string. You may add any of the four following key/value pairs in any combination, as long as you separate each search term by the “&” symbol (examples below). If you do not search for a data type, you will receive all examples of that type.

Allowed Search Terms:

“location=online”

Includes any events available online, in addition to those in physical locations.

“locations={location ID#}”  

Only includes the specified location/s. May be entered multiple times with different values.

To find the ID# of a location, navigate to Dashboard > Location, find the location you want, and select the three-dot menu on the right to access its edit page. You will find the ID number in the URL of the page (i.e., “/backoffice/location/97/edit/”)

“event_types={event type ID#}”

Only includes the specified event types. May be entered multiple times with different values.

To find the ID# of an event type, either navigate to Dashboard > Event Types, or the Catalog at “/a/catalog”, find the event type you want, and select it to reach its info page. The ID number will also be in the URL (i.e. “/event-types/141/”)

“topic={slugified topic name}”

Only includes the specified topics. May be entered multiple times with different values.

To slugify a text string (in order to make it compatible with URLs) , you can use this tool, or follow these steps:

  • Convert all letters to lower-case
  • Remove any non-alphanumeric characters
  • Replace all spaces with dashes (“-”)

Example URL filters:

Here are some example composite URL strings, and what they would search for. Only the part after the “?” is relevant, the preceding text is unique to every user:

“?event_types=45&event_types=22&locations=7”

Searches for events of the event types with the ID#’s 45 and 22, at the location with the ID# 7. All topics are included (because no ‘topic’ filter was applied).

“?locations=11&locations=33&location=online&topic=team-onboarding”

Searches for events at the locations with ID#’s 11 and 33, as well as any occurring online, which have the topic “Team Onboarding”. All event types are included.

“?location=online&topic=team-onboarding&topic=security-training”

Searches any events occurring online, which have the topics “Team Onboarding” or “Security Training”. All event types and physical locations are included.


Part 3: Using the URL to share your calendar.

By combining the link from your user profile with the filters you have written, you now have your custom ICS URL. This is a shareable link, which allows any person to embed your filtered calendar listings in other applications. Events that are added to the original calendar in the future will propagate to the embedded listings.

Please note: if you attempt to filter for non-existent keys or values, your composite URL will not work.

There are two ways of making use of this URL:

Import URL to Google Calendar:

If you wish to import a calendar URL to Google Calendar, copy the custom URL to your clipboard, go to calendar.google.com, look to the lower-left side of the page, click on the + sign next to “Other Calendars”.

Choose “From URL”, and paste your ICS URL into the provided field.  The PlusPlus calendar will now appear under your “Other Calendars”:

Alternatively, you can also access the Settings page from the calendar by clicking on the gear icon, then going to the “Add Calendar” section, then click on “From URL”, and paste your URL there.

Export .ICS file ( not recommended)
You may also use the URL to create a new “ICS” file, which may be used to embed the PlusPlus events in other applications, such as Outlook, iCal, and Google Calendar.

Simply enter the URL in a browser window’s address bar, and hit Enter. If you’ve entered a valid URL, you will download a file with the “.ics” extension, which may be used to import your calendar into other apps.

Please Note: Be very careful about using this method to import an .ics file directly into Google Calendar – if you import the file using Other Calendars > Import, you can not remove those events in bulk; you will only be able to remove them individually.

Category: Docs Author: PlusPlusAdmin Date: May 12, 2019 10:25 pm