Wednesday, February 11, 2015

How I Use Jing, Clarify & Skitch to Train Salesforce Users on the Fly

"I'm trying to customize a report but my filters aren't working".... "I'm searching for an account but I'm not seeing anything in the results and it should be there".... "I don't see my opportunities."

In my role as a Salesforce Admin, I regularly receive emailed questions like this - not so complicated that scheduling a screen-sharing session is necessary, but not simple enough to warrant a "send me a link to the page you're on and I'll fix it" response. Often, it's a case of someone needing a little extra training.
Note: I've talked about this topic before (see this post: "How I Changed My Attitude Toward Internal Tech Support"), but I've updated my methods in the last few years.

I prefer to not just call someone up on the phone and tell them what to do. Why? Because...
  1. What happens when the person I'm helping forgets about our conversation and stumbles across the same issue? 
  2. Schedule and time zone differences tend to yield a thread of 'what time works for you?' emails that drive me nuts.
  3. When the question comes up again with another person, it's great to have a resource that I can share quickly. I'm saving my future self some time.
  4. Phone calls are disruptive. I'd rather they review my response at the best time for them.
  5. Showing is always better than telling.

To help me use these opportunities to teach people individually, I use these three tools:
Links: Clarify (from ScreenSteps) | Skitch (from Evernote) | Jing (from TechSmith)

To determine which tool to use, I consider how I can answer their question best.

  • Will a single marked-up image do the trick? Use Skitch.
  • Would I type a numbered list of instructions in an email in response? And would pictures be helpful? Use Clarify.
  • Can I explain this best by walking them through the steps personally? Use Jing.

How I Use Skitch

I prepare my screen so I'm viewing what I want to capture, then use the keyboard shortcut for a crosshair snapshot (meaning I 'draw' around the area I want to capture).

I use arrows, boxes or text to annotate the image as necessary, drawing attention to a button they should click on or a field that they need to populate.

Note: Jing can also be used for individual screen captures, but I prefer Skitch because I can drag and drop the images directly into Gmail.

How I Use Clarify

When someone asks me a question that will involve a step-by-step answer, I love to use Clarify. It's a quick and easy way to create one-of tutorials that combine written instructions with annotated images that show them exactly what to do.

I typically share my tutorials via a link, but there's also an option to export as a PDF or to Evernote.

How I Use Jing

Jing is easily accessed from my menu bar. I choose the area that I want to record and click to start the video recording.

Most of the time, I record audio so I can explain what I'm doing. But on occasion I leave the audio muted if no other instructions are necessary aside from a quick demo.

I keep my explanations brief - usually right around a minute. Then, with a click, I can upload the video, then the link is automatically copied and I can paste it in an emailed response.

The Result

Recording a short video, preparing a step-by-step tutorial or capturing my screen may take a smidge more mental energy, but it doesn't take much longer than composing some instructions in an email. The results have been well worth the effort.

I received this response today after I sent a coworker a video about how to customize an existing report.

Click here to see another example of the response I've gotten to this method.

Does your job involve providing tech support or training for coworkers? If so, what tools have you found successful? I'd love to hear about them in the comments.

Thursday, January 8, 2015

Salesforce Admin Journal: Simple Sidebar Feedback Form Using JotForm

Hello my fellow Salesforce admins!

I'm working on rolling out a few changes to our Salesforce org and want to make sure that users can offer feedback as painlessly and conveniently as possible. They shouldn't have to switch tabs or compose a new email, or input any other information aside from their comment.

Ideally, a 'Comment' box and 'Submit' button could dwell right there in the sidebar itself. But, after some googling and brainstorming, I wasn't quite sure how to implement a solution that simplistic.

Instead, I found a workaround for the next best thing: a link to a popup form (created with Jotform, one of my favorite tools) that pulls in the user's email address from the url.

Here's how it turned out:

Designing my super simple form in Jotform. 

I customized the thank you page.

I created my url - passing the current user's email into a field on my form, per this tutorial.

The finished link

The form pops up.
The email notification that I receive when a user submits a comment with the form.

All things considered, I'm content with this simple solution. It might not be the most elegant, but it's easy for users to use and easy for me to maintain/customize.

Win win.

Thursday, December 4, 2014

Salesforce Admin Journal: Guide & Gather Feedback Using a Google Form Before Deploying Changes

Hello fellow Salesforce admins!

In this post, I'm going to share a challenge I faced as an admin and the solution I came up with.

Imagine that you've made some changes to your Salesforce org that you'd like users to test - a new visualforce page with a few new fields, for example. You want to easily gather their feedback but the idea of assembling everyone's responses via a bunch of separate email conversations makes you antsy. Plus, you'd like a way to guide them through the testing step by step. 

You want to make it as simple as possible for them to share their comments... because you know that will encourage your testers to actually provide feedback... which will improve the quality of your changes when you roll them out to your entire org.

Now that you've got a good idea of the challenge, here's my solution: Google Forms

I created a form that outlined the process for testing and provided a text area for comments at each step. 

It looked similar to this (but with quite a few more screen captures and long text fields):

Now, after my group of testers are done, I can easily review all their feedback in a Google Spreadsheet.

If you'd like to make a copy of this sample Google Form to customize for your feedback-gathering needs, click below:

Note: Clicking on this button will run a custom Google Script that will copy the file to your Google Drive. You'll have to give it permission to run first.

PS - I followed these instructions from the answer from Arun Nagarajan to create the Google Script that allows you to copy the Google Form to your own Drive. Handy dandy!

PPS - I wrote this post on my own without prompting or compensation from any of the software companies involved.

Tuesday, October 28, 2014

Free Trial of ccScan: Scan & Automatically Upload Docs to Salesforce

As a lover of Salesforce and cloud storage (Google Drive, Dropbox, etc), I'm always interested in tools that improve efficiency. 

ccScan is a scanning solution for people that want to scan documents to the cloud. They offer a Salesforce connection that allows associating a scanned document with a record dynamically based on either a barcode or OCR matched value. Here's a link to more information about ccScan for Salesforce.

Right now ccScan is offering a free trial, weekly $50 Amazon gift card draws and a contest to win $500. The contest will last until November 19th.

If you're interested in giving this scanning software a try, now seems like a great time!

If you've already tested out ccScan, I'd love to hear what you thought about it in the comments.

More about ccScan:
  • Salesforce integration works with: Group, Professional, Enterprise and Unlimited editions
  • Connections to several cloud storage tools, such as Dropbox, Box, Salesforce, Sharepoint, Google Drive, Amazon S3, etc.
  • Windows only
  • About security: "Documents are safeguarded with Secure Hypertext Transfer over Secure Sockets Layer (SSL) while transferring to and from the Cloud provider. All jobs are fully protected by password and powerful built-in .Net encryption. ccScan also supports VPNs and tunneling secure transfer methods. For more sensitive jobs, use ccScan’s built-in AES encryption technology, recognized by the U.S. National Institute of Standards and Technology as an FIPS Standard." - [source]

PS - I did not receive any compensation for this post. However, I am sharing this information after being contacted directly through this blog by a marketing representative for the company. I have not tested the software myself (my job is paperless and I use a Mac, which isn't supported by the software) but wanted to let people know about the free trial and contest.

Monday, October 13, 2014

Simple Method for Processing Digital Media Using Pocket, Feedly and Evernote

Processing the flood of available digital media can be overwhelming.

Blogs, bookmarks, pins, articles, quotes, emails. Random inspiration and useful information is scattered all over the web.

Here's my method for keeping things organized:

Evernote... allows you to organize information (bookmarks, clips of web articles, audio snippets, images, handwritten notes, etc) in digital notebooks.

Find out how to get started with Evernote here.

I use the desktop version primarily and pay for the premium subscription - totally worth it!

I'll outline my favorite tips and tricks for using Evernote productively in a future post.

  • Get the Evernote Web Clipper for Chrome here.

Pocket... is a useful resource for saving web content for future reading. Whether I'm using my desktop computer or my smart phone, it's easy to send a link to Pocket to come back to.

I'm currently using the free version.

  • Get the Save to Pocket extension for Chrome here.

Feedly... is the software I chose to review blog posts after the demise of Google Reader. I've found that I actually peruse posts with Feedly a lot more often than I ever did with Reader thanks to a layout that allows for super speedy scrolling.

Feedly Pro allows you to save posts directly to Evernote, but right now I'm using the free version and saving to Pocket instead.

PS - I haven't been compensated by any of these software companies. I just happen to love these tools!

Logos found here: Evernote, Pocket, Feedly.

Tuesday, June 10, 2014

After Installing the ScreenSteps Sidebar Search Widget for Salesforce...

I've been using ScreenSteps for internal documentation for a few years now. The software is a great solution when it comes to serving up educational resources to my Salesforce users.

As part of my ongoing mission to improve the experience for new and existing users, I discovered that I had apparently missed the easy-to-install and super useful sidebar widget that ScreenSteps has made available.

I installed it yesterday evening and... I love it.

I had been using a custom tab that displayed our ScreenSteps manual, but it wasn't convenient enough for most of my users... and I often had to remind them to add it if they had customized their visible tabs.

This sidebar search widget is a big improvement for my org!

Next I plan to implement contextual help.

By adding these features, I'm laying the groundwork for the improvements that I'm working on defining for our documentation. This is something I'm still struggling with because it feels so overwhelming, but I'm thankful to ScreenSteps for all of the great resources they have made available! (Check out and subscribe to the ScreenSteps' Salesforce Adoption Blog if you haven't already.)

Now, it might seem a bit backward to add a widget before completing the changes to our documentation... but I think this is just what I needed to get me excited about all the work involved in defining new processes and establishing workflows.

PS - ScreenSteps didn't ask me to write this post. I'm just a happy customer.

Tuesday, June 3, 2014

Tip: How to Fire an Updated Trigger on Existing Salesforce Records

Hey Salesforce Admins,

Here's a tip to help you if you've got a recently updated or newly created trigger (or workflow rule) that you want to fire on existing records.

Create a custom 'Admin Filter' text field on the object that you are running the trigger on. You don't need to add it to any page layouts or make it visible to users. (I chose this method because I didn't want to update any existing fields that are already in use in order to force the trigger to fire.)

Then, use the Data Loader (or Mass Update Anything) to update that field on all of your records.

Ta-da! The update will fire the trigger on all records that match whatever criteria you've specified.

Now, I'm off to do this in my own org.

Friday, May 16, 2014

Salesforce Admin Journal: Teaching a Man to Fish.... or at Least to Create a Report

I regularly receive requests from users to create a specific report. Often these are reports that no one else needs access to.

We are trying to cut down on the number of reports in the 'Unfiled Public Reports' folder. So, I'm encouraging users to save reports that they may need in the future to their 'My Personal Reports' folder.

I'm also working on teaching them how to create reports on their own. As I mentioned in this post from last year, I think it's important to educate people whenever possible rather than just doing something for them automatically because 'it will take me less time.'

This method doesn't just benefit me by reducing the number of request I will receive in the future. It also helps my users become more self sufficient and capable.

Today, a user chatted me a report request. In response, I recorded a one minute long tutorial that will help him learn the basic skills needed to prepare the report himself.

Here's the response I received:

That was totally worth the few extra minutes it took me to record the tutorial using Jing.

Thursday, May 15, 2014

Use LexiLoader to Export a Subset of Salesforce Records Based on Id

I want to extract specific fields for a subset of records. I have the ids of the records that I want to extract, either from a previous export or from an exported report. But, there's really no way to extract specific fields based on just those ids.

With the Excel Connector (for Windows), this is easily done by running a query based on the ids. It's also super handy for updating those fields either individually or in groups.

But, as a Mac user, my options are limited. In fact, I don't know of another way to easily query a subset of records based on their id.

Now, this situation can probably be avoided most of the time. But, here's where I run into it: Sometimes, a user will send me an exported report or copied/pasted data and want updates to be done on the records. In that case, I might have to extract the ids from hyperlinked records first. (Here's how I do that.)

Another scenario I run into is extracting records with lookups, eg: opportunities. When I run the export with LexiLoader, any lookups (such as Account) pull in just the record ids. If I want to display the Name, I'm kind of stuck. (Although, as I'm typing this now, I realize that I can probably get around this by including the related field in my SOQL query. Doh. Oh well, I'll share my previous method just in case anyone else can benefit.)

Anyway, here's the method I used:

1. Grab your record ids that you'd like to query and update.
1. Grab your record ids that you

2. Use the record ids to build your SOQL query.

I demonstrated this technique - using a concatenated formula to build query criteria - in a short video here.
2. Use the record ids to build your SOQL query.
Drag the formula in your second row of data down. You'll get the combined concatenated criteria for your query.
The last row will have all the ids ready to be copied and pasted into your query.
Mine looked like this:
'0017000000b1bFCAAY' OR ID= '0017000000b2Ca8AAE' OR ID= '0017000000cEUwnAAG' OR ID= '0017000000colvrAAA' OR ID= '0017000000eiRbPAAU' OR ID= '0017000000iewgvAAA' OR ID= '0017000000iVUjZAAW' OR ID= '0017000000mJWy1AAG' OR ID= '0017000000nXFZRAA4' OR ID= '0017000000pG0BdAAK' OR ID= '0017000000RAUMiAAP' OR ID= '0017000000SGWm9AAH' OR ID= '0017000000T1GmbAAF' OR ID= '0017000000T1O36AAF' OR ID= '0017000000T3mPxAAJ' OR ID= '0017000000T3TM4AAN' OR ID= '0017000000TEq8dAAD' OR ID= '0017000000TFRUmAAP' OR ID= '0017000000TpUqCAAV' OR ID= '0017000000TpVQGAA3' OR ID= '0017000000TVkxkAAD' OR ID= '0017000000TYg9tAAD' OR ID= '0017000000UeKKZAA3' OR ID= '0017000000UfnOFAAZ' OR ID= '0017000000UfXxrAAF' OR ID= '0017000000uMigaAAC' OR ID= '0017000000uMWgbAAG' OR ID= '0017000000uMWhQAAW' OR ID= '0017000000uMWhUAAW' OR ID= '0017000000uMWiDAAW' OR ID= '0017000000UuVBmAAN'

3. In LexiLoader, navigate to the Export wizard.

3. In LexiLoader, navigate to the Export wizard.

4. Choose your object, then click on 'Browse' to create your export file.

I have a list of Account ids, so I chose 'Account,'
4. Choose your object, then click on

5. Give the export file a name. Click 'Save.'

I usually try to be fairly descriptive so that I can easily identify the purpose of my export.
5. Give the export file a name. Click

6. Click 'Next.'

6. Click

7. Choose the fields to include.

7. Choose the fields to include.

8. Update the query formatting as necessary.

I needed to add 'WHERE id = ' so that I can proceed with the next step.
8. Update the query formatting as necessary.

9. Paste the concatenated query criteria that you copied from your last row of formulas in step 2.

9. Paste the concatenated query criteria that you copied from your last row of formulas in step 2.

10. Click 'Finish.'

10. Click

11. Choose 'Yes.'

11. Choose

12. After your export is complete, open the file that you named in step 5.

You'll see all of the records that you specified in your query criteria.
12. After your export is complete, open the file that you named in step 5.

13. Update or use your data.

When I've used this method in the past, there have been two reasons - to update a segment of records or to use them in a vlookup based on id in my original spreadsheet.

If you want to update...

There are a few different ways to do your update, depending on your circumstances.

  1. In your original spreadsheet of just ids, create a new column for each field that you want to update. Pull each column that you need in with a vlookup. This is helpful if you've already done some editing on your original spreadsheet and don't want to lose it.
  2. Use your export spreadsheet to update data as needed. This is the best option if you haven't already made changes on your original spreadsheet.

Upload your changes using LexiLoader.

Tuesday, May 6, 2014

Why Didn't I Convert this Raw HTML Template to Canvas in Vertical Response Before Now?!

For the past several years (yes years), I've been editing our Vertical Response emails directly in html. Originally, a web dev helped us create the template and then I'd just update with new content when we'd launch new email campaigns.

Why was this a problem?

There were nested tables 3-layers deep to maintain the layout. It looks great on the front, but behind the scenes, I was really struggling to make text and layout modifications quickly.

Vertical Response has several modes for email drafting - you can use their wizard, design in canvas mode (a little WYSIWYG editor), import raw html or do plain text.

Once you choose raw html, it doesn't allow you to toggle to the WYSIWYG side. I was stuck reusing the same template and spending hours modifying the raw html.

I know the basics of html but it was so labor intensive to make a small change and then double check - and if I made a mistake, I had to start from scratch because I'd saved it to preview, unless I copied and pasted a backup each time. Ugh.

BEFORE: I created each email campaign by manually editing an html template for years.

How I Made it Better

I meticulously recreated the template from scratch in canvas mode. I did this all visually, with the help of this tool for toggling between html and WYSIWYG to make sure I was on the right track.

I opened up the existing html template on one side of my screen, and a new email template in Canvas Editor mode in Vertical Response on the other side.

[Left] Recreating my template in the VR canvas editor. [Right] My original VR html template, open in a WYSIWYG editor.

I manually recreated each cell in every table and formatted the background and content, making a few slight modifications to give the template a more modern look. It was rather labor intensive, but now when I want to make changes, I've got a converted email template to easily manipulate.

AFTER: An canvas email template that is easy to update in the VR graphical editor!

I don't know why I didn't do this sooner!

Related Posts Plugin for WordPress, Blogger...