VMS Prerequisites
To ensure the Vendor Management System (VMS) operates effectively, administrators must complete the following setup as a minimum requirement. This foundational configuration establishes the connections between clients and vendors, ensuring proper access and functionality. This article does not contain info about the New Authorization Mechanism, which is also needed for VMS to run smoothly.
1. Vendor Setup
- Create a Vendor Account: This represents the staffing agency participating in the VMS workflow.
- Create a Vendor Contact: A primary contact person for the Vendor Account.
- Create a Vendor User: A Salesforce user associated with the Vendor Contact to access the VMS. Ensure the user has:
- Customer Community License assigned.
- Proper profile and permission set configured (The profile should have access to all apex classes related to 3B Products, as well as to Visualforce pages, Custom Metadata Types and as a minimum to the following Custom Permissions: 3B VMS.b3v.CanAcceptRejectBookings and 3B VMS.b3v.CanCancelSentBroadcasts.
- At this point we should also check that the profile has sufficient access to any objects and fields we will need to access/modify through the Digital Experience Sites (e.g. Booking Request fields, Proposed Worker fields etc).
2. Client Setup
- Create a Client Account: This represents the company or entity requesting staffing.
- Create a Client Contact: A primary contact person for the Client Account.
- Create a Client User: A Salesforce user associated with the Client Contact to access the VMS. Ensure the user has:
- Customer Community License assigned.
- Proper profile and permission set configured (The profile should have access to all apex classes related to 3B Products, as well as to Visualforce pages, Custom Metadata Types and as a minimum to the following Custom Permissions: 3B VMS.b3v.CanCreateBookingRequests, 3B VMS.b3v.CanSelectVendorsToBroadcast (especially if we are interested in the "Automated" Workflow) and 3B VMS.b3v.CanSendBroadcasts (especially if we are interested in the "Automated" Workflow).
- At this point we should also check that the profile has sufficient access to any objects and fields we will need to access/modify through the Digital Experience Sites (e.g. Booking Request fields, Proposed Worker fields etc).
Note: If we need to support both an Automated and a Manual workflow depending on the Client, it is mandatory we create a Custom Picklist Field on the Account Object called "VMS Workflow" (VMS_Workflow__c), having 2 options ("Automated" and "Manual"). This will enable us to select the correct workflow for each client account and differentiate the use cases when implementing the flows needed for the VMS to work. If we only want to support one of the two, we can ommit this and only implement the flows with the relevant use case in mind (which of course also drastically reduces the complexity of the flows).
3. Site Configuration
- Create a 3B Site: The site must be linked to the Client Account to define the location and context of the staffing needs.
4. Sharing Group Setup
- Establish a Sharing Group: Sharing Groups control access between Clients and Vendors.
- Add relevant Sharing Group Memberships to link the Client Account and Vendor Account.
5. SVP Settings
The SVP Settings are crucial for managing system behaviors and workflows within the VMS and can be found on the org's Custom Settings. Ensure the following are configured:
- Internal Booking Notification Filter:
- Define the SOQL filter to control which booking requests trigger notifications.
- Example:
"Status__c = 'Submitted' AND Cancelled__c = false"
.
- Invitation Expiry Buffer:
- Set the buffer time (in days) before an invitation expires.
- Default:
5 days
.
- New Contact Record Type (RT):
- Assign the record type used for creating new contacts (e.g.,
Candidate
).
- Assign the record type used for creating new contacts (e.g.,
- Sub Vendor Account Record Type:
- Define the record type for sub-vendor accounts (e.g.,
Vendor
).
- Define the record type for sub-vendor accounts (e.g.,