Mamta
ServiceNow Employee
ServiceNow Employee

Downloaded the latest Collaboration Calendar HERE.

Latest features on the Collaboration calendar

One-View

  • The one-view is a consolidated one stop shop for all your events and  calendars. Create and Manage events from one-view
  • Designed to bring all your calendars together for better visual and event management
  • Catch conflict resolution, which becomes apparent, with an aerial view of your entire event landscape
  • You can filter the calendars out and in just like you would the events
  • A drop-down with a list of all the calendars that you own and those shared with you
  • All Out of Box features are available on the one-view continuing the experience of a single calendar

find_real_file.png

Create a calendar from a ServiceNow Table

  • Create events from data, on a ServiceNow table
  • Just point the calendar to a table and set the default fields
  • Select a field as the title, start date and end date from the ServiceNow table
  • Automate all events from the data of the chosen ServiceNow table to create a read-only calendar

find_real_file.png

Share a calendar with the entire company

  • Just flip a switch, the public button, and share a calendar with everyone in your company
  • Holiday calendar , Company All hands and so many more!

find_real_file.png

 

INTRODUCTION 

A VISUAL ONLINE COLLABORATION CALENDAR FOR TEAMS TO DRIVE EFFECTIVE COLLABORATION AND PROVIDES A SINGLE VIEW AND CAN BE SHARED WITH EVERYONE.  

 

Calendar App is an enterprise collaboration tool to plan, organize and share events, resources, assets and anything else that has to be organized across a group of people and time. You can share the calendar with your team and group of people so that there is one destination where everyone can come for their collaboration needs.  

 

What is the problem and how does the Calendar app solve these problems? 

Most calendars are designed for individual use and there is a need for groups and teams to be able to visualize work at a team level. Moreover, individual calendars are not visible to team members, and it becomes difficult to plan shared resources/content at a team level. Also, sharing information about events and assets with teams does not scale with existing calendars  

Solution: Collaboration Calendar App by ServiceNow 

Using the collaboration calendar available on ServiceNow platform, teams can now visualize, manage, and share calendars across teams, individuals and groups. The calendar is fully customizable and users can add and configure using custom fields and assign color coded categorize to visuals several different calendars. Easily share a calendar with an individual or a group of users from within the app. Invite them to collaborate on your calendar. There is also an easy link that can be used to share. 

What are some popular applications (use cases) for Calendar 

Here are some of the scenarios where the Calendar app can help  

  • Do you have trouble managing teams and resources on a project? 
  • Holidays are around the corner, and you don’t know who is OOO when? 
  • You work with Content and need to organize and plan across geos, themes, and leaders? 
  • You are in workplace services, and need to deploy resources, or need a tool to book assets? 
  • Best of all, need one source to share and collaborate across all your team members? 
  • Build a Release plan across multiple projects 
  • Plan for reserving Assets (projectors, printers) 
  • Events and Communications planning and organizing content for social media or communication

What value proposition and benefits does it deliver 

  • Employee Productivity and Collaboration
  • Employee experience: Manage admin functionality with ease in a visual tool (coming soon)
  • Ease of use and organization: Centralized portal for all collaboration calendars  

Key Features 

  • A Dashboard view to manage and view all calendars
  • Create events using front end tool for flawless experience 
  • Tag events with categories
  • Color code calendar events for easy visualization 
  • Time-zone option
  • Share Calendars
  • Quick access link to calendars
  • Hide/Unhide calendars (coming soon)
  • Filter, Search and Sort on topics and calendars 
  • Front end GUI interface for admin functionality – Coming soon in next release 
  • Create custom fields to configure calendar
  • Tag your events with user defined categories and custom fields (example, geographic, projects, departments, etc.)
  • Connect to your ServiceNow eco-system to create customized events using other data residing on the platform.

HOW TO USE THE CALENDAR 

Calendar App –building blocks 

Common Terminologies 

Calendar

Categories

Events

Custom Fields 

A calendar will have categories which can be color coded to distinguish between different categories. An event has to be tagged to at least one category.  An event will have default out of the box fields and you can add custom fields on the event. 

Category: A way of organizing calendar, as well as categorizing and color-coding events 

Event Fields: Information you need to create an event 

Out of Box- Default fields 

Custom: User-defined fields 

A calendar must have at least one category

An event has to be assigned to at least one category

You can assign multiple categories to an event

 

Getting Started on HOW TO USE THE CALENDAR

Step 1: Create Calendar using your ServiceNow platform instance

 Login to the Platform and search for ā€œCalendarā€ in Filter Navigator 

 Click on ā€œCreate Newā€. New Calendar record form is displayed 

 

image        image 

 

Name - Calendar Name that will be displayed on the top left of calendar front-end 

Language - Default Language in which the calendar is displayed. Currently, the only supported language is English 

Time Zone - This is the time zone for your calendar and all its events 

Color - Choose a color for your calendar. This Calendar will be displayed on Dashboard with this color code 

Owner - This defaults to the calendar creator. More users can be assigned this role 

Set multiple categories per event - If this feature is enabled, the event modal allows the assignment of multiple categories to one event. 

Use default table - This enables the users to save all calendar information in the set of default tables.  

 

Step 2: Create Categories 

Open your calendar and click on ā€˜Load Related List’. Now you will see all the other tabs you can use to complete your calendar set-up. 

Click on Calendar Categories tab, and then ā€˜New’ to create a new category 

image 

Name – Enter the name of the category, ex- Project-1, EMEA Comms, Sales Team 

Color - Choose a color for this category. All events associated with this Category will be displayed in this color on the Calendar 

Order- This allows you to control the order in which the categories will be displayed in the left pane of the calendar. Display is in ascending order. 

 

Step 3: Manage Out of the Box Event Fields settings (if needed) 

 

You can rename, disable, mark as mandatory and reorder the Out of Box Event fields 

image 

Mandatory - If true, an event cannot be created or edited without this field being populated. 

Active -If true, the field shows on the events modal page     

Show on Event Title - If true, the contents of the field will be shown in event pop-up 

Order- Can be used to determine the display position on Event Modal 

 

Step 4: Create Custom Events (if needed) 

You can create your own custom fields for any specific needs by clicking on ā€˜NEW’ 

image 

image 

Name – Event field Name 

Label- Event field Name that will be displayed on the Event Modal 

Internal Name - can be same as ā€˜Name’ but with no spaces 

Type- Event Field type. For this Pilot it can be text, choice (dropdown) or True/False 

Order- can be used to determine the display position on Event Modal 

 

Customer Field Choices: 

If you have created a choice type custom field, you can define the values (dropdown values) by clicking on ā€˜New’ Event Field Choices related lists 

imageimage 

Enter all the information and click on Submit. Create as many options as needed. Order will determine the order in which these are listed in the dropdown 

 

Step 5: Create/Edit events 

Access the Calendar through the URL or Dashboard 

image 

Calendar Front-End 

image 

            Create an Event 

You can create an event by clicking on the date or clicking on ā€˜New Event’ button 

image 

Enter all the applicable values in Out of Box fields 

If you had created any custom field as active, it will be displayed on this modal 

It is mandatory to assign a category to an event. 

You can assign multiple categories to an event 

You can create an All day, recurring or a single timed event 

Click on Save to create your event 

Edit an Event 

image 

Search for an Event 

You can search the calendar with a keyword within a given duration 

By default, the start date is six months in the past and the end date is six months in the future 

 

image 

Select/Deselect Categories and Filter Events 

You can deselect the categories you don’t want to see on your calendar. Events associated with that category will not be displayed. 

You can filter the events. Filtering applies only to the events currently on your screen. 

All Out of Box and Custom fields can be filtered on. Only the events that match the keyword(s) entered in the field will be displayed 

You can also use a combination of filters (AND condition) 

image 

 

Step 6: Share  

 To share your calendar, click on ā€œCalendar Available Forā€ tab, then click on ā€œNewā€ 

image 

You can assign 3 types of permissions here: 

Can read: Provide Read-only access to all events 

Can contribute: Allow others to create/edit/delete all events  

Can manage: Allow others to manage categories, event fields and all other attributes of the calendar 

This can be done by selecting a user criteria or creating a new criteria for specific users or groups 

If you don’t create a record here to provide explicit permission, others cannot view your calendar. 

 

Step 7: Access Calendar Dashboard 

You can navigate to Dashboard from Platform view to access all Calendars created and shared with you. 

image 

 

What else do I need to know? 

You need to have calendar admin role to be able to create a calendar 

It is recommended to create a new user criterion to assign viewing or editing permissions 

 

Examples of how to use calendar app for popular use cases

Team Members vacation planner

Add each team member as a category. All events for vacation or out of office will be displayed in a unique color for each team member

Schedule Resources 

To schedule resources across projects, add one category for each worker, and share the calendar with the team so that they know their assignments 

Book engineering resources across projects and catch any possible overlapping and conflicting priorities (Future Release) 

Building a Release plan across multiple projects 

To manage multiple projects with the detailed plans of each project while keeping an overview of all projects, create a category for each project. You can also use custom fields to visualize the various attributes within each project. 

Availability of Assets – Book projectors, equipment, and any bookable resources 

add a category for each resource so to easily identify when it is available, and members can book the available slots  

Events planning (similar to employee comp) 

If you want to organize events and need to present the program in topics to your audience, add a category for each topic so that people can filter to see only the topics of interest. 

 

 

Comments
SwathiK00428927
Tera Explorer

Hello  Krishna Nagara1,

Is it possible to map recurring events from a non-default table? We are able to create calendar events from Schedule table but we don't see events recurring showing up on the calendar. How can we show recurring events from a Schedule Span table as events on the calendar?

Jonah Piascik
Tera Expert

Is anyone else still having issues with the sharing features?  I've read through this entire post and tried everything mentioned.  I can manage to get the 'add users' and 'add groups' to function if I use the share option while viewing the calendar, but the users/groups I add are not visible when I return.  I also do not see them on the portal form view in the sn_collab_calendar_calendar tables related lists.  The instructions indicate needing to setup ACLs and list control for user_criteria, but the 'Calendar Available For' does not update when updating the sharing for users/groups.  The modal also still does not work when clicking the sharing link on the Calendar Dashboard.  The links are there, but they do not function. 

Kamil22
Tera Contributor

Hi Jonah Piascik
Share option while viewing calendar and from dashboard does not work for me too.
But if I create 'Calendar Available For' and relate it to correct "User Criteria" record,  It seem to work.
I noticed that users (who need to have or not to have defined read / write / admin access) must have role:
sn_collab_calendar.calendar_user
but bust not have role:
sn_collab_calendar.calendar_admin

What is the instruction you are referring to (about ACL setup)? Can you please share link?

Jonah Piascik
Tera Expert

@Kamil22 - thanks - I'll try that...the instructions about the ACLs are in the installation instructions located on the store app page:  ServiceNow Store - Collaboration Calendar

Kamil22
Tera Contributor

I have one another issue stopping me from moving forward. I created reference field to Incident table. I selected number as Display Field. 
When I create new event I can type in this field but it does not filter from the list of incidents. And it does not accept value even when I type full incident number. The only way I see to enter the value is to select it from drop down list. But without filtering it is not doable. We have millions of incident so scrolling through all is not an option. 
Strange think is that I have another field as reference to core_company. And this one is working fine. I see core_company has no Display Field in dictionary. Could this be a reason? Anyway I can not remove display fields from Incident table. 
Anybody know how to fix this?

Jonathan Gordon
Tera Contributor

We started having this issue for non admin users. We are unsure what changed or when it started because it has been working for us admins.

 

JonathanGordon_0-1737570870310.png

 

Kamil22
Tera Contributor

Hi @Jonathan Gordon 
I have had the same issue. I fixed it replacing addOrCondition with addEncodedQuery in script  include: CalendarUtils

See lines commented out and new line:
        var calAvailGR = new GlideRecord('sn_collab_calendar_calendar_available_for');
        calAvailGR.addQuery('calendar', calendar);
//        var orCon = calAvailGR.addQuery('can_read', 'true');  KS  this is not working in scoped application
//        orCon.addOrCondition('can_contribute', 'true');   KS  this is not working in scoped application
//        orCon.addOrCondition('can_manage', 'true');    KS  this is not working in scoped application    calAvailGR.addEncodedQuery("can_read=true^ORcan_contribute=true^ORcan_contribute=true^ORcan_manage=true");  
there are few places in this script
vtdragani
Tera Contributor

We cannot get the permissions to work either. 
Add new user or Add new group does not work in Share Calendar menu, nor can we add/modify Calendar Available for even with Admin role.

 

vtdragani_0-1737574513066.png

 

vtdragani_1-1737574634821.png

 

Jonathan Gordon
Tera Contributor

@Kamil22 you are a live saver. That worked.... Thank you so much. Any idea what caused that?

Marek Byma
Tera Contributor

Hello Everyone,

Did you please encounter this issue?

"One View" doesnt show any events. When User chooses one of the Calendar then events appears.

This (One View) is working fine in subproduction instances (same Servicenow Version - Xanadu patch8, same plugin version - 1.6.5).

There are no errors in logs or console. Instances were cloned 2 months ago and all the configurations are same.

Thank you very much for any insight!

Marekimage.png

ITILKnight
Tera Explorer

I really like the idea of the collaboration calendar—we’ve started experimenting with it, especially to improve visibility of CHGs on our calendars. Is there anyway to show the CHG number, related to the event pulled from Change Request table? That would be incredibly helpful for quick reference and tracking. I noticed someone else had asked about this functionality earlier, but there wasn’t a response. Has anyone found a way to make this work?

ITILKnight
Tera Explorer

I really like the idea of the collaboration calendar—we’ve started experimenting with it, especially to improve visibility of CHGs on our calendars. Is there anyway to show the CHG number related to the event pulled from Change Request table?

That would be incredibly helpful for quick reference and tracking. I noticed someone else had asked about this functionality earlier, but there wasn’t a response. Has anyone found a way to make this work?

MT247
Tera Expert

Hi,

i really like the calendar.

Is it possible to change the start of the week from Sunday to Monday?

Here in Germany we are used to have calendars, which start with Mondays....


Cheers

Michael

MarryM
Giga Explorer

Has anyone encountered and resolved this problem? I’d be very grateful for your help.
"One View" doesnt show any events. When User chooses one of the Calendar then events appears.

MT247
Tera Expert

Hi MarryM,

 

nope, working fine here:

MT247_0-1753710757602.png

 

jnt-cnt
Mega Sage

Hi @MT247 

Does it also work when you have multiple calendars? Also, is it working for week and day? If possible, could you please share what the screen looks like? I am also having the same issue as MarryM.

Thank you

MT247
Tera Expert

Hi,

i have created a second calendar and an event in it.

One View (weekly/daily/monthly) is working as expected.

MT247_1-1753766390070.png

 

Marek Byma
Tera Contributor

Hello MarryM, jnt-cnt,

We had the same issue and resolve it by adjusting the query in "Calendar Dashboard" widget Server script.

Please see below (current version)

You can also check if changing your timezone to GMT resolves the issues (then the below solution should work for you)

 

MarekByma_0-1753771368260.png

MarekByma_1-1753771408382.png

 

BR

Marek

sidima
Tera Explorer

hi @Marek Byma ,
Sorry, I couldn’t see your picture. Could you show it to me again? I would appreciate it. Thank you.ā€

Marek Byma
Tera Contributor

Hello,

I hope this is now set as public.

collaboration calendar 2.jpgcollaboration calendar 1.jpg

 

BR

Marek

 

Mira1992
Kilo Sage

We had the same issue and resolve it by adjusting the query in "Calendar Dashboard" widget Server script.

Please see below (current version)

You can also check if changing your timezone to GMT resolves the issues (then the below solution should work for you)

Mira1992_0-1753780698749.png

 

Mira1992_1-1753780731754.png

 

Marek Byma
Tera Contributor

image.pngimage.png

Marek Byma
Tera Contributor

Hello,

I checked it with my colleague and eventhough we put the screenshot as public they are still not visible.

 

Anyway on the Server script for "Calendar Dashboard" widget.

 

Function on line 61 was changed to:

 

function getSharedCalendars() {
    var sharedCalendars = [];
    var calendarObj = {};
    var calendarGR = new GlideRecord(calendarService.tables.CALENDAR);
    calendarGR.addEncodedQuery('active=true^ownerNOT LIKE' + gs.getUserID());
    calendarGR.orderByDesc('sys_updated_on');
    calendarGR.query();
    while (calendarGR.next()) {
        if (!calendarGR.canRead()) {
            continue; // skip the current iteration and move to the next record
        }
        calendarObj = {
            uniqueNumber: calendarGR.getDisplayValue('number'),
            sys_id: calendarGR.sys_id.toString(),
            title: calendarGR.getDisplayValue('name'),
            number: calendarService.getEventsCountByCalendar({
                calendarId: calendarGR.sys_id.toString(),
                useDefault: calendarGR.use_default_table.toString(),
                source_table_name: calendarGR.source_table_for_events.toString(),
                query: calendarGR.condition_builder.toString()
            }),
            footer: getName(calendarGR.getDisplayValue('sys_created_by')),
            color: calendarGR.color.toString(),
            updated_on: calendarGR.sys_updated_on.toString(),
            can_edit: calendarGR.canWrite()
        };
        sharedCalendars.push(calendarObj);
    }
    return sharedCalendars;
}
 
 
Function on line 140 changed to:
 
function availableForFunction(calendarId, calendarOwners) {
    var isTrue = false;
    if (calendarOwners.contains(gs.getUserID())) {
        var availForGR = new GlideRecord(calendarService.tables.CALENDAR_AVAILABLE_FOR);
        availForGR.addQuery('calendar', calendarId);
        availForGR.query();
        while (availForGR.next()) {
            if (availForGR.user_criteria.user.toString() != "" || availForGR.user_criteria.group.toString() != "") {
                isTrue = true;
                break;
            }
        }
        if (isTrue)
            return 'Shared';
        else
            return 'Not Shared';
    }
    return 'Shared with you';
}
 
 
Hope this helps.
BR
Marek
Version history
Last update:
ā€Ž11-11-2021 11:33 AM
Updated by: