Statistics from leading tech companies show a lack of diversity in the tech workforce. If you're familiar with our Business Value of Equality module, you know that diversity in the workforce helps everyone.
You’ve also seen the value of diversity by volunteering at an organization called League of Extraordinary Coders, a nonprofit organization that provides affordable and inclusive coding classes for people of diverse backgrounds. Here's how things work at League of Extraordinary Coders.
- The organization has over 50 chapters across the US.
- Each chapter has exactly one chapter leader, who's responsible for managing classes, instructors, and teaching assistants.
- Each class session has exactly one instructor but can have multiple teaching assistants.
As you can probably imagine, organizing all the classes the League offers is a lot of work. Multiply that by several class sessions per month per chapter, and then multiply that by 50 chapters, and you've got a whole bunch of overhead! Here are just a few of the many tasks that a chapter leader is expected to perform.
When a class has been scheduled:
- Create a campaign record for the new class in Salesforce. Make sure it's associated with the right chapter.
- Post on Chatter asking who's available to instruct or assist in the class.
- Add the chapter's teaching assistants (contacts) as campaign members for the new class.
When a class has been completed, thank the instructor on their Chatter profile for volunteering their time.
Just imagine the time and resources your organization could save if a human didn't have to perform all those tasks for every class session. Well, you don't have to imagine it! You can do it.
In this project, you’ll automate those tasks using three tools:
- Process Builder to create a record every time you’re offering a new dev class
- Flow Builder to recruit teaching assistants via Chatter for each dev class
- Invocable methods in Apex to thank each Instructor by posting a badge on their Chatter profile
Then you'll combine these individual automations in Process Builder.
Before you start building your automation, you need to set up your org for the workshop management system use case.
The events and roles we've been discussing so far (chapters, classes, sessions, instructors, teaching assistants) don't line up exactly with the standard objects available in Salesforce (Account, Contact, Lead, Campaign, and so on), but we can still use those standard objects and their records for our use case. Here’s how it all translates.
Every class session (campaign) is associated with one chapter (account) and one instructor (user). Each class session can be associated with multiple teaching assistants (contacts) and likewise, each teaching assistant (contact) can be associated with multiple class sessions (campaigns). When a teaching assistant (contact) is associated with a campaign, they’re a campaign member.
- Open up your trusty Trailhead Playground or Developer Edition org.
- Customize the Campaign object, which you’ll use to represent class sessions.
- Add a lookup field named "Chapter", which looks up an account.
- Add a lookup field named "Instructor", which looks up a user.
- Add a value to the Type picklist: 'Dev Class'.
- Create sample data.
- Create at least one account to represent a chapter. You can name it whatever you want, but make sure it includes the word "Chapter". Need a suggestion? Try "NYC Chapter".
- Create at least two contacts to represent teaching assistants. Make sure to associate them with the chapter you created by using the Account lookup field.
- Create a user named Mary Jones to represent an instructor. Make sure that Mary has a Salesforce license and the Standard User profile.
- Create a Chatter group called "Instructors & Teaching Assistants", where the Group Access is Public.
- Enable Thanks badges in the global publisher.
- From Setup, enter WDC in the Quick Find box, and select WDC Settings.
- Enable Turn on Thanks action on the Global Publisher layout.