Create new Lightning app "Talent Stacker" + branding (color, icon, standard tabs such as Leads, Contacts, Accounts, Opportunities) using Lightning Experience App Manager.
Set the default order of apps for new users: "Talent Stacker", "Sales" … using App Menu.
Setup four new roles Program Manager, Study Group Manager, Volunteer Project Manager, Member Review Manager. All of these roles report to CEO.
Use five profiles: System Administrator, Program Manager, Study Group Manager, Volunteer Project Manager, Member Review Manager, and customize them later when the whole data model is implemented. Choose these user profiles to access the Talent Stacker lightning app.
Setup the "New Lead Queue" for All Internal Users and Lead Assignment Rules (Source = Web).
Create web-to-lead form to capture contact information from users and automatically generate new Lead records in the Org.
Customize the lead Page Layout. Create new List view for lead records filtered by New Lead Queue owner.
Create a "Business Account" record type for the account object to use for representing any Organization. Enable Person Accounts and use them to represent Members of the Talent Stacker Salesforce Professional Development Program. Assign the "Person Account" record type to all five profiles (see step #4).
Use the lead settings to specify default lead behavior, need only process to convert lead to Personal Account using Convert Lead Window.
Customize the Account record Layout for Person Account Record Type. Create new List view for account records filtered by Person Account Record type.
Create several products, at least "Membership", "LinkedIn Review" and "Mock Interview" and Price book.
Create custom object Member, set up Stage Path for monitoring member's progress; make stages from Orientation to Landing Job.
Create Flow and assign it to the action "New Member" on the Person Account record page, that will convert all information from account to the new member record: new member name will concatenate from First and Last names; and system will check if member's Sign Up Email is unique.
Create another simple flow to concatenate new name if first name or last name are changed.
Create lightning record page layout for custom member object, make it dynamic, and set visibility for each section on a lightning page.
Build the simple flow "Change Owner AtRisk" which will change owner for the member record if one of the managers mark member as "At Risk", then validation rule "At_Risk_Reason_Required", and then validation rule "Can_You_Uncheck_AtRisk", cause only one person in the org can uncheck "At Rick."
Create a picklist of salesforce certificates; better to use global picklists than text fields.
Create a custom object Study Group, create a lightning record page, and customize compact and search layouts and lists view. Next, set up a path for the study group object with stages - Not Started, In Progress, Canceled, and Completed.
Create junction object Study Group Members between member and study group records, relationship many-to-many, master-detailed both relationships. Customize lightning record page; compact layout; search layout; lists view.
Setup validation rule to check if members can participate in any study group: they need to finish the orientation process.
Build flow for the Study Group object to change related records of Study Group Members if the studying process stage changes to "Canceled" or "Complete." If the stage will "Complete," then all Study Group Member records participating in the Study Group will change their status to Completed. If the stage is "Canceled," then the status change to "Not Completed", and the field Notes (reason of cancellation) keeps information on who and why canceled the group.
Build flow on the Study Group Member record to change related Member records when the status changes to Completed. Flow updates member record: set up the today day into "Date Completed Study Group," check "Member Complete Study Group," and change member Stage to "Certification."
Custom object Salesforce Certificate will keep information about certificates and exams that members passed. For other achievements (exams and certificates not from Salesforce), use custom object Additional Achievement.
Create a custom label SalesforceURL and put the Salesforce environment’s URL as the value, need it for the record link in the verification email. Then build flow that email to the member-owner to ask for verification after the salesforce certificate is created "Send email to Verify Salesforce Certificate."
Build the flow that check what kind of certificate is verifying now, and if needed the member record will be updated: "Verification Salesforce Certificates."
Custom object Additional Achievement keeps all information about other achievements of members. Additional Achievements must also be verified, like the Salesforce Certificates custom object. That is why we need to create two flows: "Send email to Verify Additional Achievement" - send email to the member-owner when a new record is created; and "Verification Additional Achievements" - control process of verification, populate "Verified by Manager," and send a congratulatory email to the member.
Create the validation rule "Does_Member_Ready_For_Volunteer_Project," according to the requirements, members cannot participate in any Volunteer project until certified. In flow's conditions: if the member record will change Stage and it is "Volunteer project," then check if the member got the certificate.
Create a custom object, "Volunteer Project," and a custom junction object "Project Evaluation," between the "Volunteer Project" and the "Member" objects; because of the many-to-many relationship. Then, set up the lookup filter for the "Organization" field: "Account Record Type is Equal Business Account."
Build the flow "Modify Volunteer Project Members" to control the changing of the "Stage" field: "In Progress" - send email to all project members that the project started; "Canceled" - change all member's status to "Not completed" and keep the reason why it was canceled; "Completed" - change all member's status to Completed, and send email to members, and create a task for the project manager to leave feedback for members participated in the project.
Create validation rules: "Notes_Required_When_NotCompleted" to control if "Notes" is filled out when a member did not complete the Volunteer Project; and "The_member_has_not_been_certified" to check if the member was certified before to participate in the volunteer project!
For the Project Evaluation records: build the flow that will create the title using Member Name and Project number; also create the flow "Complete Member Evaluation Status" to change the Stage for member's records to the next one - "Job Searching."
to be continued ...
Briefly about the project
During the Volunteer Project, were
customized two (2) standard objects (record type, record pages, and lists view);
created seven (7) custom objects (including two (2) junction objects);