If you’ve ever needed to track team events, project deadlines, or company holidays on a SharePoint site, you’ve probably asked yourself — how do I actually add a calendar here? I’ve been there too.
The good news is that SharePoint Online gives you more than one way to do it. In this tutorial, I’ll walk you through three practical methods to add a calendar in SharePoint — using the Events web part, the Group Calendar web part, and a custom SharePoint list with a calendar view. I’ll explain when to use each one so you can pick the right approach for your situation.
Why Add a Calendar to SharePoint?
Before jumping into the steps, let me quickly explain why this matters. When your team works from a SharePoint intranet, having a calendar right on the home page means everyone can see upcoming meetings, deadlines, and events without hunting through emails or separate apps.
It keeps things visible, centralized, and easy to manage — all from inside SharePoint.
Method 1: Add a Calendar Using the Events Web Part
This is the quickest and most straightforward method. If you just want to show upcoming events on a SharePoint site page, the Events web part is what you’re looking for.
Here’s how to do it:
- Open the SharePoint site page where you want to add the calendar. Click the Edit icon from the top-right corner to put the page in edit mode.
- Click the circled + (plus) button to open the web part picker.
- In the search bar, type Events and select the Events web part from the results.

- The web part will be added to your page. The first time you add it, SharePoint automatically creates a list called “Events” in the background. All events you add will be stored there. Here is a screenshot of the Site Content page and you can see the Events list it got created.

- You’ll see a default placeholder event on the page. Click the + Add event button to start adding your own.
- Fill in the event details:
- Title – Name of the event (e.g., “Monthly Team Standup”)
- When – Set the date and time
- Where – Location or meeting room
- Link – Add a Teams or Zoom meeting link if needed
- Category – Choose from Meeting, Holiday, Work Hours, Business, etc.
- About this event – A short description
- Event participants – Add the people involved
- Click Save and the event will appear in the web part on the page. Here is a screenshot for your reference.

- When you open the Events list, you can see the event created like in the screenshot below:

One thing to note: Even if you add multiple Events web parts to the same page, they all pull from that one “Events” list SharePoint created. Keep that in mind if you want separate calendars for different departments — you’d need a different approach for that.
When to use this method: Use the Events web part when you want a simple, clean event display on your home page with upcoming events listed out. It’s beginner-friendly and works right out of the box.
Check out Create Calendar Events from a SharePoint list using Power Automate
Method 2: Add a Calendar Using the Group Calendar Web Part
If your team is using a Microsoft 365 group — like a Teams channel or an Outlook group — the Group Calendar web part is a great fit. It pulls events directly from your group’s calendar in Outlook and displays them on the SharePoint page.
Here’s how to set it up:
- Open your SharePoint page in Edit mode.
- Click the + (plus) icon to add a new web part.
- Search for Group Calendar and select it from the results.

- Once added, the web part shows two tabs: Upcoming meetings and Past meetings.

- To add a new event, click the Create a meeting option. This opens Outlook where you can create the event directly.

- In Outlook, fill in the event details:
- Title – Meeting name
- Attendees – Team members to invite
- Date and Time – Set the schedule
- Location – Room or Teams meeting link
- Description – Any supporting context or agenda
- Select your group (for example, “Marketing”) and click Send.

- Go back to the SharePoint page and you’ll see the event appear under the Upcoming tab in the Group Calendar web part. Here is a screenshot for your reference.

When to use this method: This works best when your team already uses Microsoft 365 groups and manages meetings through Outlook. It’s a smooth experience because you’re not duplicating effort — you create events once in Outlook, and they show up on SharePoint automatically.
Check out Create Site Retention Policies in SharePoint
Method 3: Add a Calendar Using a Custom SharePoint List
This is the most flexible option. You can build a SharePoint list from scratch, add the columns you need, and then create a calendar view to display the data in a visual calendar format. It’s perfect if you need a more detailed event tracker with custom fields.
Step 1: Create your SharePoint list
First, create a custom list in SharePoint. I created one called “Event Tracker” with these columns:
| Column Name | Data Type |
|---|---|
| Title | Single line of text (default) |
| Location | Choice |
| Event Manager | Person or Group |
| Department | Choice |
| Start Date | Date and Time |
| End Date | Date and Time |
Here is a screenshot below how the SharePoint list looks like with some data.

Important: You need at least two date columns (Start Date and End Date) to create a calendar view. Without them, the calendar view option won’t work.
Step 2: Create a Calendar View
- Open your SharePoint list and click on the All items dropdown at the top.
- Select Create new view.
- In the Create view window:
- Enter a View name (e.g., “Monthly Events”)
- Under Show as, select Calendar
- Set the Default layout to Month
- Map Start date on calendar to your Start Date column
- Map End date on calendar to your End Date column
- Under More options, set the Title of items on calendar to your Title column
- Click Create.

Your list will now display as a monthly calendar grid. You can also switch to Week view if needed. Here is a screenshot for your reference.

Step 3: Set the Calendar as the Default View
- Open the view dropdown and select Monthly Events.
- Click Set current view as default so every user who opens the list sees the calendar layout right away. This is how it looks like:

Step 4: Add the List to a SharePoint Page
- Open the SharePoint site page where you want to display this calendar.
- Click Edit and add a new web part.
- Search for List and select it from the results.
- Choose your list — in this case, Event Tracker.

- The calendar view will automatically appear on the page.

When to use this method: Use this approach when you need custom fields on your events — like department, manager, or status. It gives you full control over what data gets tracked and how the calendar looks.
Here I created a complete video tutorial on this topic, check out below:
Check out SharePoint List View Filter by Current User
Which Method Should You Choose?
Here’s a quick breakdown to help you decide:
| Method | Best For |
|---|---|
| Events Web Part | Simple event display on any SharePoint page |
| Group Calendar Web Part | Teams using Microsoft 365 groups and Outlook |
| Custom List with Calendar View | Detailed event tracking with custom fields |
If you’re setting up a basic company intranet page, start with the Events web part. If your team lives in Outlook, go with the Group Calendar. And if you need more control over your data, build a custom list.
Using the New Calendar List Template
In modern SharePoint Online, Microsoft has added a Calendar template directly in the list creation wizard. When you click New → List, you’ll see a Calendar option that creates a pre-formatted list with a weekly calendar layout. It’s a quick way to get a functional calendar without setting up all the columns yourself.
You can customize it later and add more fields as your needs grow.
Conclusion
In this tutorial, I explained how to add a calendar in a SharePoint Online site using different methods. Whether you go with the Events web part for simplicity, the Group Calendar for Outlook integration, or a custom list for more control — SharePoint has you covered. Try one of these approaches and see which one works best for your team’s requirement.
You may also like:
- Difference Between Team Site and Communication Site in SharePoint
- How to Restrict User Access to Specific Document Libraries in SharePoint
- SharePoint Online vs. SharePoint On-Premise

Hey! I’m Bijay Kumar, founder of SPGuides.com and a Microsoft Business Applications MVP (Power Automate, Power Apps). I launched this site in 2020 because I truly enjoy working with SharePoint, Power Platform, and SharePoint Framework (SPFx), and wanted to share that passion through step-by-step tutorials, guides, and training videos. My mission is to help you learn these technologies so you can utilize SharePoint, enhance productivity, and potentially build business solutions along the way.
Article says how to create a SharePoint Modern Calendar list, then never does so. Only picks an already existing list without showing us how it got created.
This is available now. Go to custom list, create new view, select calendar.
Good article, but I can’t believe (well actually i can because SP Online is painful) that MS now don’t have a web part to show a calendar as a proper calendar!
I have many business users who have site homepage and portal pages with this and the move to SPO is really making them all hate SP even more than before.
Dumping it in an iFrame and having the whole page displayed is ancient tech – pathetic and nothing ‘modern’ about it.
Thanks MS.
Hi there,
About the embed web part, note that it is possible to hide the page header by adding the parameter IdDlg=1 into the URL:
What would the revised embedded URL look like? Where is the parameter added? Thanks!
At the end of the URL, make it like this: /calendar.aspx?IsDlg=1
When adding a calendar from another site onto a site page using the Events web part, is it possible to post new events to that other calendar using this web part? When I click the `+ Add event` button from the web part and create an event, it doesn’t get saved to the calendar on display – rather it gets saved into different Event list within the site. Is this working as expected or should I be able to add to the external calendar?
Half of this article is adding actually adding events as a list not even a calendar – why on earth has it not been possible for MS to develop a responsive calendar web part for modern sites?!