Image Based Salesforce

A picture is worth 1000 words. Pictures are so easily taken with our mobile devices. Can pictures help us in Salesforce? I think the answer is yes, now and (with AI coming so fast) amazingly so in the not so far off future.

I embarked on an Odyssey to try to make the most out of photos in my salesforce organization recently. Here are some challenges where it seems like photos would help:

  • We select clients for service deliveries from a list of several thousand. Admittedly, it’s more likely that Dave is the one who received service lately, but Dave also Drops by after a five or six year absence. Sure would be nice to have confirmation it’s the right Dave with a photo. And be able to add one easily if there isn’t.
  • Sometimes we want to thank people for the in-kind donations they make, and help them understand the amazing impact, and so we write down and log everything that’s given and by whom. That’s tedious and sometimes gets confusing, both in terms of who gave something and exactly what they gave. Sometimes the words and notes we take aren’t as descriptive as we think. Sure would be nice to have a photo of the donor with their gift, if they allow. And certainly it would be helpful to just have a photo of their gift, all laid out and organized before counting. And once a year, my auditor selects records to test and sometimes it’s a donation. That means hunting for proof of who, want, where, when and how much! It can be searching for a needle in a haystack sometimes. Sure would be nice to have photos to help with job memories, explain notes and (when possible) service in place of notes.
  •  We have a “loyalty program” for clients who attend groups that encourage growth and healing, volunteer to help out, and learn things like soft skills that help reduce barriers to the kind of life they want to live. They always want to know what they can get for their loyalty points — and we love that!. Increasingly words are not enough since our catalog of donated items and purchased items has grown to 100 items or more. Sure would be great to have a store driven from Salesforce with photos!
  • To keep things running right, we have an inventory system that tracks the program supplies (and store items for our loyalty program) we need and have and can alert incoming donors what we need most right now. But sometimes a description isn’t motivating enough. Sure would be nice to simply have a live set of images of what we need and the ability to click into them to learn more and how to act!
  • Our volunteer jobs have very lengthy, detailed descriptions, but photos of volunteers having fun and making a good impact are so much more interesting. We can put them in the rich text fields of V4SF or PMM but they aren’t visible in the email because they are internal images and stored all weirdly by SF. Try as I might, I’ve never been able to hack and break down this barrier. Sure would be nice to just have it work.

These are but a few of the user stories associated with what I am calling “image-based Salesforce.”

How can you store an image in Salesforce? I have spent several years (not kidding sadly) investigating the various methods and tracking several tumultuous changes in Salesforce capability. But to be honest, this solution oriented MVP hacker has never been able to find a satisfactory method no matter how hard I tried. 

  • I can upload a photo as an attachment. 
  • I can include it in a rich text field by copy and paste. 
  • I can upload it as a file 

… but to save my life, I cannot find a comprehensive way to allow busy users to :

  • Easily associate several photos with a record
  • Use them reliably in a list view, 
  • Use them on record pages
  • Use them in emails
  • Use them in public directories on Salesforce sites or Community Dloud. 

As far as I could tell, it simply was not possible in a repeatable and reliable way… until… SharinPix. (I pay them… I don’t receive money or free use for this review. I just want people to know the benefits when the need arises)

You can get part of the way easily for free. SharinPix makes a very fine application that allows you to view photos and upload them using standard Salesforce objects, but they will only be visible to your internal users. If that’s your need, the free SharinPix album on the app exchange is good. It stored items in Salesforce standard ways (with all the pluses and limits of that). We’ve been collecting contact images for years this way happily.

The limits manifest in ways that you simply cannot get around due to how Salesforce supports  the content document object. You can cut and paste photos into rich text fields, and your internal users can see them. But if you merge those files into an email , they will not be viewable.

You can make a content document shareable, and you can send the link to someone. And they can click on that link and see the image. But you cannot embed that image in a webpage or an email. I tried repeatedly release after release to find links, hacks or methods that would work declaratively late and I just do not believe it can be done out of the box. 

So after years of frustration and far-too-many man months of investigation and experimentation, I have finally bit the bullet and upgraded my SharinPix solution. They recently changed their license model. That’s good and bad news. The bad news is it’s more expensive. The good news is the price raise is already done. It seems that everyone is raising prices one way or another (except donors, of course). 

  • The free level is the album I described above for internal use of photos only using native Salesforce methods
  • The light level can provide internal and external usage to desktop users and web sharing. 
  • The mid-level license allows mobile and desktop offering of images, and sharing them easily outside of salesforce on websites, and emails, and inside of rich text fields that can be viewed when merged. 
  • The enterprise license allows creation of powerful dedicated apps to guide collection of complex image oriented jobs, such as appraisals, home visits, and all manner of photographic site verification jobs, including the creation of mobile friendly PDF files to share the results. 

I am using the mid-level license for my entire team at this point. I’m a very cautious person when it comes to agreeing to annual per-user costs. Yet I think this is a good move. Let’s see why… Mind you, we’ve only licensed for a couple of months now so this much progress in that time says a lot.

Here are the benefits of the paid SharinPix app to me:

  • Photos are now stowed in a secure, backed up cloud site (you can pick where to some extent) and no longer take up Salesforce storage.
  • Any record page can host an album that will be associated with that specific record. Users can upload, tag, annotate and manage photos whether they are using a desktop, iOS, or android device. 
  • Behind the scenes, automation can be enabled to provide you with a simple salesforce record that is attached to the original record for each photo giving you several resolution options and all the meta-data associated with the original file. This makes reporting and internal automation with record triggered flow super easy. 
  • Photo tags can be set up to identify specific pictures for special special purposes like profile pictures, directories, listings, etc. The special purpose tags will cause a particular resolution image to be generated with optional standardized cropping, a link to the photo will be filled into a URL field on your record.
  • By adding a formula field that shows a small resolution version of the above maintained link for internal list views, related record lists, reports and emails..
  • These photos can be private or the link can be made public. Our Community Cloud is driven by the “profile pictures” created by the special tags and they just work out of the box on a public guest Community Cloud page.
  • You can add albums into screen flows with all the functions enabled listed above.
  • You can add buttons to upload a photo and add specific tagged photos (a profile picture for example) on a page.
  • You can add a page button or programmatically import all your existing photo content
  • You can create record triggered flows to run when a new image is attached to a record or tagged created. Flow procedures are provided to crop, resize, and caption images. This means you can count them, create special sizes of them, force them to be a certain aspect ratio.
  • You can add additional custom fields to your photos object (or even record types) to do things like add a value or a count and then use that in your reporting or automation.

So the user stories now work like this:

  • All our loyalty program incentives have a photo album now. They have at least one directory photo. We have a list view to show us any items that don’t have a directory photo link so we can fix it right away. Clients can see these directly in a Community Cloud that is driven by a list view and the object’s fields. The image link simply works from SharinPix. When you click into it, you can see the details as well as the full photo album. Just like a regular shopping experience. Soon we will allow clients to give their phone or email and request an item for pickup. A flow will charge their account, decrement inventory, and print out the receipt for us to pick inventory and delivery! Wow! Clients love it already! 
  • As part of our programming, we allow clients to get loyalty points for demonstrating or learning skills online. When we add new courses to our catalog, we include profile pictures of the course content. These appear on our Cxperience Cloud catalog for our clients to see. We can click a featured button, and they appear in our featured items list. The most frequent items can appear in the popular list. And other items can be searched for. You can click on the image and an attractive catalog listing pops-up for clients with the image, additional album images, course description, and link to take the course.
  • Our inventory items now carry a directory photo which can pop up on an experience cloud site when we need more. This way in-kind donors can see what we need. We can update that photo as needed and have additional backup photos available in the directory so donors feel comfortable with substitutions and equivalents.

Here is the teams internal view on a list view on a home page:

  • When we order items that are critically needed for our programming or our loyalty program, we can use a flow to record how many items are being purchased, attach a receipt that documents the order, attach a screen show that shows delivery details, and attach a sample photo of the item ordered. Receiving can attach shipping memos to the same order record. And who knows? In the near future, artificial intelligence may read the receipt and extract the total amount and quantity for us. Receiving check it’s OK and inventory updates from pending to delivered. If it was a store item previously out of stock, it reappears on our public website. If it was something we were asking for from in-kind donors, it disappears from the needs list. Wow!

And users on mobile or desktop can click into the photo, crop, download, tag or add more.

  • We upload a directory photo of any staff member, volunteer or client‘ and it can appear in a list view, appear in a related list, appear in a report, and be published for appropriate public records such as staff directories. We can upload many more photos to the same record without them becoming directory photos. We can crop and edit.  We can delete. These same client photos appear in the flow when we select them for program deliveries!
  • When we enter clients for service deliveries, we now confirm with a photo when it’s available. And we now have list views of clients we have served recently with no image so we can find one from our photos and add it. This is going to be so helpful!
  • When we check out clients who are redeeming an incentive, we have a screen flow that takes care of everything. The team member types in a few characters of the name and then goes to the next screen. Now we can confirm the selection with a photo
    names can sometimes be overlapping or a little confusing.
  • We will soon take photos of people who drop off in-kind donations, smiling, and being greeted. This can be attached to a new donation record right from the team’s mobile phone so we can easily identify later who gave what. The photo can also be included with the receipt so the donor is reminded of their positive experience. We can lay out and sort complex donations into piles of different types of clothing and photograph the whole thing. This helps in interpreting notes. And one day soon we may give our users the option to bypass the notes by collecting a count and a photo of items one by one.  It’s quick and the counts and values can roll-up to create the entered descriptions we use now for receipts.. And, who knows… perhaps one day soon artificial intelligence will be able to give us a first guess of what and how many items are in each photo.
  • We can take photos of envelopes and check images and attach them to opportunities for later use during audit. Einstein was supposed to be able to read the check but I don’t think that ever panned out. And using open AI will probably be nonsecure. But even manual entry is quick but we keep the original checks for a year as backup. The image is more than sufficient! This is especially useful for those checks that come in at the end of your year or just show up super late because they took a side trip somewhere. Those always seem to be confused during the audit. These can all be private and visibility controlled by the opportunity record itself.
  • When we deliver service in our programs, we see a list of the attendees and of the services provided on the record page. But now we will be able to include the small formula field that has an icon version of the profile picture of every service recipient. And we can have visual clues in the list view of services delivered to help us distinguish from different services at a glance, without needing to read the description closely.
  • Related records like engagements and service delivered can have lookup fields to then contact directory photo and a formula field to display the photo. So we can have visual confirmation of the contact for better context on the record pages, in list views, in related lists and reports.

So… we’re happy with this investment. I just wish I could get back the months and months of research it took to discover that the SharinPix solution was right there in front of me the whole time. Everything has a cost: time, quality and financial. You can prioritize one, control one, but the other remains uncontrolled. In this case, I prioritized cost, tried to control quality, but time was seriously involved. But once I chose to prioritize quality/features, I managed to control the time, and the cost is manageable. Recurring annual costs make me nervous in the nonprofit world, but I think this one is worth it!

Leave a Reply

Your email address will not be published. Required fields are marked *