LogoLogo
HomepageYouTube ChannelInstall from the AppExchange
  • Home
  • Dynamic Components
  • Flow Components
  • Experience Components
  • Projects
  • 👋Welcome
  • Getting Started
    • Product Tour
    • Quickstart Guide
    • Learn the Basics
    • Installation & Licenses management
    • Flow vs. Dynamic Components
    • Integrating with Experience Cloud
  • Tutorials
    • Videos
    • Projects Tutorials
    • Components Tutorials
      • Alert
        • Create a custom branding alert
        • Create an error alert dismissible
      • Avatar
        • Create an avatar with actions
        • Create an avatar with details
      • Avatar Group
        • Display a list of contacts related to an account
        • Display a list of sharing users related to the record
      • Barcode
        • Generating and Displaying Barcodes for Product Codes
      • Biometrics
        • 101 Tutorial
      • Button
        • Customizing Flow Navigation Buttons
        • How to Add a "Cancel and Close" Button
        • How to Open Flows from Buttons
      • Button Groups
        • Identifying Clicked Buttons
      • Button Menu
        • How to change dynamically Avonni Button Menu Icons
      • Calendar
        • Calendar 101 Tutorial
        • How to Connect Multiple Data Sources to the Avonni Calendar
        • How to Customize Time Spans
        • How to Customize the Right-Click Menu
        • How to Add an Edit Action to Events
        • How to Add a New Event Button to the Avonni Calendar Header
        • How to Create Events by Dragging in the Avonni Calendar
        • How to Reschedule Events with Drag and Drop
        • How to Color-Code Calendar Entries in the Avonni Calendar
        • Using a variable Data Source
        • Using a Query Data Source
      • Carousel
        • Build a Related Products Carousel
      • Combobox
        • Implement Dependent Picklists in Comboboxes
        • How to Dynamically Enable/Disable Dependent Picklists
        • Using Multi-Select Comboboxes with Reactive Formulas
      • CSV Parser
        • 101 Tutorial
      • Data Table
        • Adding Filters
        • How to add Images onthe Data Table
        • Creating Row Actions
        • Displaying a Record as a QR Code
        • Displaying Record Name field as a link
        • Learn the Basics
        • Making a field editable
        • Setting Up Data Export
        • Tips and Tricks
          • Activate infinite scrolling
          • Creating an action from a button or a link
          • Customizing the Badge Color using a formula
          • How to Grayscale Header Actions Dynamically in Avonni Data Table
          • How to Conditionally Color Cells
          • Enabling auto-refresh on the Data Table when pressing a button
          • Handling formula text field
          • How to set column visibity
          • Passing multiple record IDs to another flow
          • Data Table Editor
      • Date Picker
        • Display a date picker with Marked Dates from a Get Records
      • Date Time Picker
        • How to create Collection Variables for StartDateTime and EndDateTime
        • How to Block Out Times
      • Delay Interaction
        • Creating a Confetti Celebration on the Final Screen
        • Launch a flow dialog without a screen
      • Dual Listbox
        • Display contacts with custom icons
        • Accounts list group by industry
      • Expandable Section
        • How to add components into an expandable section
      • Header
        • Building Engaging Card Headers
        • Crafting a Profile Header
        • Adding Action Buttons to Headers
        • Adding a Background Image to Your Header
      • Input Pen
        • Add the custom Toolbar
        • How to Store Input Pen Drawings as Attachments in Salesforce
      • Kanban
        • 📹Introduction
      • List
        • Create a grid list with images
        • Create a sortable list
        • How to Reorder Items and Update Records
        • Vertical List with Actions
      • Navigation
      • Map
        • Customize the Map Marker
        • Visualizing Account Information on a Map
      • Metric
        • 📹Introduction
      • Microphone
        • Save the Microphone recording file as an attached on a record
      • Progress Indicator
        • Creating a Universal Dynamic Progress Step Collection
        • How to Change the Appearance of Your Progress Indicator using a variable
        • Error Handling
      • QR Code
        • Generate a QR Code from a record field
      • Record Detail
        • Using the Record Detail with Reactive Screens
      • Scoped Notification
        • Display message based on a value
      • Text Area
        • TextArea issue with max length when clicking on the next button
      • Tree
        • Build a Tree View with Dynamic Record Details
      • Timeline
        • Assigning multiple source collection to the Timeline
        • Customizing Date Format in the Timeline Component using Luxon
        • Create a horizontal activity timeline
        • Display Tasks
        • Perform actions on selected tasks
      • Vertical Visual Picker
        • Adding sub-items
        • Display a list of online contacts
    • Interactions
      • Enabling auto-refresh for queries after the Flow Dialog ends
      • Creating a Confetti Celebration on the final screen
      • How to create an interaction to navigate to an object
      • How to create an interaction to a record page
      • How to create an interaction to open another flow
      • How to pass an Input Variable from One Flow to Another
      • How to setup an Open Flow Panel interaction
    • Reactive Query Tutorials
      • How to make Data Tables Reactive
      • Build a reactive Data Table Using Dependent Picklists
      • Building a Dynamic Metrics Dashboard with the Data Table
      • How to build a reactive 'Quarterly Opportunity Tracker' component
      • How to Create a Combobox-Filtered Data Table
      • Create a Dynamically Linked Account-Contact View
      • Troubleshooting
    • Tips and Tricks
      • Copy / Paste a component settings
      • Create a link to the record using the href attribute
      • Create a variable and use it in a component property
      • Data Table
      • Hide Standard Header and Footer in a flow
      • How to pass your current RecordID in your screen flow
    • Platform Events
      • Configuration tutorial
  • Flow Components
    • Explore All Components
    • Alert
    • Audio Player
    • Avatar
    • Avatar Group
    • Barcode
    • Barcode Scanner
    • Biometrics
    • Blockquote
    • Button
    • Button Group
    • Button Icon
    • Button Menu
    • Calendar
    • Carousel
    • Chart
    • Chip Container
    • Combobox
    • Color Picker
    • CSV Parser
    • Date Picker
    • Data Table
    • Date Time Picker
    • Delay Interaction
    • Document Scanner
    • Dual Listbox
    • Expandable Section
    • Formatted Address
    • Formatted Name
    • Formatted Value
    • Header
    • Hero Banner
    • Icon Picker
    • Image
    • Input Choice Set
    • Input Choice Set Grid
    • Input Counter
    • Input Date Range
    • Input Pen
    • Illustration
    • Interaction service
    • Kanban
    • List
    • Map
    • Metric
    • Microphone
    • Navigation
    • NFC Scanner
    • Pill Container
    • Progress Bar
    • Progress Circle
    • Progress Indicator
    • Progress Popover
    • QR Code
    • Rating
    • Record Detail
    • Scoped Notification
    • Separator
    • Slider
    • Tabs
    • Text Area
    • Timeline
    • Tree
    • User Location
    • Vertical Visual Picker
    • Visual Picker
    • Visual Picker Link
    • Video Player
    • Welcome Mat
  • Component Builder
    • Overview
    • Properties Pane
    • Interactions Pane
      • Copy Records
      • Download
      • Export To
      • Fire Confetti
      • Flow Navigation
      • Navigate
      • Show Toast
      • Open Alert Modal
      • Open Confirm
      • Open Flow Dialog
      • Open Flow Panel
      • Update Records
      • Refresh Query
      • Refresh All Queries
      • Open Quick Action
    • Style Pane
    • Component Templates
    • Layout and Customization
      • Alignment controls
      • Copy / Paste component settings
      • Margin / Padding
      • Pull To Boundary
      • Undo / Redo
  • Data Sources
    • Understanding Data Sources
    • Manual
    • Variable
    • Query
    • Query VS Variable
    • Picklist
  • Actions
    • Overview
    • Data Manipulation and Transformation
      • Convert Lead
      • Create file
      • Split Text to Text Collection
      • SObject Collection Math
      • SObject Collection Join
      • Get Record from SObject Collection
      • SObject Collection to Activity Timeline Items
      • SObject Collection to Calendar Marked Date Collection
      • SObject Collection to Scheduler Events
      • SObject Collection to Text Collection
    • Data Conversion and Formatting
      • Text Collection Get Value
      • Get Value from String Collection
      • Number Collection Get Value
      • Join Text Collection
      • Format Text in SObject Collection
      • Format Text Collection
      • Text Collection to Combobox Options
      • Text Collection to Dual Listbox Options
      • Text Collection to Progress Indicator Steps
    • UI & Navigation
      • New Avatar Action Collection
      • New Button Menu Item Collection
      • New Carousel Item Collection
      • New Combobox Option Collection
      • New Dual Listbox Option Collection
      • New Header Action Collection
      • New Header Avatar Action Collection
      • New List Action Collection
      • New Navigation Item Collection
      • New Progress Indicator Step Collection
      • New Progress Popover Step Collection
      • New Slider Custom Label Collection
  • Help
    • Performance Guide
    • How do I contact support?
    • How do I report Bugs?
    • Troubleshooting
    • Release Process
  • Miscellaneous
    • Live use cases examples
    • Release Notes
    • Salesforce Flow Limit
    • Security
Powered by GitBook
LogoLogo

Company

  • About Us
  • Pricing

Policies

  • Privacy Policy
  • Terms of Service
On this page
  • Introduction
  • Salesforce architecture setup
  • Custom Objects configuration
  • Purpose and Configuration
  • Utilizing Avonni Calendar
  • Flow Setup
  • Step 1: Creating a Screen Flow
  • Step 2: Adding a Screen element
  • Avonni Components Setup
  • Step 3: Avonni Header
  • Avonni Calendar Configuration
  • 1. Placing the Avonni Calendar Component
  • 2. Connect Your Calendar to Salesforce Data
  • 3. Configuring Data Mappings
  • 4. Enhancing the Avonni Calendar with Additional Settings

Was this helpful?

  1. Tutorials
  2. Projects

Building a Marketing Campaign Calendar

Last updated 6 months ago

Was this helpful?

Introduction

This tutorial explores how a marketing agency, facing challenges with complex campaigns and limited tech resources, adopted the Avonni Calendar. We'll take a closer look at how this component used at screen flow improved their campaign management.

Salesforce architecture setup

Our agency has enhanced Salesforce with custom objects and the Avonni Calendar component. This setup, aligning with our streamlined, user-friendly approach, improves team coordination and task tracking. We'll now explore the specifics of this efficient system.

Custom Objects configuration

  • Marketing Teams Object: This object stores essential information for each marketing team. Fields include:

    • Description: A brief overview of the team’s function.

    • Marketing Team Name: Identifies the team (e.g., Creative, Content, Digital).

    • Lookup to Campaign Events: Links each team to its associated events, ensuring a clear connection between teams and their tasks.

  • Campaign Events Object: This object tracks all the campaign-related events. Key fields are:

    • Description: Details of the event.

    • Start Date and End Date: Defines the timeline of each event.

    • Status: A picklist indicating the progress (e.g., Planned, In Progress, Completed).

    • Owner: The team or individual responsible for the event.

    • Lookup by Marketing Team: Connects each event to its relevant team, creating an organized structure.

Purpose and Configuration

  • The Marketing Teams Object serves as a central hub for team-related information. It’s linked to the Campaign Events Object, forming a relational database.

  • The Campaign Events Object details the specific actions, deadlines, and responsibilities. This detailed structuring allows for easy tracking of each task's progress and effective coordination across different teams.

Utilizing Avonni Calendar

The Avonni Calendar now shows this data visually in Salesforce. Campaign events are displayed on the calendar, using colors to represent different teams, making it easy to see the campaign's progress.

Flow Setup

Step 1: Creating a Screen Flow

  • Begin by creating a new screen flow.

  • Choose the 'Screen Flow' option. This flow type allows you to create a user interface that interacts with Salesforce records.

Step 2: Adding a Screen element

Next, we'll add a screen element to build our flow's visual interface, incorporating components for the Marketing Campaign Timeline interface.

Avonni Components Setup

Step 3: Avonni Header

Begin by adding the Avonni Header, a component that creates an attractive header.

Purpose of Avonni Header: We use the Avonni Header to give a clear, visually engaging introduction to the user interface. It sets the context for users, guiding them through the flow quickly and clearly.

Configuring the Avonni Header: Here’s how to configure the Avonni Header for the "Marketing Campaign Timeline". To fully configure the Avonni Header, click the "Open Component Builder" button.

  1. Title Configuration:

    • Set the title as "Marketing Campaign Timeline".

    • This title acts as the main heading on your flow screen, immediately informing users about the purpose of the flow.

  2. Caption Setting:

    • Add a caption: "Schedule".

    • This provides additional context or a subheading, further clarifying the flow’s function.

  3. IsJoined Option:

    • Check the 'IsJoined' box.

    • This option influences the header's design, typically by altering how it integrates with other components on the screen.

  4. Pull to Boundary Setting:

    • Ensure 'Pull to Boundary' is checked.

    • This makes the header stretch across the entire width of the screen, creating a more cohesive and professional look.

  5. Avatar Icon Customization:

    • Choose the avatar icon name as "standard:campaign_members".

    • Select the size as 'large'.

    • This icon visually represents the content or theme of your flow, in this case, highlighting the focus on campaign members.

Optional: Adding Button Actions to the Header

You can enhance the Header by adding actions like a 'New' button for creating records. To do this:

  1. Go to the 'Actions' section to set up your buttons.

Avonni Calendar Configuration

1. Placing the Avonni Calendar Component

Next, drag the Avonni Calendar Component below the previously added Avonni Header. To customize it, open the Component Builder, where you'll find various settings.

2. Connect Your Calendar to Salesforce Data

Go to the "Data Source" section in the Avonni Calendar component. We'll use the "Query Data Source" option to build our query directly within the calendar. This simplifies connecting to your Salesforce data and saves you from setting up multiple data retrieval steps beforehand.

Choose the Salesforce Object for Your Events

In the Query configuration, select the Salesforce object that stores your event information. We chose the "Campaign Event" object for this tutorial because it keeps track of everything related to our marketing campaigns.

3. Configuring Data Mappings

Data mappings are essential for integrating Salesforce data into the Avonni Calendar. This process aligns fields from our query object configuration with attributes in the Avonni Calendar, ensuring accurate data representation.

  • Title: Select the appropriate field from your Query corresponding the event name in the Campaign Events object.

  • Name: Use the recordId field to identify each resource uniquely.

  • Resource Name: Map this to the lookup field linking to the Marketing Team object. This is vital for associating each event with the correct team in the calendar.

  • Label: Select the appropriate field corresponding to the team names in the Marketing Teams object.

  • Avatar Fallback Icon Name: Choose 'standard:groups' to represent your resources visually.

  • From: Map to the 'Start Date' field of the Campaign Events object.

  • To: Use the 'End Date' field from the Campaign Events object.

Make sure you correctly set the "Resource Name" attribute. This is important because it tells the Avonni Calendar component how to organize your resources (like different teams) and allows you to customize their display further.

4. Enhancing the Avonni Calendar with Additional Settings

With the Avonni Calendar's basic setup for our marketing campaign timeline complete, let's explore other settings to enhance its functionality further.

Display Formats

Selected Display
Description
Image

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.


Configuring Available Times

  • Customize time frames in the Available Times section to focus on specific periods relevant to your campaign.


Context Menu Actions

Enhance calendar interactivity with specific actions in the Context Menu Action section, allowing for more dynamic event management.

Attribute
Description

Event Actions

Empty Spot Actions


Event Display Options

The Event Display section offers customization for the visual appearance of your calendar events, ensuring they align with the campaign's theme.


Search Engine Integration

Enable a search feature to quickly find items on the Calendar, improving efficiency and user experience.

These additional settings in the Avonni Calendar provide extensive customization options, enabling you to tailor the calendar to your marketing campaign's specific demands and nuances.


Congratulations! You've successfully set up Avonni Calendar to power your marketing campaigns. This user-friendly tool will completely change how your team plans, tracks, and manages all your campaign tasks.

Remember to configure the button's functionalities by clicking on the '' tab. This step is crucial to determine what happens when users interact with these buttons.

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, or deleting the event.

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. .

Having trouble with this tutorial? .

Interactions
Contact Avonni support for help
such as editing
Learn more
Learn more
Learn more
Learn more