top of page

It's Natural: Sometimes People Don't Finish

  • Writer: Michael Kolodner
    Michael Kolodner
  • 4 minutes ago
  • 3 min read
Freebie turning the crank on a 19th Century calculating machine.

I recently had problems in two different client orgs where users found evidence that a screen flow wasn't working. Different screen flow. Totally different set of actions it was supposed to take. But the users noticed that emails apparently weren't sent. Or fields weren't updated. And these were both screen flows that had been thoroughly tested and had been in use for months, if not years.


I'll give you a screenshot of one of the screen flows that had the problem. Click to enlarge, if you wish, but there is no need to pay attention to the actual details of this flow:

A somewhat-complicated screen flow's canvas.

Here's a simplified representation of how most screen flows work, and plenty representative of that one:

A screen flow canvas. There is a Get Records, then a screen, then a loop and some actions, another screen, then a Send Email and a Create Records.

To list it out, it goes like this:

  1. Get some records (or do other logic).

  2. Present a screen to the user.

    Screen 1, which says "We are going to send emails to 47 people that are related to this record. What subject would you like to use?" Then there is a text entry component. It has a Next button.
  3. User clicks Next.

  4. Do some logic based on the user input.

  5. Present another screen to confirm for the user what is about to happen.

    Screen 2 says "Everyone will be emailed!" and has a Finish button.
  6. User clicks Finish.

  7. Do final actions and logic.


But can you spot the major flaw?

I would estimate that at least one in ten runs of this flow will do absolutely nothing.

Hints:

  • It has nothing to do with any of the component settings.

  • Fault paths would not help.


Did They Finish?

The problem is that the actions in step 7 take place after the user clicks Finish.


It's subtle, but think about it for a second: What if the user never clicks Finish?


Yes, it's a big, bold, tempting Finish button. And I've been known to use language like "after you click Finish..." to describe what's about to happen. But there is still a non-zero chance that the user will abandon the screen flow as soon as they get that final screen. They could click away from it to elsewhere on the page. If it opened in a modal, they could click the X to close the window. (I'm sure there are other creative ways that haven't even occurred to me.) And it's virtually impossible to actually track this—there's no logging of the action a user didn't take.


I guessed that this was happening in both cases of my clients whose screen flows "stopped working" and when I asked the users in question, they admitted it was likely what had happened.


The Fix: Finish Before Finish

This is clearly easy to resolve. Just move all the actions of your screen flow to before the point where a user would expect they have already happened. There are always going to be reasonable use cases for launching a screen flow and then canceling it, of course. But at any point that the user might think the flow has acted, you need to make sure it already has.


So for my simplified flow, edit to look like this:

Same simple flow as shown before, but now Screen2 - Confirmation is the very last thing in the order.

On the real flow, I just had to move a few things around at the very end. This, with the Update Records step at the end:

The last part of a flow canvas that ends with an Update Records step.

Became this, where the update is complete before the final screen:

The last part of a flow canvas that ends in two branches. Both have an update records step and then a final screen.

I've pretty much come to the conclusion that the last screen in a screen flow should always be the absolute last thing on the canvas (other than a Navigate Everywhere component, perhaps). All actions and logic take place before it looks to the user like the flow is complete. That might mean I have one more screen, so they have a chance to consider an action before clearly clicking "Take Action", and then at the end they get a confirmation screen that's just window dressing.

Don't wait for the next post! Get them in your In Box.

bottom of page