Schedly
Home

How it works

Get set up in under 2 minutes

Get started in 4 steps

1

Create
account

2

Link your calendar

3

Add contacts

4

Find free slots

1

Create your account

Sign up for free - no credit card required, ever. All you need is an e-mail address and a password.

Create free account
2

Link your calendar

Schedly reads your calendar via a standard ICS / iCal URL - a private link your calendar app generates. Your actual event titles and descriptions are never stored; only free/busy blocks are used to compute availability.

1

Go to outlook.comSettings (gear icon) → View all Outlook settings.

2

Navigate to Calendar → Shared calendars. Under Publish a calendar, choose your calendar and set permissions to Can view all details.

3

Click Publish, then copy the ICS link (not the HTML one) and paste it into Schedly.

URL looks like

https://outlook.live.com/owa/calendar/…/calendar.ics
Open my profile
3

Connect with contacts

Search for people by name or e-mail address and send them a contact request. Once they accept, you can compare calendars together. They need to have a calendar URL saved in their profile for the comparison to work.

Search

Find anyone on Schedly by name or e-mail.

Request

Send a contact request - they'll see it on the Contacts page.

Compare

Once accepted, their calendar is included when you search for slots.

Find people
4

Find shared free time

Head to the Schedule page, choose the contacts you want to meet, set your preferred time range and meeting duration, and hit Find Available Slots. Schedly fetches all calendars in real time and shows only slots where everyone is free.

Time window - Set the earliest start and latest end time you'd consider (e.g. 09:00-18:00).

Meeting Duration - Choose how long the meeting needs to be - pick a preset or enter any value from 1 to 500 minutes.

Meeting Rooms - Optionally select one or more rooms - Schedly checks their calendars too and only shows slots where a room is free.

Include weekends - Toggle on to also search Saturdays and Sundays.

Include lunch break - Toggle on to include the 12:00-13:00 block that is excluded by default.

Find available slots

Booking a meeting room (optional)

Schedly can check room availability at the same time as people's availability. When rooms have been set up, a Meeting Rooms section appears on the Schedule page. Click it to expand the panel, then tick the rooms you'd like to book. Schedly fetches each room's calendar alongside everyone's personal calendar and only shows slots where both the people and at least one selected room are free.

Expand

Click the "Meeting Rooms" accordion on the Schedule page to reveal the room selector.

Select

Tick one or more room chips. The summary badge updates instantly to show how many rooms are selected.

Remote?

Check "Remote meeting" to skip rooms entirely - all room chips are disabled and the search ignores room calendars.

What you see in the results

Room badge on each slot - Every free slot shows which rooms are available during that exact time window - hover or tap the badge to see the full list.

Calendar invite includes the room - When you send a meeting invite from the Results page, any selected rooms are automatically added as attendees so they appear in the room's own calendar.

No rooms configured? - If the accordion shows "No rooms have been configured yet", rooms simply haven't been set up for your organisation - the rest of the search works normally.

Tips for best results

  • Keep your calendar up to date - Schedly reads it live every time you search.
  • Use a dedicated 'work' or 'availability' calendar if you don't want personal event details in the ICS URL.
  • If your calendar URL requires a VPN or corporate network, Schedly won't be able to reach it.
  • All-day events (e.g. holidays, out-of-office) block the entire day - perfect for marking yourself as unavailable.
  • Results cover the next 14 days from today, so keep your calendar filled out at least two weeks ahead.
  • Need a room but don't see any listed? Ask your organisation's Schedly administrator to add rooms - each room just needs a name and a calendar URL.

Frequently asked questions

Why do I need an account?
An account is the only way for Schedly to know whose schedule is whose. When you save your calendar URL in your profile, it gets linked to your identity - so when a colleague searches for a shared slot, Schedly knows exactly which calendar belongs to which person. Without an account there is no way to associate a calendar with a person, no way for colleagues to find you by name, and no way to share availability without handing out your raw, private calendar URL to everyone. Signing up takes under 30 seconds and needs only an email address - no credit card, no app install, nothing to download.
Does Schedly store my calendar events?
No. Calendar feeds are fetched live on your server at the moment you search. Only the resulting free/busy time blocks are used to compute availability - raw event data (titles, descriptions, attendees) is never written to any database or log file.
Can my contacts see my calendar event details?
No. Contacts only know you are busy during a given time slot - they never see event titles, locations, or other details from your calendar.
Can I book a room directly from Schedly?
Not directly - Schedly checks room availability but does not write to a room's calendar. Instead, when you send a calendar invite from the Results page, the room's booking address is added as an attendee. The room's calendar system (e.g. Exchange, Google Workspace) then processes the invite and marks the room as booked in the usual way.
Why don't I see any rooms on the Schedule page?
Rooms need to be configured for your organisation first. If the Meeting Rooms accordion shows "No rooms have been configured yet", ask your Schedly administrator to add the rooms. If your meeting is online anyway, just check "Remote meeting" and room availability is ignored entirely.
My calendar URL doesn't work - what do I do?
Make sure the URL starts with https://, not webcal:// or http://. The URL must be accessible from the internet (not behind a corporate VPN or firewall). Test it by opening it directly in your browser - you should see a text file starting with BEGIN:VCALENDAR.
Can I use Schedly without linking a calendar?
You can still add contacts and send/receive contact requests. However, when searching for available slots, any participant without a calendar URL is skipped - their availability is treated as fully open, which may produce misleading results. We recommend everyone links a calendar for accurate results.
What if I have multiple calendars?
You can only link one ICS URL per account. If you use multiple calendars (e.g. work + personal), many calendar apps let you create a merged feed or subscribe to multiple calendars into one. Alternatively, add busy times from all calendars to one primary calendar.
How far ahead does Schedly search?
Results cover the 14 days starting from today. This window keeps results relevant and fast.
Is Schedly free?
Yes, completely. There is no paid plan, no trial period, and no credit card required - now or ever.
What is a booking link and who can use it?
A booking link (e.g. schedly.ch/book/...) is generated for each Meeting Type you create. Anyone with the link can open it - no Schedly account required. They see your available slots for the current week (navigation arrows let them browse forward), pick one, enter their e-mail address, and send the invite. A .ics calendar invite is immediately sent to you, your configured invitees, and the visitor.
Can I see which slots are available before sharing the link?
Yes - open the booking link yourself (even while signed in) to preview exactly what your guests will see. Your e-mail will be pre-filled automatically since you're logged in.

Under the hood for tech nerds

Schedly is a fully open, standard web stack - no proprietary runtime, no vendor lock-in.

Runtime & framework

  • .NET 10 - ASP.NET Core 10 - long-term support release
  • Razor Pages - Server-side page model; no client-side framework needed

Data & identity

  • SQL Server - Relational store; all tables under the sched schema
  • EF Core 10 - Code-first migrations, strongly-typed LINQ queries
  • ASP.NET Core Identity - PBKDF2 password hashing, email confirmation, account lockout

Calendar & email

  • Ical.Net 5.2 - RFC 5545 iCalendar parsing - events, recurring rules, all-day blocks
  • MailKit 4.16 - SMTP client; sends verification emails and ICS calendar invites
  • Server-Sent Events - Real-time calendar fetch progress - no polling or WebSocket needed

Frontend & hosting

  • Tailwind CSS (CDN) - Utility-first CSS - no build step required
  • jQuery & Validation - jQuery for form validation; vanilla JS for UI interactions
  • IIS / Windows Server - Deployed via Web Deploy; reverse proxy handles HTTPS termination

Privacy by design. Calendar feeds are fetched server-side in a transient HTTPS call - raw event data (titles, locations, attendees) is never written to the database or any log file. Only the derived free/busy result is returned to the browser and immediately discarded. Background services (e.g. the audit-log purge) run as ASP.NET Core IHostedService workers inside the same process.

Still need help?

Drop us a line at hello@schedly.ch - we reply within one business day.