Skip to main content

Read Before Installing

Introduction & Overview

This guide is to be used for the implementation and configuration of the 2cloudnine 3B WFM Integration. In order to be 100% configured you must complete all mandatory steps outlined in this guide (Steps 1-6).
Important NotesThe following packages must be installed in the org before you can install the 2cloudnine 3B WFM Integration package. All current links for updated packages can be found in the configuration guide linked below:

Installing a Package

When you install a managed package you need to select if the security is going to be applied to all profiles or you need to manually select which profiles you will be applying the security to. As the package contains permission sets, we highly recommend installing it only for the System Administrator profile and then using permission sets to grant access to other users. This will only happen on the first install of the product so make sure you select correctly.

Configuration

1. Create Unique Records

The 2cloudnine 3B WFM Integration requires the creation of some unique records to be created and configured in a specific way to ensure the integration functions as intended.

Timesheet Calendars

As the 2cloudnine 3B WFM Integration is responsible for creating Timesheet and Timesheet Entries, the Timesheet Calendar is used only to control the Timesheet Frequency. The frequency of your Timesheet Calendars should match that of your pay schedules and Interpretation Rules. The following is for a Weekly timesheet. This must be completed for each Timesheet Calendar frequency you require.
  1. Go to the App launcher
  2. Search for Calendars
  3. Click New
  4. Select Timesheet
  5. Enter information as per the following screenshot.
Important - Do not select any individual dates or ‘Include Public Holidays’. These fields determine what Timesheet Entry records are automatically created when a Timesheet is generated. As the integration is responsible for creating records we do not want the system to automatically create any Timesheet Entry records. Please refer to the Create a Timesheet Calendar QRG for options related to defining a different Weekly or Fortnightly starting day of the week.

2. Salesforce Flows

To provide customers with the greatest level of flexibility, some key data points across the various objects must be set using custom automation. Whilst the criteria may differ per customer the following flows must be deployed and configured for the integration to function as intended. Important - The following flows have already been created by 2cloudnine and are available to deploy upon request. If you wish to use the 2cloudnine flows as a base in which you can edit as required, please contact your 2cloudnine consultant.
Screenshot from 2cloudnine 3B WFM Integration - Configuration and Implementation Guide

Update Shift on Edit (Mandatory)

This flow is used to update the Shift record on Edit. Its primary purpose is indicating when a shift is to be processed by the integration. The following fields are typically updated using this flow.
  • Integration Pending - Determines if the shift is to be processed from the integration batch job. Shifts where this is True will be processed.
  • Sent to Payroll - Determines if the processed Shift will create the related 2cloudnine Records. If Sent to Payroll is checked and then unchecked and the Shift processed again, only the related Timesheet Entry record is deleted.
  • AssignmentString - The default AssignmentString set by the 2cloudnine 3B WFM Integration is ‘2c9 Job Role + Contact’. This default value is set by a trigger on the creation of a Shift record only. In the event a Job Role or Contact is changed on a Shift the flow will ensure the AssignmentString is also updated.
Failure to deploy this flow will mean there is no logic to determine which Shift records are to be processed by the integration.
In the event a customer wants to use a different AssignmentString, a new flow which runs on create will be required. This flow must run on record save (not fast action) due to the order of execution.

Update Shift Break Times (Mandatory)

This flow is used to update the Shift’s break fields from the related ‘Break’ object. Unlike the 2cloudnine Timesheet Entry, breaks in 3B WFM are captured in a related object called ‘Break’ which allows for more than 2 breaks. This flow runs on the create and edit of Breaks and updates the relevant break 1 and break 2 fields on the Shift. This flow contains logic to accumulate break lengths when there are greater than 2 Shift Breaks.
As the 2cloudnine Timesheet Entry supports a maximum of 2 breaks, this flow will accumulate break lengths when there are more than 2 Breaks ensuring separation between paid and unpaid breaks.

Update Project Code on Create (Mandatory)

This flow is used to set the Record ID of Project Codes where the record type equals ‘Template Level’ OR ‘Timesheet Activity - Template Level’ into the ‘External ID’ field of the created record. When a Shift is processed that contains a Project Code and\or Timesheet Activity, the 2cloudnine 3B WFM Integration first checks if an existing Assignment Level Project Code and\or Timesheet Activity exists. It does this by matching the Shift’s Project Code and\or Timesheet Activity Record ID against the Assignment Levels Project Code and\or Timesheet Activity External ID field. Failure to deploy and activate this flow can result in duplicate Assignment level Project Code and\or Timesheet Activity records being created every time a shift is processed.

3. Page Layout Assignments and Required Fields

The 2cloudnine 3B WFM Integration contains page layouts for the Agreement, 3B Job and Shift objects. It is recommended that these page layouts are assigned to the required profiles post installation. If using the 3B WFM page layouts or a custom page layout the following fields should be added to the respective page layouts you have in use. Where a field’s user input is indicated as ‘Required’, it must contain data for the Integration to work without error. These fields MUST be included and required on the page layouts or populated using automation to ensure data always exists. Agreement Page Layout - 2cloudnine 3B Integration - Agreement 3B Job Page Layout - 2cloudnine 3B Integration - Job Role Shift Page Layout - 2cloudnine 3B Integration - Shift Assignment Timesheet Timesheet Entry Timesheet Item

4. Permission Set & Sharing Settings

Permission Set

A permission set has been added to the 2cloudnine 3B WFM Integration package which provides access to the minimum objects, fields and record types needed to process the Shift Integration. Important: This permission set contains access to only those fields included within the 2cloudnine 3B WFM Integration package. It is assumed users accessing the objects and other fields from both 3B WFM and 2cloudnine packages will have profile or permission set access as determined by the respective setup of those packages. To assign the permission set to users:
  1. Go to Setup
  2. Search for Permission Sets
  3. Select the 2cloudnine 3B Integration permission set
  4. Select the Manage Assignments button.
  5. Select the Add Assignments button.
  6. Select the user(s) you wish to assign the permission set to.
  7. Select the Assign button.

Sharing Settings

The 2cloudnine 3B WFM Integration uses only standard Salesforce objects and those contained with the 3B WFM and 2cloudnine packages. Where a private sharing model is used within an org, users accessing the package must be provided access to the following objects either via sharing settings or profile/permission set access to View/Modify All. Salesforce
  • Account
  • Contact
3B WFM Package
  • Agreement
  • 3B Job
  • Shift
2cloudnine Package
  • Assignment
  • Timesheet
  • Timesheet Entry
  • Timesheet Item (Master-Detail with Timesheet)
  • Project Code
  • Calendar
  • Rate Calculator
  • Interpretation Rule
  • Location
  • Award Classification and Level
  • Payee Allowance Record

5. Scheduled Job

Shift Integration Scheduled Job

The following scheduled job processes all Shift records where ‘Integration Pending is True in 5 minute intervals. To run the script:
  1. Copy the block of script below..
  2. Select Setup Cog > Development console
  3. Debug > Open Execute Anonymous window
  4. Delete or comment out any code that is in the window and paste in the copied script > click the execute button
The apex jobs will now be scheduled. Please confirm they are set up correctly by going to Setup > Scheduled Jobs.
You can also instantly call the apex class by following the above steps but instead pasting the following code. This will run the Shift Integration as a one off process:

Error Handling

The 2cloudnine 3B WFM Integration includes two methods of Error Handling: Email Notification The user who invokes the ‘ShiftAssignmentBatch’ apex class will receive an email notification when an error occurs within the batch job. For the scheduled batch class, this will be the user who scheduled the batch job (typically the admin account). Where the class is invoked from another process such as a screenflow, this will be the user who invoked the class. Debug Logs Where the integration fails, a Debug Header and related Debug Logs are created. A single Debug Header is created per processed Batch, with related Debug Logs for each individual failed Shift. For example, if a batch contained 30 Shifts, and within that batch 3 failed, there would be a single Debug Header record with 3 related Debug Logs for the 3 failed Shifts.

6. Additional Mandatory Configuration

Payee Record

Any Contact placed into a shift and processed for Integration must have at least 1 Payee record that meets the Payee selection criteria (Refer User Guide). The 2cloudnine 3B WFM Integration includes functionality to support the automated creation of Payee records. If this functionality is not used and where a Payee is not found based upon the Payee selection criteria, the integration will fail and a debug record will be created (see above).

Update Picklist Value Access for Record Types

The following picklist values must be added to provide access to the following record types.

7. Additional Optional Configuration

Assignment RecordType

The Assignment created by the 2cloudnine 3B WFM Integration will have a default RecordType of ‘Temp’. If a different RecordType is required, an admin can define this in the ‘3B Integration Settings’ custom setting. To set a different Assignment RecordType:
  1. Go to Setup
  2. Search for Custom Settings
  3. Locate 3B Integration Settings and select Manage .
  4. Select Edit (You will need to click New if it is the first time accessing the custom setting).
  5. Enter the Assignment RecordType ID into the field Assignment Record Type ID .

Integration Batch Sizes

The 2cloudnine 3B WFM Integration utilises 3 separate batch jobs for the creation and updating of Assignment, Timesheets and Timesheet Entries. When processing Shifts, the default batch size used by integration is 200. This can however be updated to process more or less Shifts as determined by the system administrator. To update the default batch sizes:
  1. Go to Setup
  2. Search for Custom Settings
  3. Locate 3B Integration Settings and select Manage .
  4. Select Edit (You will need to click New if it is the first time accessing the custom setting).
  5. Enter the desired batch size into the fields Batch Size Shift Assignment, Batch
Size Shift Timesheet and Batch Size Shift Timesheet Entry .
When a single record fails in a batch, all records included in the same batch will also fail. Whilst setting a higher batch size will result in faster batch processing, there is the inherent risk of more failed records. We strongly recommend when first configuring and testing the 2cloudnine 3B WFM Integration to set a batch size of 1 so that a failed record does not affect other records.

Process Shift Integration Screenflow

A screenflow that allows users to manually process the Shift Integration can be deployed to orgs and made available via a utility bar or lightning page. Please contact 2cloudnine if you would like to have this screenflow deployed.

8. Timesheet Adjustments

Important

Timesheet Adjustments is a feature within the 2cloudnine Utilities Package that can be triggered by the 2cloudnine 3B WFM Integration Package. Please note that the 2cloudnine 3B WFM Integration can be installed without Timesheet Adjustments. However, if you choose not to use Timesheet Adjustments, you will not be able to update or create new shifts on an Approved Timesheet. Any attempt to do so will result in an integration failure.

Configuring Timesheet Adjustments

Please refer to the 2c9 Utilities - Timesheet Adjustments Configuration Guide for installation and configuration instructions.

Update Timesheet for Adjustments Flow

The Update Timesheet for Adjustments flow must be deployed and Activated in order for Timesheet Adjustments to function. This flow is used to update the Timesheet fields ‘ScheduledJobProcessed’ within the 2cloudnine 3B WFM Integration package and the ‘Integration Pending’ used by the Timesheet Adjustments process.