For the complete documentation index, see llms.txt. This page is also available as Markdown.

Calendar

The Avonni Calendar provides a customizable interface for displaying and managing resources and events in various formats, including calendars, timelines, and agendas.

Overview

The Avonni Calendar displays and manages resources and events inside a Salesforce Screen Flow. It supports three display modes — Timeline, Calendar, and Agenda — with configurable time spans, drag-and-drop event creation and rescheduling, context menus, filtering, search, and a customizable header.


Tutorials

Getting Started

Working with Events

Cover

Navigate to the record page when clicking on an event

Advanced Configurations

Real-World Examples


Configuration

To configure it, click the component on the Flow screen. The Edit Calendar Component panel opens on the right with three tabs: Properties, Interactions, and Style. The sections below mirror the Properties tab.

Data Source

The Data Source is where you define the necessary information for the calendar to function. It comprises two main elements: Resources and Events.

  • Resources: The entities or assets involved in your events — meeting rooms, equipment, personnel, etc. Resources provide a structured view of what is available and when.

Only a resource collection can be associated with the Avonni Calendar.

  • Events: The scheduled activities or appointments tracked on the calendar. Events are the primary elements users interact with. Each event is typically linked to one or more resources, providing a comprehensive overview of how resources are utilized over time.

If needed, events can come from multiple collections. View this tutorial to learn more.

Data Source
Description
Best Use Cases

Manual

Add events and resources directly within the component.

Testing, simple scenarios, data not in Salesforce.

Variable

Connect to collections created in Salesforce Flows (via 'Get Records').

Dynamic display based on Salesforce records.

Query

Write queries to pull data, apply filters, and handle large datasets.

Complex data retrieval, multiple Salesforce objects, large volumes.

Using a variable Data Source

Data Mappings

Completing the data mappings is crucial when using a variable data source. Data mapping aligns Salesforce fields from the 'Get Records' collections with the corresponding attributes in the Avonni Calendar, ensuring the data fetched from Salesforce is accurately represented in the calendar.

Data mapping is a translation process where you specify which Salesforce field corresponds to each calendar attribute. For example:

  • If your 'Get Records' collection includes a field for event start dates, map it to the start date attribute of the Avonni Calendar event.

  • A resource name in Salesforce should be mapped to the resource identifier in the calendar.

After completing the data mappings, the Avonni Calendar will be ready to visually represent your Salesforce data in the chosen display — calendar, timeline, or agenda.

Properties

Selected Display sets which view mode the calendar opens with:

Selected Display
Description
Image

Timeline

Gives users a linear visual representation of their schedule over a selectable period.

Calendar

The traditional grid-based view most people associate with calendars.

Agenda

A list of events in chronological order with details about each entry.

Start Date defines the date the calendar opens to on first load. If empty, the current date is used.

Selected Time Span sets the default time span shown (e.g., Day, Week, Month).

Hidden Displays lets you hide certain display types from the toolbar. The toolbar button is automatically hidden when one or fewer display types remain visible.

Timeline Variant determines the orientation of the schedule when the selected display is Timeline.

Pull to Boundary expands the calendar to the left and right edges, eliminating any margin between the calendar and the main component.

Zoom to Fit prevents horizontal scrolling in the timeline display, ensuring all events fit within the viewable area.

Full Height sizes the calendar to fill the user's current screen height, eliminating the need to scroll and allowing complete calendar visibility at a glance.

Time Spans — Avonni Calendar allows customizable day, week, or month views with adjustable multi-day spans. Learn more.

Hide Side Panel hides the side panel (affects Agenda and Calendar displays only).

Side Panel Position sets which side the panel opens from.

The Header section provides customization options for the top toolbar.

Setting
Description

Hide Header

Hides the entire top toolbar.

Title

Sets a custom title that displays prominently on the toolbar.

Avatar

Adds an avatar to the toolbar for personalization or to provide visual context about the calendar's owner.

Actions

Adds button actions to the toolbar, triggered from the Interaction Panel.

Available Times

The Available Times section customizes which time frames appear on your calendar — useful for focusing on specific periods of interest.

Setting
Description

Days

Specify which days of the week should be visible. The calendar hides the unselected days.

Month

Specify which months should be visible. The calendar hides the unselected months.

Time Frame

Define a custom time range for the hours displayed on the calendar.

Context Menu Actions

The Context Menu Actions section adds specific actions to the context menu of calendar events and empty time slots.

Setting
Description

Event Actions

Button actions that appear in the context menu and detail popover of an event. Define custom actions users can perform directly from an event, such as editing or deleting it.

Empty Spot Actions

Button actions that appear in the context menu when clicking on an empty time slot. Provides options for actions when no specific event is selected, such as creating a new event. Learn more.

Event Display

The Event Display section customizes the visual appearance of calendar events.

Theme lets you choose a visual theme for your events. Available options: default, transparent, line, hollow, or rounded.

Theme variations

Palette assigns different colors from a chosen palette to each resource, helping visually differentiate resource types at a glance.

Popover Fields defines which fields appear in the popup shown when a user hovers over an event — lets users view essential event details without clicking.

Filter

The Filter section offers options to customize the calendar's filter interface.

Setting
Description

Hide Resources Filter

Hides the resources filter (located in the toolbar for Timeline display; in the side panel for other displays).

Resources Filter Label

Renames the "Resources" filter label.

Hide Date Picker

Prevents selecting a specific date from the calendar header.

Type

Controls the position of the filter menu: Horizontal (bar across the component), Popover (compact window on button click), or Panel (side panel that slides from the edge of the component).

The Search option adds a search bar where users can find events by title. When enabled, you can also configure:

  • Placeholder Text — the text shown in the search bar before typing (e.g., "Search Events").

  • Search Box Position — where the search bar appears: Left, Right, Centered, Fill Width, or Panel.


Interactions

Interactions define what happens when users interact with the Calendar. Configure them from the Interactions tab of the Edit Calendar panel.

Drag New Event

Fires when the user clicks or drags on an empty area of the schedule to create a new event. Requires this interaction to be configured to enable new-event dragging. Exposes the start and end datetimes of the dragged range as output variables (newEventStart, newEventEnd).

Drag Event

Fires when the user drags an existing event to a new time slot to reschedule it. Requires this interaction to be configured to enable existing-event dragging. Exposes the event's unique name (draggedEventName) and its new start and end datetimes (draggedEventStart, draggedEventEnd).

Event Select

Fires when the user clicks on an event. Exposes the full SObject record of the selected event (selectedEvent) and its unique name (selectedEventName).

Event Action Click

Fires when the user clicks a context menu or popover action on an event. Use the Target Name field to scope the interaction to a specific action name. Exposes the clicked action name (clickedEventActionName), the event's unique name (clickedEventActionEventName), and the full event SObject record (clickedEventActionEvent).

Empty Spot Action Click

Fires when the user clicks a context menu action on an empty time slot. Use the Target Name field to scope the interaction to a specific action name. Exposes the action name (clickedCellActionName) and the start and end datetimes of the slot (clickedCellStart, clickedCellEnd).

Toolbar Action Click

Fires when the user clicks a custom action button in the toolbar. Use the Target Name field to scope the interaction to a specific toolbar action name. Exposes the action name as clickedToolbarActionName.

Display Select

Fires when the user picks a display mode (Timeline, Calendar, or Agenda) from the toolbar. Use the Target Name field to scope the interaction to a specific display. Exposes the selected display name via the selectedDisplay output variable.

Time Span Select

Fires when the user picks a time span preset (for example, Day, Week, or Month) from the toolbar. Use the Target Name field to scope the interaction to a specific time span. Exposes the selected time span name via the selectedTimeSpan output variable.


Styling

The Style tab gives you control over the calendar's spacing, dimensions, toolbar, and event labels. Configure it from the Style tab of the calendar's property editor.

Controls the outer spacing around the calendar, creating space between it and other elements on the screen.

  • Top / Right / Bottom / Left: Adjust the space on each side of the calendar.

Controls the inner spacing between the calendar and its border.

  • Top / Right / Bottom / Left: Adjust the inner spacing on each side.

Controls the calendar's dimensions.

  • Width / Height: Set fixed dimensions for the calendar.

  • Min Width / Max Width / Min Height / Max Height: Constrain the size within bounds.

Styles the calendar's toolbar.

  • Background Color: Set the toolbar's background color.

Styles the event labels shown on the calendar.

  • Label: Set the color of event labels.

  • Label of Past Events: Set the color of labels for past events.

Adjusts display when opened as a modal dialog inside a Flow screen.

  • Width: Dialog width.

  • Height: Dialog height.

  • Background Color: Dialog background color.

Adjusts display when opened as a panel inside a Flow screen.

  • Width: Panel width.

  • Height: Panel height.

  • Background Color: Panel background color.


Output Variables

The Calendar exposes these output variables you can reference in your flow after the screen. To use them, select the screen element in Flow Builder, then the Calendar component, and pick the output variable you need.

Event Selection

Populated when the user clicks an event.

Output variable
Type
What it returns

Selected Event

Record (SObject)

The full record of the event the user clicked.

Selected Event Name

Text (String)

The unique name of the selected event.

Example: After the user clicks a meeting on the calendar, use Selected Event to pre-populate an Edit Record screen with that event's details.

Event Action Click

Populated when the user clicks a context menu or popover action on an event.

Output variable
Type
What it returns

Clicked Event Action Name

Text (String)

The name of the action the user clicked.

Clicked Event Action Event Name

Text (String)

The unique name of the event on which the action was clicked.

Clicked Event Action Event

Record (SObject)

The full record of the event on which the action was clicked.

Example: Wire a "Delete" event action to a Delete Records step — gate the deletion on Clicked Event Action Name equaling delete.

Empty Spot Action Click

Populated when the user clicks a context menu action on an empty time slot.

Output variable
Type
What it returns

Clicked Cell Action Name

Text (String)

The name of the empty-spot action the user clicked.

Clicked Cell Action Start

Text (String)

The ISO 8601 start datetime of the slot where the user clicked.

Clicked Cell Action End

Text (String)

The ISO 8601 end datetime of the slot where the user clicked.

Example: Use Clicked Cell Action Start and Clicked Cell Action End to pre-fill the start and end date fields of a New Event creation screen.

Toolbar Action Click

Populated when the user clicks a custom action button in the toolbar.

Output variable
Type
What it returns

Clicked Toolbar Action Name

Text (String)

The name of the toolbar action button the user clicked.

Example: Add an "Export" toolbar action and branch the flow on Clicked Toolbar Action Name to trigger an export step.

Drag New Event

Populated when the user clicks or drags on an empty area to create a new event (requires the Drag New Event interaction to be configured).

Output variable
Type
What it returns

New Event Start

Text (String)

The ISO 8601 start datetime of the range the user dragged.

New Event End

Text (String)

The ISO 8601 end datetime of the range the user dragged.

Example: Use New Event Start and New Event End to pre-fill a new event creation form shown on the next screen.

Drag Event

Populated when the user drags an existing event to a new time slot to reschedule it (requires the Drag Event interaction to be configured).

Output variable
Type
What it returns

Dragged Event Name

Text (String)

The unique name of the event that was moved.

Dragged Event Start

Text (String)

The new ISO 8601 start datetime after the drag.

Dragged Event End

Text (String)

The new ISO 8601 end datetime after the drag.

Example: After a drag, use Dragged Event Name and Dragged Event Start / Dragged Event End to update the corresponding record with an Update Records step.

Others

Output variable
Type
What it returns

Number of Items

Integer

The total number of events currently loaded in the calendar.

Flow Interaction Output Variables

Like all interactive Flow components, the Calendar exposes generic output slots (Variable 1–10) that an Open Flow Dialog or Open Flow Panel interaction can fill with values from a launched flow. See Flow Interaction Output Variables.

Last updated

Was this helpful?