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

Tutorials
Getting Started
Working with Events

Nagivate to the record page when clicking on an event
Advanced Configurations
Real-World Examples
Configuring the Calendar
Data Source
The Data Source is where you define and input the necessary information for the calendar to function effectively. It comprises two main elements: Resources and Events.
Resources: Resources refer to the entities or assets involved in your events. These could be meeting rooms, equipment, personnel, or other key elements relevant to your events. Resources are fundamental in providing a structured view of what is available and when.
Only a resource collection can be associated with the Avonni Calendar.
Events: Events are the scheduled activities or appointments that must be tracked on the calendar. They are the primary elements that users interact with and can range from meetings, appointments, project deadlines, etc. 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.

Adding Data
The Avonni Calendar offers flexibility in how you provide data:
Add events and resources directly within the component
Testing, simple scenarios, data not in Salesforce.
Connect to collections created in Salesforce Flows (via 'Get Records')
Dynamic display based on Salesforce records.
Write queries to pull data, apply filters, and handle large datasets
Complex data retrieval, multiple Salesforce objects, large volumes.
Data Mappings
Importance of Data Mapping
Completing the data mappings is crucial when using a variable data source. Data mapping involves aligning Salesforce fields from the 'Get Records' collections with the corresponding attributes in the Avonni Calendar Component. This process ensures that the data fetched from Salesforce is accurately represented and organized within the calendar.

How Data Mapping Works
Data mapping is a translation process where you specify which Salesforce field corresponds to each attribute in the Avonni Calendar. For example:
If your 'Get Records' collection includes a field for event start dates in Salesforce, you need to map this field to the start date attribute of the Avonni Calendar event.
Similarly, a resource name in Salesforce should be mapped to the resource identifier in the calendar.
Particular attention should be given to the resource name attribute in the events section. This attribute is crucial because it links each event to its corresponding resource in the calendar.
Examples:
With Resource Name Mapping: Suppose you have two meeting rooms, 'Room A' and 'Room B'. If an event titled 'Team Meeting' is mapped to 'Room A', it will appear under 'Room A' in the calendar. Similarly, an event 'Client Presentation' mapped to 'Room B' will be displayed under 'Room B'.
Without Resource Name Mapping: If the resource name isn’t mapped, both 'Team Meeting' and 'Client Presentation' will appear under a single, undefined resource, making it difficult to identify which event is happening in which room.

This mapping process is vital because it dictates how data from your Salesforce environment is displayed and interacted with in the calendar. Correct mapping ensures that events and resources are shown correctly, making the calendar a reliable and effective tool for managing schedules and resources.
Finalizing the Setup
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.
Changing the Properties
Selected Display
The Avonni Calendar offers three distinct display formats to cater to different scheduling and organizational preferences. Each format provides a unique way of viewing and interacting with your events and resources.

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

Calendar
This is the traditional grid-based view that most people associate with calendars.

Agenda
Each entry in the list includes details about the event and is arranged in chronological order.

Advanced Options
Here's a concise description of the advanced options available for the Avonni Calendar component

Hidden Displays
This option lets you hide certain display types from the toolbar. The toolbar button will be hidden if only one or no display type is visible.
Timeline Variant
Determines the orientation of the schedule when the selected display is a timeline.
Pull to Boundary
Pull to Boundary enables the calendar component to expand to the left and right edges, eliminating any margin between the calendar and the main component.
Zoom to Fit
Zoom to fit prevents horizontal scrolling in the timeline display, ensuring all events fit within the viewable area for easy access and clear visualization.
Avonni Calendar allows customizable day, week, or month views, enhancing planning with adjustable, multi-day spans. Learn more.
These options offer greater customization to fit your needs and enhance the user experience in calendar management and navigation.
Header
The Header section provides various customization options for the top header.

Here's a quick run-down of the options available:
Hide Header
This property allows you to hide the top toolbar if necessary. If selected, the entire toolbar will not be displayed.
Title
This property lets you set a custom title for the toolbar. The title you input will prominently display on the toolbar, clearly identifying your calendar.
Avatar
This option lets you add an avatar to the toolbar. This can be useful for personalization or to provide visual cues about the calendar's owner or context.
Actions
This property enables you to add button actions on the toolbar. These actions are triggered based on the interactions created from the Interaction Panel.
Available Times
The Available Times section provides multiple options to customize the time frames that appear on your calendar. This feature is handy for focusing on specific periods of interest.
Here are the available options:

Days
This option allows you to specify which days of the week should be visible on the calendar. If selected, the calendar will only display the chosen days, effectively hiding the rest.
Month
Similar to the Days option, you can choose which months should be visible on your calendar. Once a selection is made, the calendar will only show the selected months.
Time Frame
This feature allows you to define a custom time frame for the calendar. Using this, you can precisely control the hours visible on your calendar, effectively focusing on the time slots most.
You need to use a specific syntax pattern to define an available time frame in the component. Each time frame should be expressed as a string in the format "start-end". The 'start' and 'end' times must be formatted according to the ISO8601 time standard, essentially a 24-hour clock format.
Example:
If you want to set the available time from 8 AM to 6 PM, you should write it as 08:00-18:00. In this example:
08:00represents the start time (8 AM).18:00represents the end time (6 PM).
This format ensures a clear and standardized way to specify time frames, making it easier to configure and understand the available time slots.

Context Menu Actions
The Context Menu Action section provides options to add specific actions to the context menu of your calendar. This enhances the interactivity and functionality of your calendar events. Here are the available options:
Event Actions
These are button actions that appear in the context menu and detail popover of an event. By setting these, you can define custom actions that users can perform directly from an event, such as editing or deleting the event.

Empty Spot Actions
These are button actions that appear in the context menu when clicking on an empty spot in the calendar. This allows you to provide users with options to perform actions when no specific event is selected, such as creating a new event. Learn more.

Event Display
The Event Display section of the Avonni Calendar component properties panel offers various options for customizing the visual aesthetics of your calendar events.

Here are the available options:
Theme:
This option lets you choose a visual theme for your events. You can select from several preset themes, such as default, transparent, line, hollow, or rounded, each offering a unique visual style to suit your personal preference or brand identity.

Palette:
This feature lets you assign different colors from a chosen palette to each resource. A color palette is a collection of colors that provide consistent color usage across different resources. This helps visually differentiate and quickly identify different types of resources on your calendar.
Popover Fields:
When a user hovers over an event, these fields will be displayed in a small popup box (or a 'popover'). This allows users to view essential event details without clicking on them. You can add any field information on the Popover.

Filter
The Filter section offers multiple customization options for your calendar's side panel.

Here are the options available:
Hide Resources Filter
You can hide the resources filter. This filter is located in the toolbar in the timeline display, but in other displays, it is found in the side panel.
Resources Filter Label
The 'Resources' filter label can be renamed if no resources were hidden in the previous setting.
Hide Date Picker
Selecting this option prevents you from choosing a specific date from the header of the calendar.
Type
This option controls the position of the filter menu. Choose from:
Horizontal: Displays the filter menu in a horizontal bar across the component.
Popover: Shows the filter menu in a compact window that appears when a button is clicked.
Panel: Presents the filter menu in a side panel that slides out from the edge of the component
Search
This option lets you add a search bar where users can find events by title. If enabled, you can also customize the following:
Placeholder Text: This sets the text displayed in the search bar before the user starts typing (e.g., "Search Events").
Search Box Position: Choose where the search bar appears: left, right, centered, filling the width, or as a separate panel.
Side Panel
Calendar Appearance
Tailor the Avonni Calendar's visual presentation to create a seamless, native-like experience within Salesforce. These customizable settings allow you to refine the calendar's appearance, ensuring it integrates smoothly and enhances your Salesforce environment.
Pull to boundary
With this, you can expand your calendar to full screen, pushing out those unnecessary margins. This gives your users a more integrated view of the calendar.


Full height
Optimize your calendar's integration within the user interface by utilizing the full height setting. This ensures the calendar fits perfectly within the user's current screen size, eliminating the need to scroll and allowing complete calendar visibility at a glance.


Interactions
Interactions connect Calendar events to flow actions. Open the Interactions tab in the Component Builder to configure them.
Each interaction fires when a specific thing happens on the Calendar — a user drags to create an event, clicks an existing event, clicks a toolbar button, etc. You then choose what the Calendar should do in response: open a flow dialog, navigate to a record, show a toast, update records, and more.
Prevent Past Event Creation
Toggle on Prevent Past Event Creation at the top of the Interactions tab to stop users from creating new events or dragging existing events into the past. When enabled, empty spots in the past are not clickable, and existing events cannot be dropped on past dates.
Interaction Events
The Calendar exposes eight interaction events. Each event provides access to different contextual data that you can pass to your actions.

New Event Drag
A user clicks or drags on an empty area to create a new event. View tutorial.
Start Date Time, End Date Time of the dragged range
Existing Event Drag
A user drags an existing event to a new time slot. View Tutorial.
The event's name (key), plus its new Start Date Time and End Date Time
Event Select
A user clicks on an event
The full event SObject record with all mapped fields
Event Action Click
A user clicks a context menu action on an event (e.g., Edit, Delete)
The full event SObject record, plus the action name that was clicked
Empty Spot Action Click
A user clicks a context menu action on an empty time slot
The action name, plus the Start Date Time and End Date Time of that empty spot
Toolbar Action Click
A user clicks a custom action button in the toolbar
The toolbar action name
Toolbar Display Select
A user picks a display mode from the toolbar (Timeline, Calendar, Agenda)
The selected display name
Toolbar Time Span Select
A user picks a time span from the toolbar (Day, Week, Month, etc.)
The selected time span name
Available Action Types Per Event
Not every action type is available on every event. Here is what you can configure:
Navigate
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Open Alert Modal
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Open Confirm Dialog
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Show Toast Notification
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Flow Navigation
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Open Flow Dialog
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Open Flow Panel
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Open Quick Action
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Download
Yes
Yes
Yes
Yes
Yes
Yes
—
—
Update Records
—
Yes
—
—
—
—
—
—
Refresh All Queries
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Fire Confetti
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Control Console Tab
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Tip: Update Records is only available on Existing Event Drag because dragging an event to a new position is the most common scenario where you want to save the updated start/end times directly to the record.
Context Data and Input Variables
When you configure an action (such as Open Flow Dialog), you can pass context data from the interaction event to your action as input variables. The available context data depends on which event you're configuring.
New Event Drag and Empty Spot Action Click
These events provide the start and end datetimes for the area the user interacted with. When you add an input variable to an Open Flow Dialog or Open Flow Panel, the Value dropdown shows:
Start Date Time
The start datetime of the area the user dragged or clicked (ISO 8601 format)
End Date Time
The end datetime of the area the user dragged or clicked (ISO 8601 format)
Custom
Lets you enter a custom value, flow variable, or expression
Example: You have a "Schedule Appointment" flow that expects two input variables:
varInputStartDateTimeandvarInputEndDateTime. On the New Event Drag interaction, add an Open Flow Dialog action, select your flow, then add two input variables. Set the first variable's name tovarInputStartDateTimeand its value to Start Date Time. Set the second tovarInputEndDateTimewith the value End Date Time. When a user drags across the Calendar, your scheduling flow opens with the correct time range pre-filled.
Event Select and Event Action Click
These events give you access to the full SObject record of the event the user clicked. In the Value dropdown, you can select item variables that correspond to any field from your event data mapping.
Example: Your events are mapped from the
Eventobject. You set up an Open Flow Dialog on Event Select that opens an "Edit Event" flow. You add an input variable namedrecordIdwith the value set to the event'sIdfield from the item variables. Your target flow receives the exact record ID of the event the user clicked.
Existing Event Drag
This event gives you the event's key (name) and its new start/end times after the drag. This is typically used with Update Records to save the new position directly, or with Open Flow Dialog to confirm the change.
Toolbar Action Click, Display Select, and Time Span Select
These events provide only the name of the action, display, or time span that was selected. They do not expose item-level context data.
Chaining Actions
You can add multiple actions to the same interaction event. They run in the order you define them.
For Open Flow Dialog and Open Flow Panel, you also get three chaining hooks:
On Finish
The launched flow finishes successfully
Show a toast confirmation, refresh query data, fire confetti
On Close
The user closes the dialog/panel without finishing
Show a warning toast, navigate somewhere
On Error
The launched flow throws an error
Show an error toast
Each hook supports its own set of chained actions: Show Toast, Flow Navigation, Refresh All Queries, and Fire Confetti.
Example: You have an Open Flow Dialog that launches a "Create Event" flow. On On Finish, you add a Show Toast ("Event created!") followed by a Refresh All Queries so the Calendar immediately shows the new event. On On Error, you add a Show Toast with the Error variant so the user knows something went wrong.
Tutorials
Add "New" button to Avonni Calendar for creating Salesforce events.

The Avonni Calendar allows users to create events easily by dragging them on the calendar.

How to reschedule events on with simple drag-and-drop functionality.

Output Variables
The Scheduler exposes several output variables you can reference in your flow after the screen. To use them, select the screen element in Flow Builder, then the Scheduler component, and pick the output variable you need.
Event Selection
When users click on an event in the Scheduler, these variables update automatically.
Important
All datetime output variables (New Event Start, New Event End, Dragged Event Start, etc.) return values in ISO 8601 format as Text. If your target flow expects a DateTime variable, use an Assignment element to convert the text value, or set your flow variable type to Text and parse it downstream.
Selected Event
Record (SObject)
The full Salesforce record of the event the user clicked. Use this to display event details on the next screen or update the record.
Selected Event Name
Text (String)
The name of the selected event.
Example: A receptionist clicks on an appointment in the Scheduler. Use Selected Event to display the appointment details and offer a "Reschedule" or "Cancel" action on the next screen.
Event Action Clicks
When users click an action from an event's context menu, these variables identify which action was triggered and on which event.
Clicked Event Action Event
Record (SObject)
The full Salesforce record of the event where the user clicked an action.
Clicked Event Action Name
Text (String)
The name of the action the user clicked (e.g., "Edit", "Delete"). Use in a Decision element to route the flow based on which action was pressed.
Clicked Event Action Event Name
Text (String)
The name of the event where the action was clicked.
Example: A user clicks "Edit" on an appointment. Use a Decision element to check if Clicked Event Action Name equals "Edit", then navigate to an edit form pre-filled with data from Clicked Event Action Event.
Empty Spot Actions
When users click an action on an empty time slot, these variables capture the time range and action.
Clicked Cell Action Name
Text (String)
The name of the action the user clicked on the empty spot (e.g., "New Event").
Clicked Cell Action Start
Text (String)
The start date/time of the empty cell where the user clicked.
Clicked Cell Action End
Text (String)
The end date/time of the empty cell where the user clicked.
Example: A user clicks "New Appointment" on an empty 2:00–3:00 PM slot. Use Clicked Cell Action Start and Clicked Cell Action End to pre-fill the start and end times on a new event creation screen.
New Event Drag
When users drag across the Scheduler to create a new event, these variables capture the time range.
New Event Start
Text (String)
The start date/time of the range the user dragged.
New Event End
Text (String)
The end date/time of the range the user dragged.
Example: A user drags from 9:00 AM to 10:30 AM on a resource row. Use New Event Start and New Event End to create a new Event record with those exact times.
Event Drag (Reschedule)
When users drag an existing event to a new time slot, these variables capture the updated position.
Dragged Event Name
Text (String)
The name of the event that was dragged to a new time.
Dragged Event Start
Text (String)
The new start date/time after dragging.
Dragged Event End
Text (String)
The new end date/time after dragging.
Example: A dispatcher drags a technician's appointment from 10:00 AM to 2:00 PM. Use Dragged Event Name to identify the record and Dragged Event Start / Dragged Event End to update the Event's DateTime fields.
Toolbar Actions
Clicked Toolbar Action Name
Text (String)
The name of the toolbar action button the user clicked. Use in a Decision element to route the flow based on which toolbar button was pressed.
Display and Time Span Selection
When users switch between calendar views or select a time span from the toolbar, these variables capture the choice.
Selected Display
Text (String)
The display mode the user selected (e.g., "Timeline", "Calendar", "Agenda"). Use this to conditionally show different components or adjust logic based on the view.
Selected Time Span
Text (String)
The time span the user selected from the toolbar (e.g., "Day", "Week", "Month").
Component Metadata
Number of Items
Integer
The total number of events currently loaded in the Scheduler. Useful for displaying a count or making decisions when the schedule is empty.
Style
Use the Style panel to adjust the visual aspects of your Avonni Calendar:
occupiesSize: Choose how much space the calendar component occupies on your screen. You can set a specific height and width.
Toolbar: Modify the toolbar's background color to match your application's overall design or branding
Margin: Control the amount of space between the calendar component and surrounding elements on your page
Specifications
Start Date
String
Define the start date of the calendar. If empty, current date will be displayed.
Selected Display
String
Define how the calendar should be display. Available values: Timeline, Calendar, Agenda.
Selected Time Span
String
Designed to provide users with the ability to define and navigate through custom time periods
Hidden Displays
String
Display(s) that should not appear in the toolbar options. The toolbar button will be hidden if one or zero display is visible.
Timeline Variant
String
Orientation of the schedule, when the selected display is timeline.
Pull to Boundary
Boolean
Pull the elements on either side of the container to the boundary.
Zoom to Fit
Boolean
If present, horizontal scrolling will be prevented in the timeline display.
Hide Toolbar
Boolean
If present the top toolbar is hidden.
Title
String
Define a title for the top toolbar
Avatar
String
To add an avatar on the top toolbar section
Actions
String
To create actions for the top toolbar section
Hide Side Panel
Boolean
If present, the side panel will be hidden. This attribute only affects the agenda and calendar displays.
Hide Resources Filter
Boolean
If present, the resources filter will be hidden. In the timeline display, the filter is in the toolbar. Otherwise, it is in the side panel.
Side Panel Position
String
To set a position for the side panel
Available Times / Days
String
If present, the scheduler will only show the selected days.
Available Times / Months
String
If present, the scheduler will only show the selected months.
Available Times / Time Frames
String
Event
String
Actions that will be displayed in the event context menu.
Empty Spot
String
Actions that will be displayed in the event context menu when clicking on an empty spot.
Theme
String
Define a theme for the events.
Palette
String
Define one color palette per resource
Popover Fields
String
Fields displayed on the popover visible on hover on an event
Event
The item data clicked
Empty Spot
Toolbar
Actions defined on the toolbar section
Event Select
Actions defined when an event is selected
Display Select
Actions defined when the user selects a display from the toolbar.
Time Span Select
Actions defined when the user selects a time span from the toolbar.
Last updated
Was this helpful?











