Skip to main content

Command Palette

Search for a command to run...

Calendar In Service Portal

ServiceNow Series

Updated
3 min read
Calendar In Service Portal

Introduction

Ever wished your ServiceNow Service Portal had a sleek, interactive calendar to manage events, shifts, or bookings? Well, wish no more! FullCalendar is here to save the day. 🎉

In this blog, we’ll dive into integrating FullCalendar with ServiceNow, making your portal more dynamic and visually appealing. No more struggling with clunky lists or endless tables—let’s put everything on a calendar like civilized people! 📅

By the end of this guide, you’ll know how to:
✅ Integrate FullCalendar into ServiceNow
✅ Fetch and display records dynamically
✅ Customize it to match your portal’s needs

So grab a coffee ☕ (or a debugging tool 🛠️), and let’s get started! 🚀

Full Calendar

What is FullCalendar?

FullCalendar is a powerful and flexible JavaScript library that lets you create interactive and feature-rich calendars for web applications. It’s widely used for scheduling events, bookings, task management, and more. Whether you need a simple calendar or a complex scheduling system, FullCalendar has got you covered.

Why Use FullCalendar?

Highly Customizable – Supports different views (month, week, day, list) and can be styled to match your design.
Event Management – Allows dynamic event creation, drag-and-drop, and real-time updates.
API & Integration – Easily integrates with backend services like ServiceNow, fetching and updating data seamlessly.
Resource Management – Ideal for scheduling meetings, managing employee shifts, or tracking reservations.

In short, FullCalendar is the Swiss Army knife 🛠️ of web-based calendars. Now, let’s see how to get it working with ServiceNow! 🚀

Integrate FullCalendar Widget in ServiceNow

  1. All right, fire up your PDI or Instance.

  2. Navigate to Service Portal → Widgets

  1. Click on New to Create a New Widget.

  1. Name your Widget as your choice [Ex: ServiceNow Calendar] and save it.

  2. Scroll Down to Dependencies and Click on New

  1. Name the dependency as per your choice [Ex: Calendar] and save it.

  1. Now, navigate to Google and search for the Full Calendar Library

  2. Click Docs

  3. Click on Introduction

  4. Click Getting Started

  5. Click Initializing with script tags

  6. Click jsdelivr

  7. Copy the Link present in the Script Tag

<script src="https://cdn.jsdelivr.net/npm/fullcalendar@6.1.15/index.global.min.js"></script>

  1. Navigate back to the dependency created and create a new JS Include record.

  1. Paste the link copied from the script tag in the JS Include record.

  1. Now, copy and paste the code below.

HTML:

<div>  
  <div id="calendar"></div>
</div>

Client Script:

api.controller = function () {

    var c = this;
    var calendarEl = document.getElementById("calendar");

    var calendar = new FullCalendar.Calendar(calendarEl, {
        initialView: "dayGridMonth",
    });

    calendar.render();
};

Output

Your output should look like this.

T

FullCalendar is such a solid choice for this! Ὄ5 I"ve integrated it in several projects and it"s remarkably flexible.

Service Portal calendar integration is one of those features that seems simple but makes a huge difference in user adoption. People expect their enterprise tools to feel as polished as consumer apps.

A couple of questions from implementation experience:

  1. How did you handle time zones across different user locations?
  2. Any performance considerations when dealing with large datasets of events?

I"m particularly interested in the mobile responsiveness aspect. Have you tested how this performs on tablets during field work scenarios? For remote teams, having calendar access that works smoothly on mobile can be a productivity game-changer.

The drag-and-drop functionality is probably my favorite FullCalendar feature - makes scheduling feel much more intuitive than traditional form-based approaches. Nice integration guide! Ὦ0️