Visual Workflow Session - DCNPUG - March 2017

This post is the outline for my presentation on visual workflow at the march 2017 dc nonprofit user group meeting

  1. what is flow
  2. the 3 types of flows
  3. when I use flow
  4. what flow is good at
  5. what flow is not good at
  6. when I use flow very carefully if at all
  7. how to learn about flow
  8. when good flows go bad - debugging flows
  9. advanced flow tips / tricks / demo

what is flow

Visual Workflow, built using Force.com’s Cloud Flow Designer, lets you visually string together one or more forms, business rules, and calls to backend APIs to implement a complete business process without writing code.

Visual Workflow is the product name, Cloud Flow Designer is the tool, and flows are the thing that you create.

so really, what is flow

its a really cool tool that leaps past a number of barriers that required code. everything you can do w/ process builder you can do w flow, but many things that you can do w flow cant be done w/ process builder

the 3 types of flows (according to me)
a. autolaunched - launched like a workflow rule, from change of record, via process builder (system mode)
b. ‘regular’ - launched by clicking on a button or link or embedded in a visualforce page / lightning component (user mode)
c. user login flow - launches when users log in (system mode, but with user interaction!)

when I use flow
a. to create records
b. to update related or unrelated records
c. to work with multiple records
d. to delete records
e. to present a screen to collect info / display info
f. to validate data before proceeding

what flow is good at
a. proof-of-concept / mvp
b. figuring out your business logic
c. dynamic approval processes
d. updating parent records from tasks/events
e. guiding staff through a process
f. simple forms (even for website visitors / non-users)
g. user login flows - amazing!
h. working with multiple records
i. record sharing

what flow is not good at
a. lookups (ugly and painful)
a. bulkification (this is a big one)
a. user interface (though that has been ~fixed w/ the lightning UI)
a. sending users to records created in the flow (requires code, and in lightning UI sending users to the record that started the flow also requires code)
a. relationship queries - querying children when you have a list of parents flow could easily query all accounts created yesterday, but could quickly hit limits querying all the contacts in those accounts
a. bugs, errors, and just being totally infuriating at times.

a. it uses flash. see item above.
a. doesnt fire on delete

when I use flow very carefully if at all
a. when you are worried about hitting limits
a. like when you have complex integrations or code or apps already running on the objects
a. objects that you frequently run data loads on (unless you like running with a batch size of 1)
a. mission critical functionality. strange things happen. no unit tests. flow is as awesome as it is easy to break.

a. generally, i try to avoid autolaunched flows on the core CRM standard objects if at all possible (same goes for process builder).

how to learn about flow
a. trailhead automate business process trail
a. this really old webinar from 2011 is still really good
a. visual workflow guide on developer.force.com
a. this post on my blog has a list of other flow posts, blogs, webinars, and other resources
guide to deciding what automation tool to use
workflow vs process builder vs flow

debugging flows
see this post

flow tips / tricks / demos
lets build a flow!
set flow interview label
user login flow demo : un : onboardingtest@ashoka.org.ssotest url
attachment + multi-select flow demo : record flow
sharing records flow demo : record flow
dynamic approval process demo if time allows…
additional examples on this post

 
3
Kudos
 
3
Kudos

Now read this

Default outcome in decision elements

I don’t like using default outcome in decision elements. I want to expressly define which path should be taken, and dont want the flow to take a path because i did not anticipate something. Then I ran into an issue where a flow was... Continue →