Search Results
101 results found with an empty search
- Simple, Readable, Fun đ„ł - đŠ Sprinkle Emoji in your Salesforce âïž
Salesforce is serious. đ Itâs where we do our work. đ€ But, I donât think there is an actual requirement that work be boring. Why not take the opportunity to make the system we work in a little more fun? Add joy (đ), affirmations (đ) and celebrations (đ) anywhere you can! Adding emoji is nearly as easy as typing a character. On a Mac you bring up the emoji keyboard (âšïž) with Ctrl-Command-Space. On PCs it's Windows-Period. And emoji are text as far as computers are concerned--they're part of the unicode standard--so they work just about anywhere you can use text. Maybe itâs just decoration, but sometimes you get those proverbial "thousand words" by using a picture. That can mean pages that are more functional. Studies have shown that readers process visual information much more quickly than plain text. Besides, many emoji bring color as well as shape, so they brighten up your screen instantly! đ Letâs look at some of the great places you can use emoji: đŁ In Chatter (Of course.) Weâre hardly breaking any new ground here, since itâs similar to putting them in your texts. đ Record names Now weâre having some fun! Could you put a stack of bills (đ”) into your opportunity naming convention? [OK, that might not be serious enough.] Are you an animal shelter with records for cats (đ), dogs đ, and rabbits đ? Put the type right into the record name and your users will instantly know something about Muffin! đ Description fields Any free text field is fair game! â¶ As picklist values Setting a recordâs progress to a RedđŽ/Yellowâ ïž/â Green status field? Why not include the color in your picklist? Or perhaps you have radio buttons on a quick formâparticularly useful on mobile. Instead of a Yes/No or a Good/Poor binary, why not đ/đ? Instantly recognizable! đ Dashboard or report names I hadnât really thought of this before I started this blog post. But Iâm definitely going to start renaming some more dashboards. No more âOrganizational Goals Dashboards.â Theyâre all going to be âđŻ Goals Dashboardâ from now on! ⯠In formula fields On Related Lists Iâve written elsewhere about making a custom formula to combine fields for display on a related list. Emoji here can make your list pop, allowing users to instantly distinguish different types of records in the list. Visual Flags on Records We often want image badges on records and even the NPSP docs from years ago recommended a way to use static resources and formula fields. But for several years now Iâve preferred to make my image flags with emoji. Instantly readable on a record page and truly a lifesaver when youâre looking at a large report! đłïžâđ In banners I already posted about banners on Lightning record pages and you can see that I use emoji there. There are all sorts of possibilities when it comes to banners on your pages! đ„ Flow screen instruction headers and sections Screen flows are a versatile tool (though sometimes quite time-consuming to build!) for building a custom interface in various parts of Salesforce. Whether the flow is a survey or call script, a custom New button in a specialized area, or just a way to display dynamically generated information in one place, I love to dress those screens up with emoji. When you put instructions on the page, start them off with a nice emoji to draw the eye. Differentiate sections with other emoji. đ Error messages and validation rules Nothing says, âStop!â better than a â ïž or a âïž, does it? Dress up your validation rules with a visual warning. (Or soften the blow with a smile. đ) âĄïž Lightning pages (like Home page rich text elements) Emoji can be welcoming additions to an instruction section or draw the eye to actions you can take on the page. I know that lots of people just zip right past the home page as soon as they log into Salesforce. But if you put some effort into it you can make Lightning App Pages functional and save your users time by allowing them to work right from the instant they log in. đ Action buttons This is probably my favorite! Why settle for boring buttons like New and Edit? If youâre going to the trouble of making an action or a button, add some pizazz! Iâm hardly the first to think of using emoji in Salesforce. Marc Baizman wrote a blog post back in early 2018. But I still l donât think itâs as common as it should be. đ One final note: Emoji and screen readers donât always play nicely together. Generally the screen reader is going to read out the emoji's alt text, which you can see by hovering your mouse over one on the emoji keyboard. Keep your user base in mind and make sure the meaning of the icon is clear in context so that even when rendered as voice it doesn't get in the way. I've also seen advice to lead with text, putting the emoji at the end. (Good advice, though I didn't quite follow it to the letter for this post.) And don't forget to keep contrast in mind for the visually impaired. Now get to work, friends, and make those Salesforce pages colorful and fun! đđ
- Still Trying to Try Einstein
If you read my last post you were probably hoping that the title of this one would be My First Einstein Prediction. I was hoping so too. Sorry. But we're learning together! Here's what I've learned so far: Sandbox - What's the Point? First, I wanted to test in a sandbox because that's doing things right. But sandboxes, of course, have no data in them. I spent a chunk of time building out a moderate amount of fake data so that the models would at least let me turn them on. Even the time I spent just resulted in a whole bunch of very boring donations (all the same amount, on people named Contact 1, Contact 2, etc...) I could have spent dozens of hours learning Snowfakery to insert interesting data. But who has the time? And anyway, even with interesting fake data, how interesting are predictions about it, really? So working in the sandbox got me proof that it's safe and possible to install, enable, and activate the Einstein Prediction Builder (EPB) models that Salesforce.org has provided. But if I wanted to really learn anything about the models I was going to have to run them against real data. New Org - No Magic Bullet I first turned on Einstein Prediction Builder (EPB) in the org for my client The Modern Classrooms Project. (Really interesting organization, by the way, and great fun to work with! Super smart staff that are excited to try new technology and have quickly learned how to build in Salesforce and FormAssembly.) MCP doesnât have a ton of donation data because theyâve only been on Salesforce for about two years. Plus most of their income is from earned revenue. I was interested to turn on EPB in their org first to see how the NPSP backup prediction models would work when I knew there wouldn't be enough of MCPâs own data to run the machine learning. WellâŠI wasnât too impressed. Here are the results: First Time Donor - This oneâs kindaâ interesting, if not particularly helpful. As I understand it, the model assumes that if someone has good contact information and the contact record has been created in the last three years, theyâre likely to become a donor. Modern Classrooms is a new Salesforce instance (so all records are created less than 3 years ago.) And we are building out program management on the platform, so weâve imported well over 6,000 program participants. They all have good contact info. (It would be hard to work with them if you couldn't contact themâŠ) I suspected Einstein was going to say everyone has a good likelihood of becoming a first time donor. And I was right. The scorecard says âPrediction quality is too good to be true.â Even Einstein is skeptical of its prediction that basically every mentee and mentor in Salesforce is likely to become a donor to Modern Classrooms. Top Donor and Recurring Donor just straight up failed due to too little data. Sigh. Tons of Data - No Luck Yet Next I turned to the Clean Air Council, a client that has lots of data in their org, both many years of data from within Salesforce and decades of older imported data. I thought for sure Iâd learn something from that experience! Here Iâve been stymied even worse. Itâs been more than three weeks since I installed the predictions and turned on the models. Everythingâs still stuck in Pending status. I even opened a case with Salesforce support. All theyâve been able to do so far is point me toward a Known Issue that has no known workaround. I Guess I'll Get Back to You I'm still committed to taking Einstein Prediction Builder out for a spin. Keep your fingers crossed that my next post is actually titled My First Einstein Prediction...
- Cheap (or free?) AI for Nonprofits?
At Dreamforce last month I was excited to once again hear people from Salesforce.org (SFDO or â.orgâ) mention Einstein, Salesforceâs name for their machine learning offerings, and how they might be used by nonprofits. You see, several years ago, when Einstein was first announced, I tried to pin down Salesforce.org executives to find out if/when Einstein would be available to nonprofits, how we might use it, and what kind of discount we could expect when pricing was announced. I got exactly nowhere back then. List pricing for Einstein wasnât released yet and nobody at .org would commit to what kind of discount they would offer nonprofits in percentage terms. (Not my first or last tilt at transparent pricing.) In the intervening couple of years Einstein has been front and center of messaging but I will say I have barely heard a word outside of Salesforceâs own marketing about people actually using it. And to add the confusion âEinsteinâ is now applied to several different products, such as Einstein Bots, Einstein Activity Capture, and more. Youâll sometimes hear people (including me) joking that Salesforce is just going to prepend âEinsteinâ to the name of any product they want to imply is âsmart,â whatever that might mean. The Einstein product that Iâve been keeping an eye on from the beginning is currently called Einstein Prediction Builder. This is the one that most closely matches what I think of when I consider how machine learning or âAIâ could be applied for nonprofits. Itâs the tool that should allow me to one day, for example, to look at potential matches of mentors with mentees and find those that are more likely to produce good outcomes. Or perhaps I could point Einstein Prediction Builder at a set of students and their program engagement data and determine who among them is in danger of dropping out of the program? So imagine how interested I was in the Nonprofit roadmap session to hear that Salesforce.org has actually put some effort into making it easier for nonprofits to use Einstein Prediction Builder. Thatâs potentially really cool! If we can figure out what it means. And Iâm not trying to knock SFDO hereâI actually think their materials were about as clear and transparent as a high-profile product announcement was ever likely to be. But Einstein is complicated, Salesforce licensing is complicated, and what Salesforce.org built is a little challenging to sum up in just a couple of sentences. So letâs start with some gratitude: Kudos to SFDO for trying to get Einstein Prediction Builder into the hands of nonprofits! Thereâs potential there for some interesting wins. The Announcement: Einstein for Nonprofits (I donât actually think that Einstein for Nonprofits was a new announcement at Dreamforce, but it was a nice high-profile reminder that this is something SFDO is counting among its big releases for 2022.) Letâs break down the dense language of the linked help page to understand what this is. Itâs really two things: 1. Itâs Einstein Prediction Builder (EPB) Thatâs not really a special product for nonprofits. Any org can turn on EPB in âTry Einsteinâ mode and build a couple of predictions and even activate one of them for free. So this is a bit of repackaging of Salesforce platform capabilities to let nonprofits understand that we get them as well. 2. Itâs also some additional sweetening by Salesforce.org a. First of all, Salesforce.org has built three prediction models for us. Thatâs actually pretty cool, as building prediction models is the difficult and confusing part of using EPB. In this case, SFDO has created predictions for whether a contact in your system is likely to become a first time donor, is likely to become a top donor, or is likely to become a recurring donor. These predictions are all based on the NPSP donation rollup fields. So as long as youâre using NPSP and its customizable rollups in more-or-less the way they were designed, these predictions should work for you out of the box. Neat! Another benefit of these predictions is that they serve as examples of a 100% nonprofit-specific use case and exactly how you would implement it. Iâve done the Einstein modules on Trailhead and come away with a vague sense of what I might try to build for a nonprofit but there was a good deal of fuzziness there. Seeing an actual prediction and then actually using it against real data is the kind of learninâ I need. b. SFDO has also created âbackup modelsâ for those orgs that donât have enough data. One of the limiting factors of Einstein (or any machine learning) is that you have to feed it a whole lot of example data so that it can analyze and look for patterns. An Einstein prediction wonât even run if you have fewer than 400 example records and can point to a good chunk of both positive and negative outcomes. If youâre an organization thatâs new to Salesforce or doesnât have hundreds of donations imported from an old system you wouldnât be able to build an EPB prediction at all. But SFDO has worked to gather a big dataset and build the models youâll need so that you donât have to start from scratch and you can use EPB before you have enough of your own data to train it on. c. An Einstein for Nonprofits app that can make it easier for you to find the EPB settings, the backup models that SFDO provided, and links to resources. d. There are also some Lightning Web Component cards that you can put on a contact page to display the results of the Einstein predictions. [Can I be honest and say that I donât think these cards are really worth much? SorryâIâm callinâ it like it is. We could replicate this display in five minutes with the Related Record Hack and weâd have better control of what we are displaying.] The Price Youâre probably wondering what Einstein for Nonprofits costs. [At least, youâre probably wondering this if youâre cynical, like me, and assume that we canât be getting anything worthwhile for free in this world.] Iâve got good news on that front: Einstein for Nonprofits is free. Everything I listed in the section above is totally free to nonprofits. One active predication is actually free for any org in the first place on the Try Einstein level of EPB (more on this below), so thereâs no free platform feature being handed out here. But SFDO is throwing in those pre-built predictions and the backup models to train them, as well as those pretty-but-inconsequential contact cards. Thatâs actually a pretty nice deal, I think. And if you want to upgrade from the Try Einstein level that only allows one active prediction, you can get an Einstein Predictions license for $225/year, a 75% discount from the regular price. An Einstein Predictions license is a feature add-on to one of your existing user login licenses. You need that feature license only for the person that is going to create and manage your Einstein Predictions. Everyone else will be able to see the results. With an Einstein Predictions license you can also activate up to 10 predictions (and build up to 20.) Should I use this thing? If youâve been paying attention, I bet you have one more important question about Einstein Prediction Builder and Einstein for Nonprofits: Should I use it? (And, if yes, how?) Well Iâm still working on investigating that with the help of some of my clients that have a good amount of data in their orgs. Iâm going to make that the subject of another post as soon as I can. Tentative title: My First Einstein Prediction.
- Iâve Got Admin PermissionsâNow What? (Part 3)
Itâs time to wrap up this series on what to do when youâve found yourself with system administrator privileges and are trying to figure out next steps with a little discussion about certifications. For people actively trying to break into Salesforce as a career, getting a certification is often an early step. But if youâve fallen into your Salesforce journey and have a spot at a nonprofit that youâre enjoying, thereâs really no reason to race toward certification, in my opinion. But itâs a good idea to have certs on your radar and start thinking about studying for the main gatekeeper cert: Administrator. Hereâs the dirty little secret, though: The Admin Cert focuses a large percentage on features and concepts that you just arenât going to use that much in the nonprofit context. So if youâve had admin permissions for a while and have started doing more and more work on Salesforce in its own right in the context of your nonprofit position, youâll find that the material on the admin cert might not seem directly relevant. Doesnât mean you shouldnât learn it and that you wonât find it helpful, but it isnât going to reflect your day-to-day. If youâve learned to manage users, create custom fields, and work with reports (all things you can learn on Trailhead) you know more than enough to answer the admin cert questions on these topics and you probably even have some practice that helps solidify that knowledge. What you probably donât know about are things like who sees what and governor limits. That being said, I think you should consider Admin your first certification goal because itâs the one that most people know, understand, andâperhaps most importantlyârespect. Salesforce Certified Administrator is a difficult exam. First of all, the material is technical and most of it will be new ground you havenât really covered. Also the questions (or, really, the answers) are structured differently than multiple-choice tests youâve taken in the past. A lot of them ask for which 2 or 3 answers are correct, rather than you having to find only the one plausible answer among those given. I failed the admin cert exam the first time I took it. (As have many others.) I strongly recommend having a basis of good, hands-on experience built up over months or years, plus some focused studying. (I used Focus on Force and Salesforce Ben for some courses and practice exams.) Amplify also has study groups that are a terrific resource. That first exam is going to be a challenge, but it will give you a foundation to really feel like you know your stuff and are ready for deeper Salesforce involvement. In the process of earning the Certified Administrator credential youâre going to learn things about the platform that will inform the work youâre doing. Youâll know more about why reports and dashboards work how they do, what design/architecture choices have been made for your current system, and what you can and canât easily do to make changes to your instance. There are probably two other certs that have caught your eye on that link above: Platform App Builder - I think of App Builder very similar to the admin cert, though itâs definitely less difficult. App Builder is also an entry-level exam, but it doesnât serve as a prerequisite for other exams like Admin does. Take Admin first, then I bet you can pass App builder with little additional studyâitâll be material youâve got well in hand. The content of App Builder is more focused on (Surprise!) building apps on Salesforce and less on the technical underpinnings of the platform itself, such as privacy/visibility and governor limits. Iâm sure there are lots of people that would recommend this as a first certification and I canât really argue with them. I just think if youâre already working with Salesforce and are going to take the time to study for a first cert, I vote Admin. While putting App Builder on a resĂșmĂ© might help you get a job, I havenât seen too many job posting that ask for an App Builder certification. Nonprofit Cloud Consultant (or Education Cloud Consultant) - Naturally, if youâre coming to Salesforce from a nonprofit/education perspective, these make some degree of sense. But these are consultant-focused exams, rather than user/admin focused. Questions focus on considerations around building a new implementation, for example, rather than the kinds of work you do to support and modify an existing instance. There is a lot of common sense to figuring out the answers (though you also need to know features and terms of NPSP and EDA), but the real benefit of having one of these is going to come if youâre looking for a consulting job. Thereâs nothing wrong with getting one (or both) of these certifications, but I donât think theyâre going to be as helpful in doing your current job as Admin or App Builder will be. You can do this! First Installment: Get on Trailhead Part Two: Engage in the Community
- Iâve Got Admin PermissionsâNow What? (Part 2)
Want to know a superpower that you can get without being bitten by a radioactive spider, is available to you right now, and can help you whether youâre a beginner or an expert? The Salesforce community is a superpower for everyone. Whether you need the answer to a flow question, want to find your next job, or just want to nerd out about building and designing on the platform, youâll find someone, somewhere, to connect with. What really makes the Salesforce community special is that the culture incorporates paying it forward, generosity with time and wisdom, and always ensuring that there is no such thing as a stupid question. Let me tell a story of when I got started in Salesforce. It was 2013 (which seems like a long time ago) and I was brand new to âthis Salesforce thing.â I had started to play with a trial org because I thought Salesforce might be a good fit for the organization I was working for and I had some questions. Because I was working for a nonprofit, I found the Power of Us Hub, which was the Salesforce community specifically for nonprofits and educational organizations. I asked a few questions about how to customize things and got answers that were always respectful of my newbie status and helpful and affirming. People like Judi Sohn were happy to help me with basic setup UI questions and to confirm for me that I was on the right track as I built or modified fields, layouts, and formulas. I knew I was asking basic questions and I was delighted with this helpful online forum. It was not lost on me that this was a helpful and welcoming part of the Internet. Then I started asking some more focused questions about the address-tracking functionality in the Nonprofit Success Pack (NPSP), which was a little hard to truly grasp. (Still is.) After some back-and-forth, eventually Beth Saunders asked if we should just jump on the phone to play around and try to figure things out. Beth was a stranger to me at the time but she was willing to take a chunk of time out of her day to just figure things out with me. That was my introduction to the Salesforce community and the beginning of a friendship and a turning point that would lead to a new career. But as generous as it was of Beth to offer to get on the phone, I have come to learn that what she did was not out of the ordinary for this community. Even consultants billing by the hour are happy to give time and attention to help out newcomers. Itâs just in the DNA of the Salesforce online community that we are welcoming and that we share our knowledge so that others may grow. We lift each other up. The culture is such that our first instinct is to be welcoming and so the circle is virtuous. My second recommendation for new admins, therefore, is to get involved in the Salesforce community online. (First recommendation was Trailhead, last post.) If youâre reading this blog you probably have discovered the community. But I know that plenty of clients I work with, and admins, and users of Salesforce have not yet dipped their toes into the wider Salesforce community. Log into the Trailblazer Community (itâs now a tab of Trailhead) and join a couple of groups. Find people that are discussing topics of interest to you. Ask questions when you have them, or lurk to just soak things up. The Nonprofit Hub is the new home of the Power of Us Hub. (Thereâs also an Education Hub.) And there are groups for job seekers, for marketers, by industry, etc. You can find a group to learn about Flow, groups by region, and more. Just join a bunchâyou can always pare down the list later. There is also a Salesforce community on Twitter and one or more on Slack, of course. As I understand it, all share the great culture of the Trailblazer Community. That was the easy part because you can do it from your couch. But did you know that the Salesforce community is so passionate about learning and networking that there are entire conferences focused on Salesforce that are organized by volunteers? There are more and more Dreamin events every year. Some are larger, some are smaller, Some are one day, others two or more. These are a fantastic introduction to the community. First of all, youâll get the opportunity to meet in person the people youâve seen online. But itâs also a place to learn skills, network, and have fun. Conferences offer content for users and admins at all levels. I just got back from Midwest Dreamin, the OG of these community events andâI thinkâstill the largest. What a great time! I learned so much about the Salesforce platform, reconnected with friends and colleagues, and met new friends and future colleagues. I know that some of you are reading this and thinking, âIâm an introvert, conferences arenât for me.â I would argue that you are wrong about that. I am definitely an introvert. (Iâm not shy, for sure, but I am drained by being with people. And a room full of strangers and "cocktail party conversation" makes me want to crawl out of my skin.) It energizes me, however, when I can get a chance to go deep into conversation learning or discussing something of mutual interest. Well guess what? A conference brings together dozens or hundreds of people that share an interest in common! And this is a conference of the Salesforce community, so our online community norms of welcome just transfer right over. You will find Your People even if you are an introvert. (And, I think, even if you are a little bit shy.) Community conferences like Dreamins are not free, though they keep the cost low. And many offer discounts for nonprofit employees. Dreamins are an amazing value for the amount of learninâ you get in a day or two. And because local conferences are less expensive than something huge like Dreamforce you got a good turnout of nonprofiteers to network with. I actually did not get my start at Dreamin events, though. My introduction to Salesforce events came through a special creature called an Open Source Sprint. These are hosted by Salesforce.org and are focused directly on the nonprofit Salesforce sector. (And, in my opinion, theyâre perfect events for introverts.) We come together for two days to work on projects together. (What better activity for introverts than to work together toward a common purpose?) If youâre a nonprofit Accidental Admin, attending a sprint is one of the best ways to build your network, grow (whether in Salesforce knowledge, writing, project management, or other useful job skills), and to have some fun. Sprints are free, though the full experience comes from traveling to the in-person sprints (which are starting back up this fall.) Sprints move around the country in an effort to reduce the cost and burden on nonprofit employees trying to attend. Watch for one near you! So you got your admin permissions and have become an Accidental Admin. Well why not turn yourself into an #AwesomeAdminâa true superhero that can help your organization thrive with Salesforce? Launch yourself into the Salesforce community online and through in-person events and youâll earn your cape in no time! Last time: Trailhead Next time: Certifications
- 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!







![[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)

