A library for adding events to popular calendar apps.
It provides full support for .ics files for iCalendar and Office Outlook, and also supports Google Calendar, Yahoo! Calendar and Outlook Web.
See the full documentation →
Try the online calendar generators →
yarn add datebook
const config: CalendarOptions = {
title: 'Happy Hour',
location: 'The Bar, New York, NY',
description: 'Let\'s blow off some steam with a tall cold one!',
start: new Date('2022-07-08T19:00:00'),
end: new Date('2022-07-08T23:30:00'),
// an event that recurs every two weeks:
recurrence: {
frequency: 'WEEKLY',
interval: 2
}
}
const icalendar = new ICalendar(config)
icalendar
.addAlarm({
description: 'Remember this event'
trigger: {
minutes: 10
}
})
This will add a reminder that shows 10 minutes before the event.
const secondEvent = new ICalendar({
title: 'Monthly Meeting with Boss Man',
location: 'Conference Room 2A, Big Company, Brooklyn, NY',
description: 'Meeting to discuss weekly things',
start: new Date('2022-07-08T19:00:00'),
recurrence: {
frequency: 'MONTHLY'
}
})
icalendar.addEvent(secondEvent)
This will add a second event to the same .ics
file.
icalendar.addProperty('CATEGORIES', 'MEETINGS,MANAGEMENT')
This will add the CATEGORIES
ICS property to the iCalendar instance.
icalendar.download()
This will download Happy Hour.ics
onto the user's device. On most mobile devices, this will open the default calendar app with the event.
const googleCalendar = new GoogleCalendar(config)
googleCalendar.render()
googleCalendar.render()
will return a URL that the user can navigate to and pre-fill event details:
https://calendar.google.com/calendar/render?action=TEMPLATE&text=Happy%20Hour&details=Let's%20blow%20off%20some%20steam%20with%20a%20tall%20cold%20one!&location=The%20Bar%2C%20New%20York%2C%20NY&dates=20220708T190000%2F20220708T230000&recur=RRULE%3AFREQ%3DWEEKLY%3BINTERVAL%3D1
The latest versions of all major browsers are supported.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|---|
Yes ✅ | 20+ ✅ | 11+ ✅ | Yes ✅ | 15+ ✅ | 10.1+ ✅ |