Top Banner
Go Faster with Lightning Process Builder London May 21st, 2015
29

Go Faster with Process Builder

Apr 09, 2017

Download

Software

andyinthecloud
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Go Faster with Process Builder

Go Faster with Lightning Process BuilderLondon May 21st, 2015

Page 2: Go Faster with Process Builder

Andrew FawcettForce.com MVPCTO, FinancialForce.com@andyinthecloud

Simon GoodyearForce.com MVPCTO, Beaufort 12 @simongoodyear

Speakers

Page 3: Go Faster with Process Builder

About FinancialForce• Native on the Salesforce1 platform• FFA (Accounting)• HCM (Human Resources)• PSA (Projects Management)• SCM (Manufacturing)

• HQ San Francisco; Development teams in US, UK and Spain (550 employees)

• www.financialforce.com

Page 4: Go Faster with Process Builder

Agenda• What is Process Builder and why will it make me faster?

• Adding new Process Builder Actions with Apex

• Demo of Process Builder and Invocable Methods

• Invocable Methods Best Practices

• Questions

Page 5: Go Faster with Process Builder

Process BuilderWhat is it and how does it help

me go faster?

Page 6: Go Faster with Process Builder

What is Process Builder?• Introduced as part of the Lightning Framework

“a point and click tool for automating business processes” sits under Workflow & Approvals

– Similar to Workflow…• Processes driven by users manipulation of Records• Workflow Actions Email Alerts, Approval, Field Updates

– But much more…• Actions can be Immediate or Scheduled• New Actions, Manage Child Records, Post to Chatter,

Call Flow, Call Apex

– Plus a great new Visual UI!

Page 7: Go Faster with Process Builder

Process Builder Use CaseGo faster by coding less and building more with clicks not code!

• Create related Child Records– “Create a Contact when an Opportunity is Closed”

• Update related Child Records– “Close all cases when an Account is set to inactive”

• Automatically start Approval Process– “Approve a Sales Invoice once status is Ready for Approval”

Check out a great blog from Paddy Butler, TQuila “Salesforce Process Builder - Automate processes in Salesforce like never before”http://www.tquila.com/blog/2014/11/12/salesforce-process-builder-automate-processes-salesforce-never

Page 8: Go Faster with Process Builder

Process Builder Use Case - DemoUse Case: Reset discount to all Opportunity Products in one operation

Page 9: Go Faster with Process Builder

Process Builder Use Case - DemoUse Case: Reset discount to all Opportunity Products in one operation

Page 10: Go Faster with Process Builder

Process Builder Use Case - DemoUse Case: Reset discount to all Opportunity Products in one operation

Page 11: Go Faster with Process Builder

Invocable MethodsIntroduction & Code Examples

Page 12: Go Faster with Process Builder

What are Invocable Methods?• When standard Process Builder Actions are just not enough,

do I have to stop using Process Builder?

• A means to extend Process Builder with Apex! *– Have developers think about exposing ‘actions’– Consider packaging actions for greater reuse

* It is also possible to extend the Salesforce Visual Flow tool in the same way. Invocable Methods can also be called Salesforce REST API, e.g. mobile clients

Page 13: Go Faster with Process Builder

Invocable Method Example A

NOTE: None void return types from Invocable Methods are supported, but are not of interest to Process Builder.

Page 14: Go Faster with Process Builder

Invocable Method Example B

NOTE: Note use of label and required variables enhance the Process Builder UI for the end user

Page 15: Go Faster with Process Builder

Invocable MethodsDemo: Automating Setup

Page 16: Go Faster with Process Builder

Invocable Method Demo: Automating Setup• Using Process Builder to implement sudo Universal Picklists!

*

* Upvote the real Univeral Picklist Idea here!https://success.salesforce.com/ideaview?id=08730000000BrfBAAS

Page 17: Go Faster with Process Builder

Invocable Method Demo: Automating Setup• Using an Invocable Method to expose the Salesforce

Metadata API

Download Source code here, also requires Apex Metadata API deployedhttps://gist.github.com/afawcett/78b8d238311b3df06e2c

Page 18: Go Faster with Process Builder

Invocable Method Demo: Automating Setup• Defining the Picklist Process via Process Builder

IMPLEMENTATION IDEA: This Invocable Method could be enhanced to take a list of Custom Fields and avoid having to have multiple Actions in Process Builder?

Page 19: Go Faster with Process Builder

Invocable MethodsDemo: Send SMS Message

Page 20: Go Faster with Process Builder

Invocable Method Demo: Send SMS Message

Page 21: Go Faster with Process Builder

Invocable Method Demo: Send SMS Message

Page 22: Go Faster with Process Builder

Invocable Method Demo: Send SMS Message

Page 23: Go Faster with Process Builder

Invocable Methods Best Practices

Page 24: Go Faster with Process Builder

Invocable Methods Best Practices *• Platform enforces valid method signatures on Save…

– Bulkification on method signatures• Make sure you code is fully bulkified including associated Apex

classes– Read in detail the Developer Guide topic “Invocable Method

Considerations”

* These also apply when consuming Invocable Methods from Salesforce Visual Flow and Salesforce REST API

Page 25: Go Faster with Process Builder

Invocable Methods Best Practices *• Security

• Use with sharing on the class and only elevate to without sharing as needed, treat as controller class

• Considering check CRUD and FLS, this is an major entry point

• Design Considerations– Design for your admins not developers this is not a typical API!– Apex class, parameter and member names matter, naming convention!– Make use of label, description and required annotation

attributes to make your methods more accessible to end users of Process Builder

– See my blog ‘Extending Lightning Process Builder and Visual Workflow with Apex’

* These also apply when consuming Invocable Methods from Salesforce Visual Flow and Salesforce REST API

Page 26: Go Faster with Process Builder

Recap• Go Faster with Process Builder!

– Reduce Implementation Time• Many use cases previously only possible with Apex Triggers now

possible with clicks not code via Process Builder

– Developers and Admins Working Closer Together to automate more!• Think about ways to extend Process Builder via Invocable Actions

– Opportunities to create Libraries of Invocable Methods to share• Invocable Methods can be packaged

Page 27: Go Faster with Process Builder

Resources• developer.salesforce.com

• Community Blogs featuring Process Builder and Incovable Methods

– Lightning Process Builder and Invocable Methodshttp://bobbuzzard.blogspot.co.uk/2015/02/lightning-process-builder-and-invocable.html

– Extending Lightning Process Builder and Visual Workflow with Apexhttp://andyinthecloud.com/2015/03/01/extending-lightning-process-builder-and-visual-workflow-with-apex/

– The Revolution !! Invocable Power - Spring 15http://codeandvogue.com/2015/02/02/el-poder-de-invocable-spring-15/

– Controlling Internet Devices via Lightning Process Builderhttp://andyinthecloud.com/2015/01/31/controlling-internet-devices-via-lightning-process-builder/

• General Gotchas

– Process Builder Bulkification issue with field expressionshttp://www.tquila.com/blog/2015/03/09/bulkify-lightning-process-builder

– Salesforce Process Builder Known Issueshttps://success.salesforce.com/issues_index?tag=Process%20Builder

Page 28: Go Faster with Process Builder

Andrew FawcettCTO, FinancialForce.com@andyinthecloud

Simon GoodyearCTO, Beaufort 12 @simongoodyear

Speakers

Page 29: Go Faster with Process Builder

Thank you