Redact Event Titles
What it does: Replaces every event title with "Busy" before syncing, hiding the real event name from the target calendar.
Use case: Share your availability with a scheduling tool or colleague without exposing meeting names or topics.
function gate(event: GateEvent): GateResult {
return { pass: true, transform: { title: 'Busy' } };
}
How It Works
The transform field on the GateResult allows you to replace event properties before they are written to the target calendar. Setting transform.title replaces the event's title while keeping all other properties (time, duration, attendees) intact. The original event in your source calendar is not affected.
Customization
Redact only personal events, pass others through unchanged:
function gate(event: GateEvent): GateResult {
if (event.matches('personal') || event.matches('private')) {
return { pass: true, transform: { title: 'Busy' } };
}
return { pass: true };
}
Use a different replacement text:
function gate(event: GateEvent): GateResult {
return { pass: true, transform: { title: 'Reserved' } };
}
Redact both title and description:
function gate(event: GateEvent): GateResult {
return {
pass: true,
transform: {
title: 'Busy',
description: null
}
};
}
Related Recipes
- Block Personal Events -- Completely remove personal events instead of redacting them
- Prefix Event Titles -- Add a prefix to event titles rather than replacing them