Changing the way Salesforce Admins and Developers think about client solutions.

Category: Automation (page 2 of 3)

Workflow for the 95%


My experience over the years has found that people can almost always come up with a reason why automation doesn’t work for their business case.

This is also known as “because I’m special” logic.

What I want to do is propose a few ways to break through that barrier and get automation going for your organization.

Once you start, everyone will love it, you just have to get over that first hump.

What I propose you do is build for 95% of situations.  I could say 99% which is closer to the truth, but then it sounds like the whole 99% of people thing which was cool for awhile.  It also isn’t true for this case – it’s for 100% of people, just 95% of cases.


Continue reading

Getting Around Email Restrictions at Work


Let’s say that hypothetically you are currently working at a place that doesn’t allow you to access Gmail/Yahoo Mail/Outlook web mail, etc because it’s blocked.

Let’s say that you see the emails come in on your phone but really hate responding to emails on your phone because:

  • Typos are annoying to you to see later
  • You make typos when using your phone
  • You tend to be long winded, possibly why you find a blog fun to write

Let’s say that not responding to emails drives you nuts, but by the time you get home you’ll forget

Let’s say that this hypothetical workplace has Salesforce, and you can always access your own Developer Org from there

What if I told you there was a way to bring all these things together and get around this whole mess completely.  Is that something you might be interested in?

Continue reading

Time-Based Workflow on Last Activity Date


I saw this request come up again on the Salesforce Community last week and thought that there must be a way to solve it.  This is something I see all the time and is a common request.

I believe that much of what I’ve done here can be completed using the Process Builder but I decided to use Andy Fawcett’s Declarative Lookup Rollup Summaries instead because as of right now that’s what I’m more comfortable with.  For those that want to try this with Process Builder and Flows, take a look at Michael Gill’s solution and see if you can get a hybrid version going.  Hopefully I’ll find some more time soon and can take a stab at that as a follow-up post to bring the solution completely in-house

Continue reading

Mileage Part 2 – Mobilizing

In the last post I went over how to create a very simple mileage object to automatically log mileage on my car each day I have to drive it somewhere.

To Summarize:

  • It’s basic, and would need formula adjustments every time I add a new destination
  • There are fail-safes to make sure I don’t screw up when entering data
  • There are not fail-safes if I mess up my formula
  • My goal is to have a way to quickly enter my miles on a daily basis

I went to use this today and I knew that it would take a few clicks in Salesforce1 to get what I wanted.  You take for granted on a desktop just how quickly clicks can be made, but they take that much longer on a phone.

I also forget if I mentioned it, but you can always emulate Salesforce1 by adding “/one/one.app” to the end of your SF URL so that it’s something like na16.salesforce.com/one/one.app


Do enter a mileage record on Salesforce1, even after automating the actual KM calculation:

  1. Open Salesforce1
  2. Open the side menu, scroll to Mileage if it’s even there – you need to have been to that object recently.
  3. Open the Mileage Tab (you may have to click on Show More here as well)
  4. Click the New button
  5. Choose Location from the picklist and confirm other fields are correct
  6. Click Save

So that’s 6 clicks, potentially more, just to enter a mileage.  Hard to do in the time it takes for an elevator to show up or a cross walk light to change.  I don’t like this at all, time to see what can be done.

Steps to better mobilization

What I really need to get rid of a few clicks right off the bat is a Global Publisher Action.  This will allow me to quickly create a mileage record right from the first page I see. I do this through:
Setup > Create > Global Actions > Actions and set the key fields


My Action is to create a mileage record.  Pretty self explanatory.  Saving this takes me to another page where I can determine what fields I want to pre-populate, and a button to change the layout:


Predefined values have in my experience been under-appreciated so far.  I’m not going to use it here because I do bounce around, but if I was working with the same client for a full month, I might set the location to always be a set value.  The key here is that I can always change it, but I’m pre-populating values for the 95% of cases.  This is all about saving clicks.  Think of it like the default value in text fields.  If you noticed in the last post I used this same idea at the field level to default the date.  In this case we are only defaulting on the mobile platform.  Think of it as what are they most likely to be entering while on the road, not necessarily what they are most likely to be entering overall.

The other piece is adjusting the layout for the publisher action.  It’s a similar idea – you don’t want to clog things up with unnecessary fields, so keep it simple.  Mine is basic, and designed for one-handed operation where possible.  Note that in general, everything is in line.  I only move to the other side of the page if I need to enter a custom value


On a routine day where I’ve remembered to do it right after getting out of the car, all I have to enter here is the location.

Once you have your layout and your pre-defined values, you need to add to the global publisher layout.  The default layout is:


In a word – cluttered.  In another word – useless.  Clean this up to only have what you will use.  Remember, you’ll be adding your own over time, you don’t want stuff here that will never be used.  It’s a dev org, who are you really going to Poll or Question?


That’s better, and I’ve now added the new publisher action for a new Mileage record.

Back to clicks again:

  1. Open Salesforce1
  2. Click on Publisher Actions and Create New Mileage.  I consider this basically the same as a picklist in terms of number of actions it’s so easy
  3. Choose Location
  4. Click Save

So by adding a global publisher action and an appropriate layout we’ve managed to reduce our clicks by a third.  Not just clicks, but we’ve really been able to reduce our navigation requirements.  Everything is done right from the Chatter feed.  Saving two clicks doesn’t sound like a lot, but try it and tell me that this isn’t now twice as fast as it was before.  I just checked and even with an internet lag, from the time it took me to open the app to the time it took me to put my phone back in my pocket logging a 200km trip to Waterloo – 10 seconds.

I’m still not happy with the scalability of my object, and we’ll be addressing that in a future blog post with both a more object oriented approach, and some custom code we can use to make it even better


Older posts Newer posts

© 2018 ExploitedDevOrgs

Theme by Anders NorenUp ↑