Report
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi Team ,
can anyone please help me on this -
- Create a Calendar View which shows “placeholders” for activities planned
- Activities are like : FirstNet patching is first weekend of every month, Insight patching is 2nd weekend of each month, SBI patching 3rd weekend of the month, ideally, user should be able to see calendar entries on
i. 8th Nov 2025 - Firstnet Patching window,
ii. 15th Nov 2025 - Insight patching window,
iii. 22nd Nov 2025 SBI patching window ,
iv. 6th Dec 2025 - Firstnet Patching window,
v. 13th Dec 2025 - Insight patching wiindow,
vi. 20th De 2025 SBI patching window and so on ... To be done as place holder visible to all but there are no tickets yet until one month before the patching window
- The “The Placeholders” can be like “Schedules” that appear in CAB Workbench “Sample screenshot below”
- Who can create : Any Team who has right access to add/create placeholders (a.k.a Schedules) to the calendar view.
- Who can view: We would like the calendar to have visibility across all users
can any one please help me on this requriment -
how to proceed with this request .
How to configure please help me here with the steps .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
ServiceNow – Create Calendar View for Scheduled Patching Placeholders
=====================================================================
Requirement:
-------------
Create a shared Calendar View in ServiceNow to display placeholder activities such as:
- FirstNet patching (1st weekend of every month)
- Insight patching (2nd weekend of every month)
- SBI patching (3rd weekend of every month)
These placeholders should appear as scheduled “events” on a calendar visible to all users, even before any related change tickets are created.
Example:
- 8 Nov 2025 - FirstNet Patching window
- 15 Nov 2025 - Insight Patching window
- 22 Nov 2025 - SBI Patching window
- 6 Dec 2025 - FirstNet Patching window
- 13 Dec 2025 - Insight Patching window
- 20 Dec 2025 - SBI Patching window
---------------------------------------------------------------------
Solution Steps:
===============
**Step 1: Create a Custom Table for Patching Placeholders**
-----------------------------------------------------------
1. Navigate to: **System Definition → Tables → New**
2. Create a table, for example: `u_patching_schedule`
3. Add the following fields:
- `Name` (String)
- `Start Date` (Date/Time)
- `End Date` (Date/Time)
- `Description` (String / Journal Input)
- `Created by` (Reference → sys_user)
- `Team` (Reference → sys_user_group)
4. Grant **Create / Read access** to the user roles that can create placeholders (e.g. `itil`, `change_manager`, etc.).
---------------------------------------------------------------------
**Step 2: Create a Calendar View for the Table**
-------------------------------------------------
1. Navigate to **System UI → Calendar Views → New**
2. Configure the view:
- **Name:** Patching Schedule Calendar
- **Table:** `u_patching_schedule`
- **Start date field:** Start Date
- **End date field:** End Date
- **Title field:** Name
- **Color field:** (optional) Team or static color
- **View name (URL):** `patching_schedule_calendar`
3. Save the Calendar view.
---------------------------------------------------------------------
**Step 3: Populate Initial Placeholders Automatically (optional)**
------------------------------------------------------------------
You can generate patching placeholders using a background script or Scheduled Job:
Example Script (creates patching events for 6 months ahead):
```javascript
(function() {
var types = [
{name: "FirstNet Patching", weekend: 1},
{name: "Insight Patching", weekend: 2},
{name: "SBI Patching", weekend: 3}
];
var startDate = new GlideDateTime();
for (var m = 0; m < 6; m++) {
var month = gs.monthsAgoUTC(-m);
var gdt = new GlideDateTime();
gdt.addMonthsUTC(m);
for (var i = 0; i < types.length; i++) {
var placeholder = new GlideRecord('u_patching_schedule');
placeholder.initialize();
placeholder.name = types[i].name + " Window";
placeholder.start_date = getNthWeekend(types[i].weekend, gdt.getMonthUTC(), gdt.getYearUTC());
placeholder.end_date = placeholder.start_date;
placeholder.insert();
}
}
function getNthWeekend(n, month, year) {
var d = new Date(year, month, 1);
var count = 0;
while (d.getMonth() === month) {
if (d.getDay() === 6) { // Saturday
count++;
if (count === n) return new GlideDateTime(d.toISOString());
}
d.setDate(d.getDate() + 1);
}
}
})();
```
---------------------------------------------------------------------
**Step 4: Make the Calendar Visible to All Users**
--------------------------------------------------
1. Navigate to **System UI → Calendar Views → Patching Schedule Calendar**.
2. Under the **Security** tab, add roles or set **Accessible to: Public** (if you want all users to see it).
3. Optionally, create a module under **Self-Service** or **Change Management**:
- Name: “Patching Calendar”
- Link Type: URL (direct link to `/calendar.do?sysparm_view=patching_schedule_calendar`)
---------------------------------------------------------------------
**Step 5: Enable Teams to Add/Modify Placeholders**
---------------------------------------------------
1. Create a UI Action or Form Button on the `u_patching_schedule` table → “Add Patching Placeholder”.
2. Assign it to teams with the proper roles.
3. Configure ACLs to allow only certain groups to create or edit entries.
---------------------------------------------------------------------
**Step 6: (Optional) Display in CAB Workbench or Change Calendar**
------------------------------------------------------------------
- If you want these placeholders visible in the Change Calendar, create “Maintenance Windows” or extend your table to feed into `change_request` data source.
- Map the schedule table to Change Calendar view using iCalendar feed or related list inclusion.
---------------------------------------------------------------------
Result:
-------
✅ A centralized, interactive calendar showing monthly patching placeholders accessible to all users.
✅ Teams with permissions can add or modify entries anytime.
✅ Acts as a visual planning board similar to CAB Workbench “Schedules.”
