Templates
Templates are pre-built gate functions you can apply with one click. They cover the most common sync scenarios so you can get started without writing any code.
To use a template, navigate to a sync rule's gate function settings and select the Templates tab. Click on any template to apply it immediately.

Copy All Events
Syncs every event from the source calendar to the target calendar without any filtering or modification. This is the default gate function for new sync rules.
Use case: Simple calendar mirroring where you want an exact copy of all events.
Visual Builder equivalent: Yes -- an empty condition list with a Pass action.
function gate(event) {
return { pass: true };
}
Copy All Events is a good starting point. You can always switch to a different template or customize the gate function later.
Busy Events as "Personal Commitment"
Only syncs events marked as busy, replacing the title with "Personal Commitment". Events that are not busy (free, tentative) are blocked.
Use case: Sharing availability across work and personal calendars without exposing event details. Recipients see that you're busy, but not why.
Visual Builder equivalent: Yes -- a "Show as equals busy" condition with a Pass action and a title transform.
function gate(event) {
if ((event.showAs === "busy")) {
return { pass: true, transform: { title: "Personal Commitment" } };
}
return { pass: false };
}
Weekend Events Only
Only syncs events that fall on Saturday or Sunday. Weekday events are blocked.
Use case: Keeping weekend plans visible on a shared calendar without cluttering it with weekday meetings.
Visual Builder equivalent: Yes -- an "Is weekday is false" condition with a Pass action.
function gate(event) {
if ((event.isWeekday === false)) {
return { pass: true };
}
return { pass: false };
}
Weekday Events Only
Only syncs events from Monday to Friday. Weekend events are blocked.
Use case: Mirroring your work schedule to a shared calendar while keeping personal weekends private.
Visual Builder equivalent: Yes -- an "Is weekday is true" condition with a Pass action.
function gate(event) {
if ((event.isWeekday === true)) {
return { pass: true };
}
return { pass: false };
}
Evening Events Only
Only syncs events starting at 6 PM or later. Daytime events are blocked.
Use case: Sharing after-work plans on a personal or family calendar without exposing daytime meetings.
Visual Builder equivalent: Yes -- an "Hour >= 18" condition with a Pass action.
function gate(event) {
if ((event.hour >= 18)) {
return { pass: true };
}
return { pass: false };
}
Template Comparison
| Template | Filters Events? | Transforms Events? | Visual Builder? |
|---|---|---|---|
| Copy All Events | No | No | Yes |
| Busy Events as "Personal Commitment" | Yes | Yes | Yes |
| Weekend Events Only | Yes | No | Yes |
| Weekday Events Only | Yes | No | Yes |
| Evening Events Only | Yes | No | Yes |
Next Steps
- Customize conditions with the Visual Builder (no code required)
- Write advanced logic in the Code Editor
- Generate gate functions with the AI Generator
- Look up event properties in the Property Reference