Journey Builder Integration flows can fail when the critical update "Require User Access to Apex Classes Invoked by Flow" is activated
Trailblazer Community

Journey Builder Integration flows can fail when the critical update "Require User Access to Apex Classes Invoked by Flow" is activated

Flow , Marketing Cloud Integrations , Marketing Cloud Journey Builder

Last updated 7 days ago ·Reference W-6462765 ·Reported By 107 users

In Review

Summary
The Salesforce critical update, Require User Access to Apex Classes Invoked by Flow, can cause flows to fail and prevent the Journey Builder Integration (JB-INT) from injecting records into an active Journey in the Marketing Cloud. This can happen if this CRUC is enabled and your user profiles (or permission sets, etc) do not have access to the global Journey Builder classes in Salesforce.

Admins might need to adjust profiles or permission sets for users who run flows that invoke Apex classes. A flow stops working if it invokes an Apex class that the running user doesn’t have access to.


https://releasenotes.docs.salesforce.com/en-us/summer19/release-notes/rn_forcecom_flow_cruc_security.htm

Repro
1) In an ORG using the Journey Builder Integration, Enable Critical Update "Require User Access to Apex Classes Invoked by Flow"
2) Remove all of the et4ae5 namespaced classes from your User profile or permission sets
3) Create a Journey using the Salesforce Data Event and an entry object such as Contact
4) Create a new Contact that would be added to the journey
5) Observe errors in Salesforce similar to: Can't Save Record - We can't save this record because the "JBSystem_Contact_Process" process failed...
--this is not object specific but the error would be constructed as, JBSystem_<Object_Name>_Process
6) An admin may also receive an email with the error, Profile does not have access to: et4ae5__jbintfirebulkevent

Workaround
1) Review this Release Update that addresses the issue: https://help.salesforce.com/s/articleView?id=release-notes.rn_forcecom_flow_release_update_disable_apex_access_controls.htm&type=5&release=228

2) Admins will need to adjust profiles or permission sets for users who run flows that invoke Apex classes. A flow stops working if it invokes an Apex class that the running user doesn’t have access to. Your admin will need to grant access to the global Journey Builder Apex Class et4ae5.JBintFireBulkEvent.

Reported By (107)

Nelson Ferreras Jon Hensley Bharat Arora Nadine Tawney Mohamed Bentriou Alexander Liebisch Ethan Greenberg Evan Thrailkill Melissa Weems Mythili Premkumar Tianheng Wei Stefanie Szabo Andreas Stöber-Friedrich Sharat Y Brie Jonna Girish Tekwani Jan-Willem Brokamp Kara Pietrykowski Jérémy Bozec Marek Madejski Brad Endres Brandon McLarty Javier GFM John Kuhne Adam Wilson Victoria Drama Scottie Blackburn Bobby McDaniel Manojrao C Sarah Daley Pierre Schneeweis Shridhar Talukar Jason Dominiczak Luke Armbruster Norman Rekitt Chris Johnson Angie Aller William Wiebalck Val Patlakh Ann Scanlan Aarron Solan Julia Monahan Tom Ford Dylan Jones Quentin Lecoutre 🌖 Tal Eldan (Admin) Daniel Stangl Stevano Cheung Mark Kitchen Manuel Perez Balaguer Lily Stokoe Jörn Berkefeld Johannes Heinen Dominik Konrad Soporte Omega Juul Stienen Robert-Jan van Erp Jeff King Raji Alagiamanavalan Nirodha Udawela Tanmay K Deneen Gibbard Brenda Glasser Jeff Lockard Rob Power Elizabeth Gordon Susan Nordquist Ben Hollebon Michael Moran Max Lawrence Christy Braaten Elisa Lastrucci Ben Jackson Jan Manas Paula Quiros Moises Serrano Victor Vaz Vladimir Romanov Maija Kongo Kaue Melhado Martin Blenke Ronan Mullan Luca Cini Noya Ranko Miklin sylvia liebold Anja Philipp Tarun Kaushik Rico Tägder Fernando Barcellos Agnes Winkler Pardeep Singh Greg Etling Tracy Desserich Soheel Pirbhai William Voyle Juergen Schneider Juraj Kopecky Gunther Roskams Dwight Mayeda Sergio Haro Kartheeka G Sara Bohne Summit Technologies gaurav Demo Mary Curtis Timothy Ouellette Sudhakara Reddy Nallamilli

Any unreleased services, features, statuses, or dates referenced in this or other public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make their purchase decisions based upon features that are currently available.