Gorav Seth

Salesforce MVP | Permaculture designer

Read this first

Lookup Fields in Flow

They have arrived with winter20. And they are tricky! Logging my initial thoughts and experiences to something I’ve been really wanting for years.

You can’t directly reference an object, like i want to do a lookup to campaign.

You have to reference an existing lookup field on a child object, like I want to lookup Campaign from Campaign Member, or I want to lookup Accounts on Opportunity.

As far as i can tell the end result is the same - you get the record ID, and you get the record name.

It looks like getting any other fields requires you to do a separate get records step, but thats easy enough.

See the image from the release notes - its looking up account from opportunity.

222_rn_forcecom_flow_fbuilder_lookup_builder.png

Here is a screenshot of my lookup to campaign

Screenshot 2019-09-27 at 12.09.34 PM.png

RecordId allows you to pass in a default value.

For more details, which Brian Kwong’s video here

My use cases
– i use a flow to create contacts, will be...

Continue reading →


DC NPUG Winter20 Release Highlights

NPUG Deck

Release notes : https://releasenotes.docs.salesforce.com/en-us/winter20/release-notes/salesforce_release_notes.htm

Useful blogs
jen lee : https://jenwlee.wordpress.com/2019/09/23/winter-20-release-highlights/

gears crm : https://www.gearscrm.com/salesforce-winter-20-features-lightning-sales-cloud-einstein-sales-cloud-and-force/


Significant improvements to two long-neglected areas
Opportunity Contact Roles go business class
– custom fields, page layouts, validation rules
– triggers
– customize which fields display on the related list on opps
but…
– no workflows / processes (code - not clicks!!)
– no record types :(
– no custom buttons
– And for $(%RI$%($)% sake, I still could not find a way to display the role field itself on the opp related list on contact. you can only see your custom fields on the contact roles related list on opps.

– Editing custom fields are...

Continue reading →


Using Picklist API Values IRL

I recently built an integration and decided to use the new-in-2017 functionality to customize picklist API values to store the external ID for the system I was integrating into. Per developer force, doing so would “protect your picklist integrations” by allowing “ admins to change what users see when they view and select picklist values on a record, without impacting code that references these values.” And who wants to practice unsafe integration?

Using picklist API values did make things a bit easier on a number of fronts
- no conversion table needed
- ux with picklist is better for users vs using a lookup against an object

And presented one minor challenge
- no easy way to add picklist values + api values in bulk (i pulled it off by creating the filed, exporting the metadata w/ workbench, tweaking the metadata using a text editor, and deploying back via the metadata...

Continue reading →


Using quick actions as a template in flows

Finally figured out a use case for using quick actions in flows.

They can provide consistency for when you need to do the same thing in multiple flows / processes, and want to ensure that specific fields are populated.

All required fields on the action layout are required when you use the action in a flow / process. Any optional fields on the action layout are available to be added if needed. But - any fields not on the layout are not available, so it is also a constraint.

Some use cases I can envision

  • creating a case on flow failure
  • creating contacts / leads
  • logging calls

My use case was a custom object called ‘integration request’ that I have setup to centralize a few callouts to external systems. Its like I imagine platform events could be used - if I understood platform events.

So there is a global action like so:
Screenshot 2018-09-04 at 1.59.25 PM.png

And in the flow, I can leverage the action like so:
Screenshot 2018-09-04 at 1.50.01 PM.png

And...

Continue reading →


101 little things to make salesforce a lot better

A sporadically maintained list of coal seams smoldering deep in the caverns of salesforce.com that cause needless liver damage in many an awesome admin.

In honor of summer19, this post now has the subtitle of:

101 things that might be more helpful than confetti (which, for the record, is actually kinda fun).

Misc Nonsense w Fields and Reports and such

  1. parent case field not available on case close layout
  2. parent campaign field not available on activity with campaign report type
  3. primary contact not available on activity with campaign report type.
  4. primary campaign source not available on opp related lists - without formula field
  5. Amount and expected revenue not available on standard campaigns w opportunities report type, but available w formula fields
  6. cant load data to description field on campaign member?
  7. link to view hierarchy on case list view (why do i have to create a field for...

Continue reading →


Using flows as a form tool for external users

There are many good form tools that integrate with Salesforce. Salesforce even has their own surveys product now - which will be interesting to watch.

But i’m going to illustrate how to roll your own using visual workflow, embedded in a visualforce page, on a force.com (er, lightning platform) site.

If you just want to see the finished product, go here and try it out

And some caveats : Site external users cant update any standard objects, only insert. So you will need to use a custom object and a flow / process to update the contact. And i have no idea if this is in violation of any of the salesforce terms of service, since you are using a workaround to something that they have blocked. So…with that out of the way…onwards

Ingredients:

  • a flow
  • a visualforce page
  • a site
  • a lightning application

You can build them yourself (recommended) or install all except the site from this...

Continue reading →


The Magic of Actions in Process Builder and Flow

The ability to use quick actions in process builder / flow has been around for a few years, but i’ve never seen a reason to use them.

I figured some out this weekend. Here are the use cases I see.

a) standardization :
if you will do the same thing (or almost the same thing) multiple times, building an action ensure standardization, and allows for easy updates if a change is needed. you can enforce required fields at the action level, even if the fields are not required at the object level. its a template / contract for creating an object. powerful stuff.

Note that this can be useful for doing the same thing on multiple nodes in a single process, or if processes on different records do the same action, say create a task or a case.

b) in process builder, quick actions can let you update unrelated records (as long as you know the record ID). so you dont need a lookup field to the...

Continue reading →


Creating a Global Picklist with custom API values

Global picklists are great. As is the ability to customize the API names separately from the label. But while you can create picklist values via copy/paste, you have to update the API values individually.

For small picklists its not that hard to do manually, but for large ones, there is another, better, way.

  1. create a temporary global value set via the UI
  2. retrieve it using workbench
  3. set the values in the xml
  4. insert the picklist via workbench

alternatively you could create the entire xml file manually and skip step 1 and 2, but that part is so easy via the ui that you might as well do so.

step 1 is covered in help and training

for step 2, this doc, has the info for the package.xml file you need (also copied below) and this article has a step by step for the retrieve process - just note you would use the package.xml as specified below.

<?xml version="1.0" encoding="UTF-8"?>
...

Continue reading →


Spring 18 Release

02-15-2018

Notes for DCNPUG Spring 18 Release Review from sales cloud user / admin perspective

overall

  • flows are getting love
  • more parity / functionality for reports / dashboards in lightning
  • a lot of customization in lightning
  • strong productivity enhancements in lightning
  • some great new formula functions!!!

resources

  • Release site has downloadable release overview pdf and lots of highlights
  • Release readiness live videos
  • Release Readiness Group on Trailblazer Community has lots of info and a new release ppt deck every release
  • Release notes
  • Release Demo Webinar - new? Just joined today and it was AWESOME, never have seen this before - high speed, lots of demos, little else. Highly recommended.

new functionality (classic + lightning) and feature

  • flow - lightning components, override header and footer, stages, upload files, launch from object specific action
  • lightning...

Continue reading →


Displaying a comma/semicolon separated list of emails

I’m doing this on a custom object, odds are you will want this on campaign member. So where you see ‘worker’, use ‘campaign member’.

4 steps

  1. lookup the records and add to sObject collection
  2. loop through them
  3. use an assignment element to add the loop variable email to a text variable
  4. display the text variable in a screen

overview_1.png

most of the magic happens in the assignment element, where i add the email to a text variable with a semicolon, and use a constant to add a line break

assignment element
assignment_1.png

constant
constant.png

and here is the result

result_email.png

If you want to get fancy and let users select records from a list view and only export those, you can do that using the approach illustrated by Sir Andrew Fawcett here : https://andyinthecloud.com/2014/06/04/more-power-to-your-flows-in-summer14/

Continue reading →