Search Results
96 results found with an empty search
- I’ve Got Admin Permissions–Now What? (Part 1)
It seems far less common to be a trained system administrator than to be handed the keys and told to “take ‘er for a spin,” particularly when we’re talking about systems that are built to be user friendly. And this is doubly true in the nonprofit world, from what I’ve seen. Someone has to be the Google Suite admin, setting up new employees with their email addresses or resetting passwords when the bosses drop their iPhone on concrete. That’s easy enough to learn on the job. Someone has to work with the consultant to build a new Salesforce implementation or to be the liaison on the managed services contract. And isn't easier to just have that person create new users rather than have to always bug the outside contractor? Salesforce is designed to be low-code and easy to customize, so it’s totally possible to pick it up on your own. And when it’s possible to hand it to someone without training, it’s gonna happen. And that’s OK with me. I love “accidental admins.” I’m an accidental admin myself. But once you’ve been handed those admin duties on Salesforce, what are you going to do about it? How do you learn to do what your colleagues are asking of you? And how might you learn to do even more, to go the extra mile and really give your colleagues what they need instead of just what they know how to ask for? This is going to be the first in a series of posts about deepening your Salesforce learning and skills and growing your involvement in the Salesforce community. Not that I’m suggesting you have to make Salesforce your main focus or your new career. (Though we’ll welcome you with open arms if you so choose!). But let’s make whatever portion of your time you spend thinking about Salesforce more productive and professionally rewarding. Step One–and I’m going to assume you’ve heard this before–is to spend some time on Trailhead. It seems hard for me to imagine you’ve found this blog without having heard of Trailhead, but I suppose it’s possible. And even if you’ve heard of it, you might not have really spent time there. Trailhead is the free and fun way to learn Salesforce. And I really mean it–it’s fun! Trailhead should have been the first place you were directed as a user to learn how to navigate within Salesforce and work within the system. When I train new clients I always give them Trailhead modules to complete as a way of extending the live training we do together. But now that you’ve got admin rights, Trailhead is also a great place to learn about your new powers (and the responsibilities that come with them.) You can do some book learnin’ where you read or watch videos and take a quick quiz to reinforce the knowledge. But don’t shy away from the hands-on challenges. It’s really fun to spin up your own Trailhead Playgroun (a complete working Salesforce instance connected to your Trailhead account) and build things, try things, and experiment. (I mean, it’s my idea of fun. You may not be such a nerd.) Maybe you can start small with the Manage Users module if you’ve just been tasked with creating an account for your new colleague. But that’s just a quick bite to learn how to do one thing. You really should get a little more familiar with the back-end of Salesforce, what I like to refer to as “behind the gear,” or the Setup menu you access by clicking on the gear at the top of the page. So if you want to extend your learning beyond the user side, it’s time to jump into the Admin Beginner trail and/or the Administer Nonprofit Success Pack or Education Data Architecture trails. I’m not going to keep listing modules and trails–Trailhead has a very capable search engine, not to mention a powerful recommendation engine. You can direct your own learning. My point is just to encourage you to jump into Trailhead. That’s all. A very simple Step One. Next time: Dipping a Toe in the Salesforce Community Final installment: Getting Certified
- My Favorite Way to Track Board Members
A blessing and a curse of Salesforce is that you can solve most problems more than one way. How to track members of your organization’s board (and other committees or groups) is no different. People have all sorts of opinions. I’m going to lay out what I tend to do and suggest, but let’s be clear: this is only one option! Overview I’m going to leverage the Nonprofit Success Pack’s existing method for associating individuals (contacts) to organizations (accounts), which is called Affiliations. Unlike in the standard Salesforce business-to-business data model, where a contact is placed directly onto the account of the company they work for, in the NPSP contacts are directly on their household account, with one or more affiliation records to indicate connections to companies and organizations. (Usually the Primary Affiliation would be where someone works, but this is not a hard and fast rule.) A Board Account The first thing we do is create an account record for the board of our organization. (Of course, the board is not actually an organization in its own right, but we’re choosing to use an account record because it’s useful.) Affiliations to the Board Account Now that we have an account for the board of directors, we can make affiliations to connect people to the board. The reason I like to use NPSP’s affiliations functionality is that you immediately have a Start Date and End Date, a Role (for President, Treasurer, Board Member, etc), and the concept of Current vs. Former. That’s pretty much everything you’re going to need! If you’re familiar with using the Primary Affiliation field to track where someone works, let me note that most of the time for board members this record is going to be a “secondary” affiliation. We’ll still capture where they work in the primary affiliation, but we can add their association to the board as another affiliation at the same time. Beautiful Flags 🏳️🌈 Let’s have some fun now! When you’re on a contact page for a board member, you want to know right away that this is an important constituent, right? So let’s put a nice little flag on the record page to remind us. Something like this: Making this flag appear takes just three steps: 1. First we make two fields on contact that are not going to be on the page layout, one for Current Board Affiliations, and one for Former Board Affiliations. These are going to be rollup summary fields that simply count the number of affiliations to the board of directors account that are Status = "Current" (or "Former.") (* See footnote at the bottom of this post.) 2. Then we make a formula field that determines Board Member Status based on those two rollup fields. It’s a pretty simple formula that returns text: IF( Board_Current__c > 0, "Current Board Member", IF(Board_Former__c > 0 && Board_Current__c = 0, "Former Board Member", IF(Board_Former__c = 0 && Board_Current__c = 0, "", ""))) Basically, if there is a current affiliation to the board it returns “Current Board Member.” If there is no current but there is a former affiliation to the board, it returns “Former Board Member.” And it defaults to blank. I usually leave this field off of contact page layouts because we’re going to show the pretty flag instead. But the field is available in reporting on the contact object, so it can be useful for people to see the field directly in that kind of context. 3. Edit the contact Lightning record page. Add two components that are conditionally displayed based on the value in the Board Member Status field–one each for Current and Former. The Flag Itself You have a choice: You could simply use a Rich Text component to make your board member flag. This is the simplest option because it uses a standard page component that’s available right out of the box. Throw in some emoji to make it visual and it certainly does the job. But if you want your banner to look a little more like it belongs alongside the other parts of the page, I recommend installing the Lightning Messaging Utility from Salesforce Labs. This is a free page component that uses the Salesforce Lightning Design System, just like the other parts of the page layout. Personally, I think it looks more polished than the rich text version. Et voila! If you give someone an affiliation to the board, the flag appears, make them former and a different flag shows up, remove all board service and there’s no flag at all. Why I like the Affiliation Method Using this method you’ll have a complete record of historical board service. If someone changes roles on the board (like being elected treasurer), you can make a new affiliation indicating when the new role started. You can even preemptively use the End Date field to indicate when a board or position term will end. (Though putting in that end don’t won’t automatically change the status to Former, so you’ll still need to keep your data clean.) There is one minor downside to this method: It’s not that easy to quickly see who was on the board at any given moment in time (other than Now). You have the complete data, based on start and end dates, but you have to compare each affiliation record to understand which members would have been on the board at the moment you’re interested in. Why not a campaign? Instead of the affiliations-based method, some organizations create a campaign for the board and give campaign memberships to that campaign. This has its benefits, but you don’t have the same easy way to see start date, end date, and role. (Plus to track status you have to have the right Campaign Member Status options.) Some organizations create a campaign for each year, which helps with the history. Personally, I think the affiliation method is easier than the campaign method. But using the affiliation method it is probably also helpful to create a campaign each year for the board members. Setting up that campaign takes just a moment. (Run a report of current board members and then use the Add to Campaign button.) Once you have that campaign, you can use it for communication purposes (sending list emails). And if you create the campaigns each year, you'll have solved the minor downside of quickly seeing "who was on the board in FY20." Things Not To Do Should we address probably the most common way organizations track board members–having a checkbox on Contact? DON’T DO IT! It’s simple, of course, but the downsides are almost too numerous to list. Let's start with this: If the box isn't checked, does that mean they aren't on the board or does it mean nobody remembered to check it...? Next in line is a picklist for "Board Status." If someone regularly keeps this up to date, that's a start. But it's really no easier than the Affiliations method (or the Campaigns method) and the picklist has no way to capture start and end date, etc. * Footnote: If you make your fields using a standard Salesforce rollup summary field you will have to hard code the account Id of the record that is your board of directors account as one of your filters. This will work, but if you make a sandbox that Id won't exist and, therefore, your rollups will always be at zero. I prefer to make my rollups for this using the Declarative Lookup Rollup Summary tool, also known as DLRS. (I'll be writing more about DLRS in future blog posts.) The benefit to making these fields with a DLRS rollup is that you can put the actual Account Name as part of your rollup filter. Then if you spin up a sandbox and put an account for your board in that sandbox (with the same name as the account in production), your rollups and the resulting flags will immediately work.
- When is a dashboard not a dashboard?
Last week I wrote “When is a report not a report?” I was talking about all the different ways you could use a Salesforce report. Despite a very similar title, today I want to talk about definitions of “dashboard.” It’s hard to understand each other if we use different definitions for the same word! So let’s make sure we understand dashboard. For me, deep in Salesforce every day, when I hear “dashboard,” I’m immediately thinking of something like this: or this: But if you’re new to Salesforce, or even more if you’re not even using Salesforce yet and are describing what you need out of a system, you’re probably using the word “dashboard” entirely differently. For example, clients regularly ask for “a student dashboard where I can see how they’re doing in school and in our program, who their parents are, etc.” That is a request to see, in a convenient single place, how a single student is doing. When I build that in Salesforce, it’s going to look something like this: "Wait," you might be thinking, "that’s a Salesforce screenshot, but it’s not a 'dashboard,' it’s a 'contact record page.'" 💡 Lightbulb moment! “Record page” = “Dashboard” And this makes sense if you think about the automotive metaphor that “dashboard” comes from. The car’s dashboard is where you glance to immediately understand what is the status of your car: speedometer, odometer, fuel level (or charge level in an EV), any maintenance warnings, etc. So I’m totally on board with clients that like to think of having a “student dashboard” in that way. It’s just that we already use the word “dashboard” for something else in Salesforce. So it might confuse me at first. In Salesforce, dashboards are graphical representations of a series of underlying reports. Therefore, Salesforce dashboards are for looking at aggregate data. [One more quick definition: A report looks at many records in your database, usually filtered, grouped, and sorted. Of course, if you have sorted and/or filtered, you can make a chart. It's charts that go on dashboards.] If you’re talking about data for only one person (or program, or organization, or donation, or…), then in Salesforce terms you’re talking about “a record page.” Can you decide to call your student record page the “student dashboard?” Of course you can. It just might take me (or other Salesforce professionals) a moment to realize what you're talking about.
- When is a report not a report?
Hint: When it’s a To Do List. Or a checklist. Or a Hall of Fame. (Or Shame.) Salesforce reports are for more than just “reporting,” they’re the building blocks for running your organization. Once you start thinking outside the narrow confines of just "reporting" on your data, you'll find that you can do amazing things. Make a report with the following filters: All Contacts Gifts Last Year greater than $1,000 Gifts This Year equals $0 Add columns showing First Name, Last Name, phone number. You’ve just created a Call List for your development department. These are the major donors that haven’t given yet this year. Time to start dialing for dollars. Report on students with no college application record: Contacts of type “student” Current Grade equals 12 Cross filter: Contacts without (custom object) College Applications Where Status = Applied All you need are columns for first name and last name. If you’re looking at this report in September, it probably doesn’t mean much. But anyone on this report in December is behind the curve! This is a To Do List for the program staff to get in gear. Depending on how you're arranging your data, you might switch Status=Applied to Status=Interested on that cross filter. If you've got students that haven't expressed interest in any schools by November, they're the ones you need to be working with pronto! Report on students with (custom object) College Applications: All students that have an associated College Application School Year of the application equals This Year Status equals Accepted Add columns for student name, and college name. Group by student. This is a Celebrate List! (And a list of kids to start advising on how to make their final enrollment choice.) Report on opportunities: Stage equals Closed Won Amount greater than $1,000 Close Date equals Last Year Add columns for account name, opportunity owner (major gift officer). Group by opportunity owner. Subtotal the amounts and sort in descending order. You now have a Hall of Fame showing your top fundraisers for last year. Or make a report with these filters: Contacts of type Student Emergency Contact is null Add columns for First Name, Last Name, Primary Parent/Guardian name and contact info. You’ve just made a To Do List for the program team: students whose parents need a call. You don’t want those kids heading out on next week’s field trip without up-to-date emergency contact information! (Of course, you’ll probably want to validate the data for those whose emergency contact is not null. I’ve seen plenty whose name is “n/a” over the years. Not to mention the ones whose emergency contact name is the same as their primary parent’s name… But I digress.) Or a report with these filters: All Sessions Session Date less than This Week Attendance Percentage equals zero Add a column for teacher name. Sadly, this is the Hall of Shame. This is a list of teachers that have not entered last week’s attendance into the system. Report on: Time Cards Work Date equals Last Month Approved for Payment equals null Show columns for Time Card Name, Hours Worked, Activity Conducted, Total Payment. This is your Payroll Approval Checklist. Look at each of those line items and either approve or deny them so you can send out paychecks. Wow! Reports are for a lot more than just looking at data! Make sure you give those reports appropriate titles, put them front and center, such as on dashboards or the home page, and train your colleagues to keep an eye on them. I would argue they should even get some prominent placement on your documentation wiki, complete with links.
- [Hard or Soft] Credit Where Credit is Due, part 1
I like giving people credit. Not extending them credit, like a loan. Not tracking their progress toward graduation, like course credit. I’m talking about giving people credit for donations. You want to know who your donors are and how much they’ve given, right? Well if you’re a nerd like me you also want to know how much they gave compared to how much they “got.” At the very most basic level there are two kinds of donations someone could get “credit” for: money they gave or money they influenced. In development lingo, those are “give or get” or “hard credit” and “soft credit.” Before I delve any deeper, let me start with a caveat: not all organizations think about hard and soft credit the same way. And there are lots of organizations that just don’t really get into soft credit at all. But for those that do, it’s pretty important to understand the nuances. If your organization decides you’re not going to put a lot of time or effort into the distinctions, that’s OK, but you should know they exist so you can communicate clearly with other organizations. Since this is a Salesforce-focused blog, we’re also going to delve into how to think about hard and soft credit in your system of record. But that’s going to be mostly saved for the next post. A Simple Rubric I have a simple rubric for you to use: “Whose check was it?” Hard Credit refers to funds that come directly from the individual or organization in question. If the answer is “It was Shoshanna’s check,” then that’s hard credit to Shoshanna. If we are going to be strict in our tracking, then hard credit is only given to the legal entity that gave away their own money. If we think in terms of the United States tax system, it’s the entity that will be able to claim the donation as a deduction if they itemize on their tax return. If your tax system is different, you might not need to worry about who will claim the deduction, but I think you probably still want to know when someone was giving you their own money versus someone else’s. An example of hard credit: Oliver “Daddy” Warbucks gives $500 to the Hudson Street Orphanage. Soft Credit, on the other hand, recognizes influence over the funds. What makes it “soft” is that it’s credit for a donation that a contact did not actually make, but somehow influenced. The other “soft” part of soft credit is that your organization could give soft credit to multiple people for the same gift. The classic soft credit example is a matching gift from a donor’s employer. Let’s say The War Profiteering Company (WPC) has a 2:1 match policy. So after a simple application process, Warbucks’ gift from above is matched with a $1000 contribution from WPC. That gift is soft credit to Oliver because he influenced it but didn’t give it. It’s clear that the money came from the company’s coffers. That example is fairly straightforward because the matching gift is only soft-credited to Oliver Warbucks. If he hadn’t given his own gift, there would be no match. Next, Warbucks calls up his close friend Mr. Munitions and asks him to please donate to Hudson Street Orphanage because of the wonderful singing lessons they provide in addition to food and shelter. Mr. Munitions is rather cheap and he doesn’t say yes at first. But when he is also asked to give to the Hudson Street Orphanage by Goody Twoshoes, Mr. Munitions sends a $150 gift. Now we give hard credit to Mr. Munitions and soft credit (as “influencer” or “solicitor”) to both Oliver Warbucks and Goody Twoshoes. Notice that a single $150 gift has just resulted in two solicitors getting credit. There is now a total of $300 in soft credit awarded. That’s where things get “soft.” For those keeping score, Oliver Warbucks now has $500 in hard credit and $1,150 in soft credit. If asked, you might say that Mr. Warbucks has “raised $1,650 this year.” “Raised,” in this context, would mean “give or get.” Meanwhile, Goody Twoshoes has also raised $150 even though she hasn’t actually given a donation. (And note that only $1,650 has been deposited in the bank account of Hudson Street Orphanage.) Confusing Case: Donor Advised Funds Donor Advised Funds (or DAFs) are increasingly common donors to nonprofit organizations in the United States. DAFs exist in the US primarily to manage tax implications. If you can donate an asset directly to a charity without selling that investment for cash first, then you won’t pay taxes on the amount that asset appreciated from when you first bought it. The most common investment to donate this way, of course, would be stocks, though the same would apply for any asset from a house to your grandmother’s diamond engagement ring. Unfortunately, donating assets to an organization is a pain in the neck, both for the donor and the organization. Most charities just don’t have systems in place to receive a donated stock, let alone a property! And if you wanted to split the value of an asset between more than one organization, how would that even work? DAFs ease the burden by allowing you to donate the appreciated asset to the DAF, which is set up to be able to accept such donations. The DAF sells the asset for cash and then you, as the advisor, can direct where the DAF will send the money it has on hand. My wife and I have a DAF called the Tree Brother Fund that is managed by the Philadelphia Foundation. We set it up because we made some lucky investments in our 20’s. (Thank you, Apple Computer!) If we were to sell those stocks we would have to pay capital gains taxes, leaving less money for us to give to charity. Instead, we donate the stock to the Tree Brother Fund directly. Since we never sold it, we have no capital gains. That’s a great tax bonus! The other bonus is that the Philadelphia Foundation is used to accepting stock donations, so it’s quite easy. Not all charities are set up to accept donations other than money. One of my prior employers was notified that a donor wanted to give us appreciated stock. We had to open a brokerage account to receive the stock, give all the account details to the broker for the donor to facilitate the transfer, then sell the stocks immediately upon receipt, and then properly account for the transactions. I’m not really sure that the value of the donation was worthwhile once you factored in the time and effort we had to spend receiving it. Getting back to the discussion of hard credit and soft credit: When I donate an asset to my donor advised fund, that is the moment I get a tax deduction. I have donated to the DAF. (From the perspective of the DAF, my donation would be hard credit.) But the donation to the DAF is not the perspective I’m usually working from, and I expect it’s not your perspective. Once the DAF has money in its account, it sends grants to nonprofits like the Hudson Street Orphanage. That’s the perspective we’re interested in. When the money arrives at Hudson Street, all we have to ask is “Whose check was it?” And the answer is clear: the DAF’s. Therefore, the DAF gets hard credit and whoever directed the DAF to make that grant gets soft credit. Back to the fictional world: Goody Twoshoes donates 10 shares of WarCo stock to her donor advised fund, the Shoe Fits Fund. She then directs the fund to grant $125 to Hudson Street Orphanage. HSO records a $125 donation from Shoe Fits and gives soft credit to Goody. Let’s update the talley sheet: Oliver Warbucks: $500 gift (hard credit), $1,150 in soft credit. War Profiteering Co: $1,000 match gift on behalf of Daddy Warbucks Shoe Fits Fund: $125 gift on behalf of Goody Twoshoes Goody Twoshoes: $275 in soft credit Mr. Munitions: $150 gift (hard credit) $1,775 has been deposited in the bank account of Hudson Street Orphanage. (4 gifts) I strongly argue that this is the “right” way to think about things. But as you're probably starting to realize, it takes a lot of data to describe all those nuances. Next week we’re going to talk about how you actually record things in Salesforce.
- Backup and Restore
Let’s just acknowledge right now: Backup and Restore is like life insurance. You should pay for it and hope you never get more from it than peace of mind. Here’s the good news: Salesforce is extremely robust. I don’t know of any instances of data being lost because of a problem at the server or data center level. Plus there is a free weekly export service that you should enable to download a backup of all your data to store somewhere within your control. You can set this up right away while you think about what to do longer term. No–really! Stop reading this blog, follow the steps in that link to set it up, then come back to read the rest of this post. I’ll wait… The bad news: If you actually needed to restore your data from that weekly backup it would be an incredibly painful process. I. Mean. Miserable. There’s no convenient way to compare what records changed between your current state and the backup. Re-importing records with their relationships intact is also no mean feat. Plus the export service backups are only weekly and they require someone (probably you, if you're reading this blog) to actually download and archive them in the first place. Can you fully count on someone always doing that? So, this is a last resort kind of option. Better to have a copy of the state of the data last week than nothing at all, sure, but not much better… And now let me give you the really bad news: The main cause of data loss (or corruption) is people. People make mistakes. People sometimes even do nefarious things. And I’m guessing that your organization is full of people. You, dear reader, are probably also a person. I–Let me be clear!–am a person. I make mistakes. People make mistakes. 🙁 I’m guessing that your organization is full of people. Backup and restore services continually monitor your system and automate recovery from problems. That allows you to recover from mistakes, problems, and bad behavior. You know you need this for your personal computer. If you've ever had a problem with your phone (or just transferred to a new one), you know you need backup for your phone. There are a couple of options in the backup and restore space for Salesforce and none of them are cheap. Also: Nobody has entirely transparent pricing. I recall quotes starting at least $3,000/year and it’s been a little while since I last priced things out. The main services that I’ve priced in the past are: Spanning – This one I’ve actually gotten to use because my former employer went with Spanning and one of my current clients also has it. It works well to run a comparison of what's changed recently and then tag records to be restored. I haven’t used more than relatively simple restore functionality. (And thank goodness for that!) The last time I actually went through the (not so fun) process of getting quotes, Spanning came up significantly cheaper than OwnBackup. I believe it to be around $40/user/year at nonprofit pricing. OwnBackup – If you only looked at marketing and who attends and sponsors Salesforce events, you could be forgiven for thinking OwnBackup was the only vendor in the backup space. They’re the vendor everyone has heard of and from what I can tell have a very solid product. In recent years I’ve seen them place marketing emphasis on the data monitoring that’s part of their product. So they not only can restore, but they can alert you when a lot of records have changed in a way that might indicate you need a restore. I’ve never actually been a true user of OwnBackup because they’ve been a lot more expensive than Spanning. [Also, they’re rather “salesy,” which always annoys me, personally.] But that doesn’t mean you shouldn’t consider them. Like I said, OwnBackup seems to be the main product to beat. But the last time I priced it, I believe the minimum contract was $6,000 for a nonprofit. Gearset – I recently learned that Gearset offers a backup solution, though I haven’t had a chance to try it. It’s an add-on to their Continuous Integration platform, so technically you’re paying for more than just backup and restore, though I think it's still competitive, pricewise. Gearset has a relatively transparent pricing structure, so you can see what their (list) price would be. It looks like even if you were just in it for the backup it’s cheaper than OwnBackup and may be competitive with Spanning. According to the first FAQ question on this page, data backup is $3,000/year for up to 100 users (in addition to a Gearset license.) A backup service is paying for peace of mind. 😌 One other thing that backup and restore services can do is insert data into a sandbox to use for testing and training. (This is referred to as “sandbox seeding.”) That’s potentially very useful. But when I’ve looked into it in the past, from Spanning and OwnBackup, it was an add-on cost that I wasn’t going to be convincing an employer/client to pay. (Sandbox seeding might actually be free with Gearset–I can’t quite tell from the website.) This definitely falls into the “nice to have” category. But when you find yourself spinning up a fresh sandbox to do training or testing, it could be a huge time saver. I use some developer-focused tools to do sandbox data seeding at times, but they’re not very convenient, to say the least. I highly recommend that you go get yourself some quotes. And I know that for most organizations, this could be your single largest Salesforce-related line item cost by a wide margin. I'm sorry to be the bearer of that news. Fundamentally a backup service is paying for peace of mind. You plan to never use the actual tool. But it’s still worth every penny. #Backup #Data #Sandbox
- Why I Love the 50/50 Split
OK, I’m about to take a pretty big turn from the content and tone of this blog so far. I’ve had almost two months of weekly posts and they’ve all been focused on Salesforce in general and the nonprofit context. I’d say my imagined reader was just as likely to be a Salesforce admin as a nonprofit executive considering the platform and how to get value from it. But today is the first post where I start getting into the weeds. It was always my intent for this blog to be a hybrid resource, one that is useful for users and executives but also has tips and tricks for Salesforce admins. Today I’m talkin’ to the admins. (Of course, if you’re reading this and you’re not an admin, stick around. You might find some ideas you want to ask your admin to implement…) Don’t Settle for Default I want to talk about page layouts. I want to start talking about making your Salesforce instance fun, and functional, and helpful to your colleagues doing their jobs. I want to ask if you’ve still got the default page template for most of your Lightning record pages? Please tell me you don’t. [Quick aside for definitions: A “page layout” is the layout of fields for a Salesforce object. This is controlled in Setup>Object Manager>[object]>Page Layouts. It’s where you add or remove fields from the page and has a very “classic” look to it. A “Lightning Record Page” is the tool that allows you to add components like tabs, single or multiple related lists, even Rich Text components. The Details component on a Lightning Record Page shows the fields that you control with the Page Layout. As an admin, the easiest way to get to editing Lightning Record Pages is to click the gear and choose “Edit Page.” Besides the formal “Lightning Record Page,” I will also call these “LEX Page” or “Lightning Page.”] Here’s what I mean: The default Lightning record page in a new Salesforce org or on any new object uses a template that puts a tab component on the left with tabs including Details and Related. On the right is the Activity Feed and Chatter (if enabled for that object.) I refer to this as the two thirds/one third split because–that’s right!–the left-hand side is 2/3 of the page and…well I think you get it… Salesforce actually calls this template “Header, Subheader, and Right Sidebar.” But that’s an awful mouthful. The problem with this default page, in my humble opinion, is that it doesn’t use space efficiently. The Details component rarely needs to use two thirds of your screen width. (Most fields are going to show just a handful of characters.) For some simple objects that have just a handful of fields it’s actually harder to read with so much whitespace. And the real horror of the two thirds/one third is what happens when you start to get creative with your Lightning page. Let’s say you put a single related list component in that right-hand column. This is a pretty common way to highlight some information that is useful for your users. Here I’ve added the Opportunities related list and it’s got a couple of donations showing. If you ask me, it’s really hard to glean information about those donations when they show up as “tiles” like this. But when the component is only on one third of the screen, it only displays as tiles. And you only see a max of three. If you click on View All at the bottom, you’ll see you’ll see more fields, plus they’re laid out in columns so you can easily compare the items in the list. (Now I start to wonder if this donor is losing interest, because I can immediately see that their monthly donations are going down. Uh oh!) But that took an extra click. Look how much more functional that related list is if we change the LEX Page Template to the 50/50 split: Now you can see the progression month to month right here on the page. Plus on the left there’s still plenty of room for the Details fields. It takes about six clicks to change the page template: 1. Open the Lightning App Builder (Gear>Edit Page) 2. Click on the Change Template button on the right. 3. Select “Header and Two Equal Regions” (which is what Salesforce calls the 50/50 split.) 4. Click Next 5. Accept the screen that says which components will move to which section. 6. Save your changes. (If necessary, Activate the page.) I do this on literally every single object. I just wish there were a way to set it as my default instead of having to change each, one at a time. I think that one simple change makes for far more functional page layouts. Of course, I’ve got much more to say about making pages beautiful and functional. But this one simple step is a huge start. So what are you waiting for? Go change your page templates!
- Just Start Writing
Last week in Documentation Done Cheap I suggested that you probably have access to a free way to house a Salesforce documentation wiki. Let’s talk a little about what to put there. 1: Just Start Writing I mean it! Don’t let the perfect be the enemy of the good. (Don’t even let the good be the enemy of the somewhat-adequate.) Any documentation whatsoever, even full of sentence fragments, bulleted lists, and typos is better than nothing. Even before you can start building specifics, you want to have some kind of guide for your users to understand what Salesforce is, why you’re using it, what assumptions are baked into your implementation, etc. You can polish later. But if you don’t get the basic foundation constructed early you’ll always be playing catch-up. 2: Basics: A Welcoming, Fun Roadmap Make the front page welcoming and make things fun! I like to adopt a fairly informal tone. It puts users at ease and helps them understand that this is a living document that needs their help to keep it up to date. If you can, put in pretty pictures. I like LucidChart to easily build a diagram of the relationships between database objects. I’m no graphic designer, but I think this is pretty good looking: Perhaps throw in some links to Salesforce’s documentation of the features you’re using. You can see, in this screenshot, that I literally start with a link to the NPSP documentation. Not that I expect too many users to follow that link. (Who are we kidding?) But I want to set the expectation that whenever possible I’m going to let Salesforce.org handle the documentation of their own features. (Pro Tip: Have you seen the amazing videos produced by the volunteer NPSP Videography Team? Whenever possible, include links to those videos to introduce your users to functionality from Salesforce.org’s products.) 3: A Page for Every Object Next I create a page for every commonly-used object. At first some of them (particularly the Salesforce standard objects) might seem kinda’ stupid. That’s fine. That might even be all there is to say at first. But pretty soon, you’re going to find ways to expand on this with commentary that is specific to your organization and your Salesforce instance. Better to give yourself the placeholder page right now. Eventually you’ll have time to expand to specifics: But far more important than those standard objects is to start recording your org’s custom objects. Hopefully a lot of them are just as obvious as Contacts, based on the object name and understanding your organization’s programming. But this is the place to call out all the assumptions on which your instance has been architected. For example, let’s say you have an object named Program Enrollment that is a child object to Contact and also child to Program. Most of us reading this blog probably understand that Programs should have records for every program offering of your organization. And having a Program Enrollment is the only way to know which contacts are part of those programs. And it, therefore, follows that only contacts for whom there is one or more enrollment record are “participants” in our program. Now is the time to write that out explicitly! If you have an enrollment, you’re a participant. If you don’t have an enrollment, you’re not a participant. It’s that simple. When someone comes looking for a report of “how many participants have we had this year?” it’s going to be much easier to answer that question for them if they understand in advance that “participant” is defined as “a contact that has a program enrollment.” Now they probably already know what reporting they need! So give yourself a page for each of your custom objects and, even if it seems obvious, be explicit about why they represent and how they are used. 4: Make a Web of Links Strictly speaking, I’m going to say this step is optional. But one of the main reasons I suggested in last week’s article that you should build a wiki is that you’re going to have an easy way to link your pages together. One page per object, like I suggested above, is easy to maintain and keeps pages short (so lazy people will read them). Certain objects get used together. So make it your practice to give internal links. Whenever you mention an object, make that mention a link to that object’s page. And when you add a new page for a new object, try to remember and go back to previously-created pages and add links to this new page. If your site builder allows for a hierarchical menu, take advantage of it. But if not, at least one page for each object is pretty easy to browse through. It sounds obvious, but it’s very helpful to your readers. 5: Clear Descriptions of Automation Automation is fantastic! Users love how it makes their lives easier. Automation is part of why I say that Salesforce can be custom software to run your nonprofit. But automation can also be pretty opaque. You might see part of what happens when automation runs, but other things that happen could be hidden, or at least not obvious. So give your users a way to understand what happens when they do something and why. It might make sense to devote a page of your wiki to describing automation. Or it might be better to integrate the automation documentation into the page(s) of the objects in question. But just get something written down so your users (and other admins, and even Future You) have some bread crumbs they can follow. List it all out: When the Enrollment Status field is changed to Withdrawn there is automation that creates a Task assigned to Reggie. This task is Reggie’s reminder that the student’s email account should be closed and the status of any outstanding tuition balances evaluated. As simple and understandable as that paragraph is, let’s point out that it does quite a few things: For users, it lets them know that changing the enrollment status field is the action that actually un-enrolls a student. (This should probably also be explicit on any pages about students, or programs, or contacts.) For Reggie, it’s documentation of how these tasks keep getting assigned to him. For the organization, it documents the things that need to happen when a student withdraws. For Salesforce admins, it documents that Reggie is explicitly built into the automation. If Reggie leaves, you are going to need to change the automation to point to his successor. That’s a lot in just two sentences! One final word: On pages focused more on the user than the system admin you might not use all the jargon about how the automation works. I wrote “there is automation” above. But if you're working on pages for sysadmins, you might want to say “there is a flow...” 6: A Page About Installed Packages Most orgs have several AppExchange packages installed in their system. Sysadmins will know how to go into Setup and see the complete list. But any apps that users will interact with may be worth explaining a little bit on the wiki (and linking to their creator's own documentation.) This is also a good place to give future sysadmins a little leg up in figuring out when and why you have installed one package or another. I could go on and on, but that’s really plenty to get you going, I think. There’s just one last thing: getting your colleagues to read your wiki. I’m not gonna’ lie: people are lazy. Most of the time they’re either going to ask you directly for help or their going to just not do the thing they can’t remember how to do. I can’t beat human nature. But I can make it easier for you to answer their questions! Be Relentless: Every single time you answer a Salesforce question, do so by giving a link to the page on the wiki that they can reference in the future. (If you have to, write that page quickly and then link to it as though it was always there! I won't tell.) Relentlessly mention and link to “the wiki. The wiki. The wiki.” It takes time, but people will start to realize that when they ask you a question they’re likely to get a link to the wiki. Eventually, they'll even look at it for themselves. Make It Easy to Find: It’s one thing to link to the wiki in emails and Chatter posts. But if you really want your users to start going there on their own, you have to make it easy for them to find. Put a link front and center on the homepage so they see it every time they log in. In Lightning you can even customize the help menu (question mark) so a link to the wiki is available no matter where people are in Salesforce: And every time you do any sort of training, point out to people that a link to the wiki is there in the help menu. Once your users catch on, you might even find that your “Salesforce wiki” morphs into your “Organization Handbook.” How great is that?
- Documentation Done Cheap
There are a million different ways to make documentation for your Salesforce instance. I’ve seen demos of Spekit and Elements.cloud and I really do think they’re super cool. As I recall, both give very nice discounts for nonprofits, too. But I’m just too cheap to want to pay for more things if I can get by without them. And given my client base (small nonprofits), the fewer paid apps I can recommend, the better. And let’s face it, for most organizations any barrier to writing up good documentation, no matter how small, is just going to mean no documentation at all. And I consider that unacceptable. So if you aren’t going to pay for a really good documentation solution (or aren’t going to pay for it right away) what is the responsible Salesforce admin to do? (Note: I don’t really consider it “responsible,” to make a pile of Word documents, PDFs, or even Google docs. I’ll grant that getting something written is better than not writing any documentation at all. And the Google docs folder at least can be somewhere owned by the organization and they can have links between them. But really, a pile of Google docs is not super convenient.) 📑 What you need is a wiki. 📑 Don’t let that name intimidate you. A wiki is simply a collaboratively managed and edited website. That's what you want to document a tool (Salesforce) that you’re all going to use together. You want it collaborative because you want input from users, executives, your Salesforce admin, consultants, etc. Sure, most of them might rarely add to the wiki, but the very idea that they can and should contribute is empowering. And other than the fact of it being online and being collaboratively edited, there’s nothing special about “a wiki.” It doesn’t have to be created using special software. (Even that aforementioned pile of Google docs could probably be considered a wiki.) Don't think Wikipedia, think whiteboard. And guess what? If you’ve got Google docs then you have Google Sites. Both are a standard part of Google Suite (now called Google Workspace), which is free for nonprofits. (That’s my kind of pricing!) Know what you can do with a Google Site? That’s right: You can create a wiki! In under a minute you can create a new Site with a simple template and just start adding pages to it. Sites is easy and fast to use, and it even does a pretty good job making a menu as you add new pages. I see no need for anything more “wiki-ish” than that. If your organization doesn’t have Google Suite…I’m sorry. It’s not that I have a particular love for Google. (I don’t.) But in my experience if you don’t have Google, you probably have Microsoft 365, and that makes me sad. Again, nothing against Microsoft per se, it’s just that apparently starting any kind of site/intranet/wiki seems to be much too difficult on Sharepoint. Once the Sharepoint site exists, it’s fine. I suppose there are some of you reading this that have access to neither Sites nor Sharepoint. But ask around a bit and you might find that there is some kind of website building tool already available within your IT services. Don’t be picky. Just two criteria matter: 1. Is it free? 2. Can I easily create multiple pages (with simple text and images)? This week we’re stopping here: You’ve identified that your organization has some kind of tool that will allow you to create a basic website with multiple pages. Your homework is pretty simple: Create your site. (Name it something like “[my organization]’s Salesforce wiki.”) Create your first page. Give it a title and some placeholder text. Set the sharing/visibility settings to at least allow anyone from your organization to see the site with a link. Open to anyone with the link is OK, in my opinion. Extra Credit: Create one additional page of your wiki so you can see how the tool creates a menu. Next week: My simple tips for building out your documentation wiki and driving users to it.
- Crowdsourced Salesforce.org Price Guide
One of the biggest benefits for nonprofits using Salesforce is the amazing discount we get on state-of-the-art software. The same software used by Fortune 500 companies, at levels of discount usually reserved for their biggest/best customers, without having to actually negotiate for that discount. I think that’s a pretty good deal. But if you’re a nonprofit leader considering Salesforce for the first time (or considering changes to your implementation), it can sometimes be frustrating trying to figure out the specifics of what you’re budgeting for. If you know you’re going to need logins for 37 employees, you want to know how much you’ll be paying for the 27 logins you’ll need after the 10 donated licenses. [Spoiler alert: $432 * 27 = $11,664/year] (But don’t forget that licenses are not your only cost!) For several years I’ve been loudly advocating for increased price transparency from Salesforce.org. There have been some horrendous cases of nonprofits overcharged because they didn’t know what they actually needed. And even in the case of organizations that knew what they needed and what the right price was, sometimes it’s been hard just to get things properly provisioned. 📣 I've been loudly advocating for increased price transparency from Salesforce.org Credit where credit is due: Salesforce.org (SFDO) has made strides to get better. I haven’t heard recent horror stories of overcharges by Account Executives. SFDO reorganized part of their website and published this pricing guide, for one thing. But in my humble opinion, a PDF pricing guide is not the most convenient format. And there are plenty of products left out of the guide, particularly the newest and shiniest things Salesforce has released in the last few years. So that’s why even after the pricing has gotten more transparent, I’ve continued maintaining the Crowdsourced Salesforce.org Pricing spreadsheet. Even if most of the information is available on Salesforce’s website, this way we can see everything in convenient tabular black and white without fishing around various parts of Salesforce.com and Salesforce.org. Go ahead and bookmark that sheet, you'll probably want to refer to it. And if you have any information to add to it, or questions about what’s there, feel free to tag me in a comment–I really do want to keep it up to date. ✅: Bookmark the Crowdsourced Salesforce.org Pricing Guide 🔖 What I would really like to see someday is a statement from Salesforce along the lines of “any organization qualified for the P10 grant will also be able to purchase any other Salesforce product at a minimum discount of X% off list price.” I know that won’t be able to apply to all products, or that some may take time after release to be added to SFDO’s pricing. But if we knew that was the baseline it would make it so much easier for nonprofit admins to think about all the new toys Salesforce announces. Unfortunately, I don’t seem to have made any progress toward getting a guideline like that. If you have ideas for how I could make that wish come true, please get in touch!
- Four Answers to “Why Salesforce?”
Friends (and, of course, potential clients) often ask me, “Why Salesforce? Why should my nonprofit organization switch to Salesforce?” I’m the first to admit that Salesforce is not the only option. It might not even be right for your organization. But I’m a Salesforce expert and I choose to be a consultant on the Salesforce platform. If you want to use another system, do so with my blessing. (I just won’t be able to help.) And let’s not lose sight of the fact that a young (or tiny) organization might not even be ready to graduate from spreadsheets. As long as you’re able to get your work done, that’s the most important thing. Your nonprofit exists to make the world a better place, fulfilling your mission with your program. I would much rather the mission get moving than your systems be perfect. As I see it, there are four main reasons that I recommend nonprofits and educational organizations use Salesforce. 1: You’ve determined that you need “A System” If you have reached the point that you’re considering hiring a consultant like me, that usually means you’ve figured out that you need a little more organization, a little more data security and integrity. You’ve realized you need “A System.” That’s good! It’s a sign of organizational maturity to even have a moment to step back and think about how to do the work rather than always be consumed with just doing the work. 2: Salesforce's 1-1-1 Model The next question, then, is why I work with Salesforce and why I recommend it to nonprofits that are ready for a system. It’s not just that Salesforce is “free.” (The whole point of this blog is that Salesforce is “free” like a puppy, not “free” like a beer.) What makes Salesforce so interesting for nonprofits is their 1-1-1 model, or what they now refer to as Pledge 1%. From its founding, Salesforce dedicated 1% of the company’s equity, 1% of its product, and 1% of employees’ time to nonprofits. Of course, as Marc Beniof has joked, in 1999 they had no product, no employees, and a company worth nothing, so that was pretty easy to pledge! But more than 20 years on that promise has some real…well…promise. Eventually, the “1% of product” portion of the pledge came to mean that any nonprofit can receive a permanent grant of 10 user licenses, or logins, to a Salesforce instance. The application process is about as simple as waiving your IRS 501c3 determination letter (or international equivalent). Then you’ll get your ten licenses approved. This is known in the ecosystem as “the P10 grant.” And that’s a pretty big benefit. It’s a 100% discount compared to what for-profit organizations pay for the exact same software platform. For licenses beyond the 10th, the discount is approximately 75% off list price, with no need to negotiate. Considering that most nonprofits have fewer than ten employees, most will never send a penny to Salesforce itself. I think that’s a pretty good deal. 3: “Dot Org” and NPSP Salesforce.org (SFDO) is an arm of the company dedicated to working with nonprofits. “Dot Org,” as it’s known, developed the Nonprofit Success Pack (NPSP), an app installed into your Salesforce instance that modifies the platform to work more like a nonprofit fundraising database instead of a sales tool. (SFDO also publishes the Education Data Architecture, which is a similar product built for educational institutions.) SFDO also supports the nonprofit community with training materials, continues to develop additional products, and more. So nonprofits aren’t just using the product that’s developed for business, we get products developed for our special use cases. 4: Custom Software to Manage Your Mission But fundamentally, I recommend Salesforce to nonprofits because you’re getting access to a state-of-the-art software platform that’s easy to customize to do exactly what you need. With a little bit of implementation know-how or help from a consulting partner, you get custom software to run your organization. Not too long ago anything custom or personalized would have meant a minimum investment out of the reach of all but the largest nonprofits. And once that money was spent, you’d be stuck with that system unchanged for years, even decades. But now even the smallest organizations have access to Salesforce. And once you’re on the Salesforce platform, you benefit from new features and innovation that Salesforce is constantly developing, with much of that new goodness coming your way for free. Plus you can get help and support from thousands of people in the nonprofit Salesforce community. And that is the not-so-secret Fifth Why! #Donation #System #CustomSoftware #Customize #Nonprofit #WhySalesforce
- My Salesforce Journey
This wasn’t what I was going to be when I grew up. Not at all. I was going to be a diplomat. I was going to single-handedly negotiate an end to the Arab-Israeli conflict. Now I design software systems for nonprofit organizations. How did I get here? Like so many others in this ecosystem, I’m an “accidental admin.” (And yes, I understand why a lot of people don’t like to use that term.) Databases followed me for decades. I just kept running away from them until I stumbled on Salesforce. In my early career I always seemed to be the person in the office that took a look at the way we were doing our work and decided that we needed systems to make us more efficient or more organized. At a small magazine publisher outside Boston I implemented an editing and production software package that had literally been sitting on a shelf unused. At the Federal Emergency Management Agency (FEMA), I battled Microsoft Access to make our office a shared database for case management in the Office of Congressional Affairs. And at the Department of State, in the immediate aftermath of the 9/11 attacks, I worked to build a system for tracking hundreds of countries’ offers of aid and assistance for a daily update to senior policymakers. Even during the decade I was a stay-at-home dad I found myself deeply involved in the VoteBuilder database as I volunteered with political campaigns and in charge of the membership database for Beachcomber, our co-op swim club. Every system I worked with just felt like a slog. They were fighting my attempts to make them understandable or easy to use. “Pretty” wasn’t even on the menu. In 2012, I returned to the work world in a newly-created community organizing capacity at Reconstructing Judaism. It was clear from the first day that we needed a database to track the congregations that were our members. Someone had thrown together an Access database before I arrived, but we needed something better. We needed a “CRM,” or constituent relationship management system. I hadn’t heard the term, but it encapsulated what I had been working with in all those previous positions. And since I was the youngest and the most tech savvy, the search for the CRM ended up on my plate. That’s when I learned about “this Salesforce thing” and that, thanks to the 1-1-1 model, it was “free.” That seemed like a good deal! Plus it was super simple for me to spin up a fully functional trial instance to see how things worked. Unlike all the systems I’d tried before, Salesforce somehow made sense. With just a few clicks I was able to customize it to work more like what we needed. And the user interface (both front- and back-end) was intuitive. Hooray! We compared a few other options and then chose Salesforce. Using an implementation partner, we got up and running in just a few weeks. Then I started seeing what more I could learn about how to make Salesforce even more custom for us. The next major step in my journey was discovering the Power of Us Hub, the online community for nonprofit Salesforce users. When I was first starting to administer our instance, I wasn’t confident I was doing things right. I started asking questions on the Hub and immediately found a community of nonprofit Salesforce practitioners that were incredibly generous with their time and their wisdom. They validated when I was on the right path, guided me back if I wasn’t, gave me tips, tricks, and best practices, and were genuinely warm and welcoming. That’s what really drew me in. I also started joining the wider Salesforce community. (This was all before the creation of Trailhead. That’s one more amazing resource if you’re new now.) As my knowledge grew, of course, I started answering questions on the Hub instead of mainly asking them. But I still ask a lot of questions even today. It’s how I learn! I am a firm believer that there is no such thing as a stupid question. I think it’s terrific when someone has the courage to ask for help. And I’ve found that the Salesforce community is incredibly welcoming and happy to answer questions, even ones that have been asked before. Fast forward a couple of years and I decided I was interested in making Salesforce the main focus of my next job. I found a full-time solo admin position at Spark, a mid sized nonprofit that was supportive of my continued growth as a Salesforce professional. My position at Spark allowed me opportunities to participate in Open Source Sprints, present at community events, and even to travel to Dreamforce. All that meant meeting more people within the community. I made friends that I know I’ll keep for life. In 2017 I was honored to be named a Salesforce MVP. That’s been a further chance to meet friends and gain insight into Salesforce, the platform as well as the organization. The most recent step in my journey is that in 2020 I made the leap to self-employment as an independent Salesforce consultant. Now I get to work with many nonprofits to build and support their Salesforce instances. My favorite work is creating custom program management solutions that let organizations run their unique programs exactly how they need. #AccidentalAdmin #CareerJourney #PowerofUs #SalesforceAdmin





![[Hard or Soft] Credit Where Credit is Due, part 1](https://static.wixstatic.com/media/77ee92_5639a3c0dfab4c62914d0c77d16a5467~mv2.jpg/v1/fit/w_176,h_124,q_80,usm_0.66_1.00_0.01,blur_3,enc_auto/77ee92_5639a3c0dfab4c62914d0c77d16a5467~mv2.jpg)





