Create and configure Shift Planners
Create an independent Shift Planner for each team, location, project, or other planning context. Each Shift Planner defines its Resource rows, Target context, filters, templates, transfer rules, publishing behavior, and access.
Users with Flair Scheduler Admin in Salesforce can create and configure Shift Planners. Flair Scheduler Manager users can use shared Shift Planners but cannot change their configuration. flair activates Shift Planner for your organization.
Understand Shift Planner configuration
A Shift Planner combines two configurable axes:
| Concept | Meaning |
|---|---|
| Resource | The object displayed as planning rows. The default is Employee, but it can be another resource object. |
| Target | The parent planning context, such as Location, Department, Project, or a custom object. |
This object-agnostic model supports combinations such as Employee × Location, Employee × Project, and custom Resource × custom Target. A Shift Planner also defines filters, Predefined Shifts, Shift Transfer rules, publishing confirmations, and an optional Screen Flow for Edit Shift.
Create a Shift Planner
- In the App Launcher (⋮⋮ grid icon), search for
Schedulers. - Open Shift Planners.
- Click New.
- Enter a descriptive Shift Planner Name.
- Configure the Resource and Target fields.
- Click Save. The Shift Planner record becomes available for further configuration.

Create a Shift Planner from a template
Instead of configuring every field yourself, you can start from a ready-made example and adjust it afterward. flair ships three example templates:
| Template | Rows | Target |
|---|---|---|
| Employees by Location | Employees | Location |
| Employees by Department | Employees | Department |
| Employees by Project | Employees, loaded through segments | Project |
- In the flair HR app, open Attendance.
- Click the Shift Planners tab. It lists all existing Shift Planners.
- Click Templates, and select a template. The new Shift Planner appears in the list with the template's name.
- Click the Shift Planner's name to open the record, and adjust its configuration as needed.
The Templates menu shows the templates in your Salesforce language, including any templates your organization saved with Save as Template. To create a Shift Planner without a template from the same tab, click New Shift Planner.
The Shift Planners tab appears only if your permission sets include the Shift Planner Manager or HR Manager custom permission, for example Flair Shift Planner Manager or Flair Manager.

Save a Shift Planner as a template
Save a configured Shift Planner as a template to reuse its setup for other teams or locations.
- Open the Shift Planner record.
- In the action bar, click Save as Template.
- In Template name, keep the prefilled Shift Planner name or enter a new one.
- Click Save. The template appears in the Templates menu on the Shift Planners tab in Attendance.
Shift Planners created from the template use the template name. You can rename them afterward.
Configure Resources
| Field | What it does |
|---|---|
| Resource Object | Sets the row-object API name, such as flair__Employee__c. |
| Resource Object Name Field | Sets the row display-name field. It defaults to Name and can use a formula such as Last, First. |
| Resources Filter Raw Query | Adds a SOQL WHERE fragment. {targetRecordsIds} resolves to the Shift Planner Target record IDs at runtime. |
| Shift Resource Reference Field | Sets the Shift__c lookup that connects a shift to its Resource. |
| Employee Targets Query | Limits the Targets against which the signed-in Salesforce user can plan. |
| Resource Object Preview Screen Flow Name | Sets the Screen Flow for the side-panel Resource preview. |
| Fetch Employees Using Segments | Loads employees through the organization's segment mechanism. |
| Resource Grouping Fields | Sets the comma-separated field API names, such as flair__Department__c,flair__Location__c, that planners can group rows by in the Attributes view. Leave it blank to offer every groupable field of the Resource object. |
Common Resources Filter Raw Query values include:
| Use case | Query |
|---|---|
| Employees in the Shift Planner Locations | flair__Employee__c.flair__Location__c IN ({targetRecordsIds}) |
| Employees in the Shift Planner Departments | flair__Employee__c.flair__Department__c IN ({targetRecordsIds}) |
| Active employees | flair__Status__c = 'Active' |
Limit who planners can add to a Shift Planner
By default, Add employees lets planners search every employee in your organization and add them to the planning view. To narrow that search, set Add Employee Filter (SOQL). It controls only who appears in Add employees; Resources Filter Raw Query still controls who appears in the planning view by default.
- On the Shift Planner record, open the Setup tab, and expand Advanced.
- In Add Employee Filter (SOQL), enter a SOQL
WHEREcondition on the Employee (flair__Employee__c) object, such asflair__Exclude_From_Scheduler__c = falseorflair__Department__c != null. Leave it blank to show every employee. - Click Save.
Salesforce validates the condition when you save. If the syntax is invalid or references a non-existent field, flair rejects the change with an error.
When configured:
- Only employees who match the condition appear in Add employees.
- The condition doesn't prevent creating or claiming shifts.
- If the condition later becomes invalid (for example, if a referenced field is deleted), Add employees shows an error instead of employees until you correct the filter.
Configure Targets
| Field | What it does |
|---|---|
| Target Object | Sets the context-object API name, such as flair__Location__c, flair__Department__c, flair__Project__c, or a custom object. |
| Target Object Name Field | Sets the Target display-name field. |
| Targets Filter Raw Query | Adds a SOQL WHERE fragment that limits the Target records. |
| Shift Target Reference Field | Sets the Shift__c lookup that connects a shift to its Target. |
| Hub Targets Query | Optionally overrides the Targets that the Employee Hub fetches for an employee. |
| Target Object Preview Screen Flow Name | Sets the Screen Flow for the side-panel Target preview. |
Common combinations include:
| Use case | Target Object | Example query |
|---|---|---|
| Location schedule | flair__Location__c | Id = 'a0X…' |
| Department schedule | flair__Department__c | Id = 'a0X…' |
| Project schedule | flair__Project__c | flair__Status__c = 'Active' |
| Custom schedule | YourOrg__Site__c | YourOrg__Active__c = true |
Scope a shared Shift Planner to the logged-in planner
Instead of maintaining separate Shift Planners for each location or department, you can create a single shared Shift Planner that dynamically adapts to the planner viewing it. When a planner opens the board, flair resolves tokens against their Employee record (flair__Employee__c linked to their Salesforce user) and filters the available Targets and Resources accordingly.
Supported placeholders
You can use the following tokens in Targets Filter Raw Query and Resources Filter Raw Query:
| Placeholder | Resolves to |
|---|---|
{currentEmployeeId} | The Salesforce ID of the logged-in user's Employee record. |
{currentEmployee.Location__c} | The ID of the employee's assigned Location (flair__Location__c). |
{currentEmployee.Department__c} | The ID of the employee's assigned Department (flair__Department__c). |
Example configurations
- Planner sees only their own location: On a Shift Planner with Target set to Location, enter
Id = {currentEmployee.Location__c}in Targets Filter Raw Query. - Planner sees only employees in their department: In Resources Filter Raw Query, enter
flair__Department__c = {currentEmployee.Department__c}. - Combined location and department scope: Set Targets Filter Raw Query to
Id = {currentEmployee.Location__c}and Resources Filter Raw Query toflair__Department__c = {currentEmployee.Department__c} AND flair__Status__c = 'Active'.
What changes on a scoped Shift Planner
When a filter contains a token, the Shift Planner behaves as follows:
- If a token can't be resolved, for example because the signed-in user has no linked Employee record or its Location or Department is blank, the board stays empty and shows You have no planning area yet instead of unfiltered records.
- Employees added through Add employees appear only if they fall inside the token-scoped roster.
- If the token is in Resources Filter Raw Query, employees who have shifts at the selected Target but fall outside the roster are also excluded.
- Planners can create, move, and publish shifts only within the Shift Planner's scope.
- A kiosk shows no shifts for a Shift Planner that uses tokens.
Create a Predefined Shift
- On the Shift Planner record, find Predefined Shifts.
- Click New.
- Enter the Predefined Shift Name, the Button Name, the Linked Target Object, the Start Time, and the End Time.
- Optional: Enter a Shift Color, a break with Break Name, Break Start Time, and Break End time, and a Cost Center.
- Under Days, move the days on which the template applies from Available to Chosen.
- Click Save. Planners can select the template when they create a shift.
Use Predefined Shifts Filter Raw Query on the Shift Planner to show only a subset from a shared template pool.

Manage Predefined Shifts from record pages
You can manage Predefined Shifts directly from the record pages of your planning Targets, such as a Location, Department, or Project, without opening the Shift Planner or copying record IDs.
Add the component to a record page
- In Setup, open the record page for your Target object in Lightning App Builder.
- From the component palette, drag flair - Scheduler Predefined Shifts onto the page.
- Click Save, then activate the page.
Create, edit, or delete Predefined Shifts on the record
- Open the Target record, such as a Location or Department.
- In the Predefined Shifts card, click Add Predefined Shift.
- Enter the Predefined Shift details.
- Under Applies to, select This record only or All records of this type. The Applies to column shows the record name, or All followed by the object name for shared Predefined Shifts.
- Click Save.
- To change or remove a Predefined Shift, open its row action menu and select Edit Predefined Shift or Delete Predefined Shift.

Allow only Predefined Shifts
Only Predefined Shifts limits planners to the Predefined Shifts available for the Target. It is off by default.
- On the Shift Planner record, select Only Predefined Shifts, and save the Shift Planner.
When the setting is on, the schedule menu lists only the Predefined Shifts and no longer offers Add a shift. If no Predefined Shift applies to the clicked day or Target, the menu shows No predefined shifts available.

The setting controls only how shifts are added. Planners can still change the times of a placed shift by resizing it or in Edit shift. Open Shifts don't use Predefined Shifts, so the setting doesn't apply to them.
Define staffing demands
A demand states how many staff with specific skills a Shift Planner needs during a time window, for example two employees with a forklift certification on weekday mornings. Planners then see in the planning view whether the scheduled shifts cover each demand. See Check shifts against demands.
The Demands tab in Attendance appears only if your permission sets include the Shift Planner Manager or HR Manager custom permission, for example Flair Shift Planner Manager or Flair Manager. Creating a demand also requires create access to the Demand object, which Flair Scheduler Admin, Flair Scheduler Manager, and Flair Manager grant.
Create a demand
- In the flair HR app, open Attendance.
- Click the Demands tab. It lists all active demands.
- Click New demand.
- Enter the Demand Name and the Amount, which is the number of staff the demand requires.
- Optional: Enter a Start Date and End Date. Leave them empty for a demand without a time limit.
- Click Save. The Demand record opens.
A demand is Active by default. Clear Active to stop showing the demand in Shift Planners without deleting it.
Set when the demand applies
Without time segments, a demand applies on every day at any time, and the Time Segments card shows This demand applies at any time.
- On the Demand record, in the Time Segments card, click Add Time Segment.
- Select the Day, and enter the Start Time and End Time.
- Optional: To repeat the segment on the following day, click the Copy to next day icon.
- Click Save. flair shows Time segments saved.

Add the required skills
- On the Demand record, in the Skills card, search for a skill and select it. For a skill with rates, select the minimum rate. Only employees with every skill of the demand, at the selected rate or higher, count toward it.
Show demands on a Shift Planner
On the Shift Planner record, Demands Filter Raw Query sets which demands the Shift Planner shows. It takes a SOQL WHERE fragment. {targetRecordId} resolves to the Target record that the planning view is open on, and {targetObjectApiName} to its object. For example, flair__Location__c = {targetRecordId} shows only the demands whose Location matches the planned Location. If the query contains a placeholder that flair can't resolve, the Shift Planner shows no demands.
The Shift Planner always shows only active demands whose dates overlap the displayed period. If Demands Filter Raw Query is empty, every Shift Planner shows all such demands. The Location, Department, Team, and Entity fields on a demand take effect only through this query.
Before Demand records existed, skill requirements were set per Location with Add Skills demand in the Skills demanded window. A Shift Planner whose Target is Location still shows these legacy Skills demands when no Demand record matches. Demand records add time segments, date ranges, and other Target objects, so use them for new requirements.
Configure Shift Transfer
| Field | What it does |
|---|---|
| Allow Shift Transfer | Enables transfers for the Shift Planner. It is off by default. |
| Min Days Before Shift Transfer | Sets the minimum notice period in days before the shift starts. |
- To disable transfers, leave Allow Shift Transfer cleared. To enable them, select it, set the notice period, and save the Shift Planner.
Configure publishing confirmations
| Field | What it does |
|---|---|
| Confirm Shift Publish | Requires a confirmation before publishing shifts. |
| Confirm Published Shift Move | Requires a confirmation before moving a published shift. |
Replace the Edit Shift window
- In Edit Shift Screen Flow Name, enter the API name of a Salesforce Screen Flow, and save the Shift Planner. Leave it empty to use the default window for start, end, break, notes, and recurrence.
Control Employee Hub visibility
Show In Hub controls whether the Shift Planner can appear in the Employee Hub. The organization-wide Hide flair Scheduler parameter takes precedence:
| Organization setting | Show In Hub | Result |
|---|---|---|
| Visible | Selected | Eligible employees see the Shift Planner. |
| Visible | Cleared | The Shift Planner remains Salesforce-only. |
| Hidden | Either | No Shift Planner appears in the Employee Hub. |
Choose the Employee Hub audience
When Show In Hub is selected, Show Shift Planner in Hub — Visible to controls the audience. Both settings must allow access.
- On the Shift Planner record, find Show Shift Planner in Hub — Visible to.
- Click Edit segments.
- Select departments, locations, teams, entities, or named employees.
- Save the audience. Only employees in the selected segments can see the Shift Planner.
A new Shift Planner receives a default segment for all current and future employees. Existing Shift Planners received the same segment when this feature shipped. Removing every segment hides the Shift Planner from everyone, even when Show In Hub remains selected. You can clear Show In Hub temporarily without losing the configured audience.
Share a Shift Planner
The Shift Planner object uses Read/Write internal sharing and Private external sharing by default.
- On the Shift Planner record, click Sharing in the action menu or Share in the highlights panel.
- Add a user, role, or public group.
- Select Read or Read/Write.
- Click Save. Users with Flair Scheduler Manager can plan in the shared Shift Planner but cannot change its configuration.
Edit a Shift Planner
- Edit the Shift Planner record, change its name, filters, templates, or transfer rules, and save it. The changes apply the next time a user opens the planning view.
Delete a Shift Planner
Deleting a Shift Planner removes its configuration but not its shifts. You can restore the Shift Planner only from the Salesforce Recycle Bin.
- On the Shift Planner record, select the delete action, and confirm deletion.
To retain historical reporting, you can instead clear Show In Hub and add an [Archived] prefix to the name.