01 / example application
Customer relationships
Discovery calls, account reviews, and onboarding appointments beside the customer record.
Build interactive calendars into Salesforce, CRMs and custom applications with a headless engine and flexible UI components.
Core 2.5.7 / Interface 1.9.1 / MIT
26,240 downloads across Core (14,727) and Interface (11,513). npm counts include repeat and automated downloads.
Customer appointments, in context.
Live Web Component · local sample events
Application request → real local calendar API
23 sample appointments · overlapping sessions · editable events
Scripted local demo. No connected account. Interact with the calendar to stop.
Interactive playground
Switch scenarios. Change the view. Create, move, and edit sample events. Inspect the configuration behind the calendar.
01 / the enterprise starting point
Connect Lightning pages to standard Salesforce Events, with Apex enforcing access at the data boundary.
Install & configure SalesforceReleased installer 0.3.0.1 · sandbox validation first

Packaged static resources and Web Components. LWS is required; legacy Lightning Locker is not supported.
Sharing and user-mode access apply to records and fields. The interface is not an authorization boundary.
Assign controller access, configure Event permissions, and validate your org’s rules before rollout.
The screenshot demonstrates the interface, not package installation or live data-access verification. Read Salesforce’s official custom-element compatibility guidance
02 / designed to fit
Embed scheduling where the context already lives: customers, appointments, classrooms, and internal tools. Your application decides what an event means.
Month, week, and day views. Event editing. Web Components, React, and Vue.
Explore InterfaceEvents, recurrence, conflict detection, search, and ICS. A headless engine with no runtime dependencies.
Explore Core03 / your domain, on the calendar
These are application patterns you can build with the library. Salesforce has a ready integration; other systems need your data adapter and domain rules.
01 / example application
Discovery calls, account reviews, and onboarding appointments beside the customer record.
02 / example application
Office hours, admissions interviews, and workshops inside your own student or client portal.
03 / example application
Display room, equipment, or staff schedules. Your app supplies resource policies and booking validation.
04 / from package to product
Mount the component and supply your events. Keep persistence, access checks, and business logic in your application.
import '@forcecalendar/interface';
const calendar = document.createElement('forcecal-main');
calendar.setAttribute('view', 'week');
document.querySelector('#customer-calendar').append(calendar);
// Load records through your authorized data layer.
calendar.setEvents(customerAppointments);
// Real operations. Your application owns persistence.
calendar.addEvent(appointment);
calendar.updateEvent(appointment.id, newTime);Application code or an agent can call the calendar engine through your adapter. Your application decides access and when calls run. A separate scoped-tool adapter is a private prototype, not a public hosted service. forceCalendar does not assign tasks or orchestrate agents.
Engineering, in the open
Open source under MIT. Review the actual versions, tests, and measured workloads before choosing it for your system.
Published results identify their scope. An npm advisory scan is not a penetration test or a security guarantee.
Read the auditCompare the workloads that matter to your application. Package size and runtime performance are different measurements.
Explore benchmarksAvailable: JavaScript engine, UI components, Salesforce integration, and ICS file handling. Apple, Google, and Microsoft live account connections and two-way synchronization are not shipped. ICS import/export is not live account synchronization.
Salesforce integration