Hot answers tagged

8

From my perspective, the benefit is primarily for those who do not have the knowledge or resources to build Apex. If you have the knowledge and resources, I would stick with Apex. The main drawbacks are the poor error handling, and the fact that this feature makes it so easy to introduce errors through lack of knowledge. For example, checking that a parent ...


7

The real problem is that the Process Builder uses CPU time. Given all of the other limits placed on flows, Salesforce shouldn't be counting execution of flows towards the total CPU time. Flows are notoriously slower than most hand-written code, except, of course, for that triple-nested for loop that every developer writes at least once. This idea suggests ...


6

For orgs that have business logic that can be purely described in Process Builder and Validation Rules, the benefit is that you get faster deployment times, no need for unit tests, and can implement business logic faster (generally speaking). However, for many typical cases, mixing Process Builder and Triggers can cause excessive governor limit usage, and so ...


5

You can track Process Builder creation/ updation /deletion in Audit Trails. Location : Setup| Administer | Security Controls | View Setup Audit Trail You will find Process builder having section values as Flows for example: Date User Action Section Delegate User Help 8/18/2015 10:18:19 PM AEST developer@capost.in ...


5

Unlike the SOQL query governor limit, which is a hard limit, the CPU governor limit can be a bit squishy. If the pod that your code (via your clients) is executing on isn't seeing too much demand at a given time, Salesforce can allow a transaction to run over the 10,000 ms limit. The thing is that Salesforce only guarantees that you will have 10,000 ms per ...


5

This formula snippet ISBLANK( TEXT([Contact].Request_Portal_User_Account__c == True) ) is never going to evaluate to true. The text value of that Boolean expression would always be a non-blank string ("True" or "False"), if this even compiles. Remember that the NOT() function takes a Boolean, and Checkbox fields are ...


4

In your Process Builder criteria diamond check the Lead OwnerId starts with 005 This will tell you whenever a Lead is assigned to a User instead of a Queue


4

That gack is mentioned in this post, in which we're told is related to this known issue. You're encouraged to contact Tier 3 support if you get this error. They have a fix. They don't say what causes it, but it can also be fixed by rebuilding the process from scratch.


4

String concatenation in a formula use the & character instead of the +. IF( [EventApi__Attendee__c].[EventApi__Preferred_Email__c] = [EventApi__Contact__c].Email, [EventApi__Contact__c].FirstName & " " & [EventApi__Contact__c].LastName, "no match found" )


3

Make sure Re-evaluate Workflow Rules after Field Change is Checked in your field update setting the picklist value in your approval process, for the process builder to be triggered. Also make sure the Recursion - Allow process to evaluate a record multiple times in a single transaction? is unchecked in the process builder at Choose object and specify when to ...


3

Another Reason, In addition to Raul's, If you already request an approval, the button not appear until you will approve/reject the request.


3

There could be following reasons: Configure and activate your approval process. Add Approval History related list to the page layout.


3

You should be able traverse to the relationship. When selecting your field, choose Contact ID > > Owner ID and similarly Lead ID > > Owner ID. If you want an alternative solution, you should be able to use a formula like the following: BLANKVALUE(Contact.OwnerId, Lead.OwnerId)


3

I am not sure if there's an easy way within Salesforce Process Builder UI to make these fields visible , but you will find this in the Metadata definition of the flows (process falls under flows). If you use Workbench, you can select the Metadata Types & Components in the home page and then in the next page Select Flow and expand your flow to see the ...


3

Salesforce doesn't support multiple values defined in process builder or flows. It is mentioned in the article The Lightning Process Builder and Flow do not support comma-separated values in rule criteria. Workaround Using the same condition as above: Set Filter Conditions: 1) [Case].Contact.Email CONTAINS someone@company.com 2) [Case]....


2

Unfortunately, the metadata API will not let you deploy a flow or process to overwrite an active one. If you are in sandboxes and can use changesets, that's the best way to resolve this. What CI tool are you using? You might be able to write a pre-deploy hook to deactivate any active flows/processes first.


2

Process Builders cannot delete records on their own. They can call two tools that can delete records: Flows Apex If you are calling a Flow from your Process Builder, check to see how you are querying related Chatter Posts. Make sure to filter based on the Parent Record for the Chatter Post. This will happen in a "Fast Lookup" element. If you are calling ...


2

You should be able to access Account object fields using the lookp field for the Account on the object process builder is run on. For example, to access Account fields from the contact object you can use the AccountID lookup as shown below


2

Yes, the flag has functional consequences. It's not there for efficiency only, it effects the functionality of a (set of) process(es). I have found this out the hard way: the way I read the documentation was that, even if a particular process wasn't started in the same transaction, some time later a new transaction would be started that would kick off that ...


2

I would think this could work however it is al or nothing kind of solution : In your Invocable method, when calling from the process builder pass in a true value: public static pbStartedThis = false; @InvocableMethod public static void doSomething(Some value, boolean isPB){ if(isPB == true) pbStartedThis = true; } Then in the trigger that you do not ...


2

"System mode" means that Process Builder ignores Field-Level Security (FLS). Processes and most other automations are always running in the context of a specific user, and validation rules are applied unless they include some exclusion in their logic, such as not firing for an API, bulk data process, or integration user. You may wish to modify your ...


2

You're going to need to call out to the Tooling API and retrieve FlowDefinition records. You can start playing around with an anonymous script like below to get a feel for what you actually need to build: String auth = 'Bearer ' + UserInfo.getSessionId(); String query = 'SELECT DeveloperName, ActiveVersionId FROM FlowDefinition'; String endpoint = URL....


2

At Line 51, replace Invention_Disclosure_New__c with Id. As InventionDisclosure is type List<Id> Even after changing this you will recieve further errors because here you need an object Type, So what you can do is you can perform a query like this before line 51: List<Invention_Disclosure_New__c> idf1 = [Select Id, Disclosure_Status__c from ...


2

You can have lookup filter for Account lookup on opportunity in such a way that those accounts are not allowed to select while creating opportunities. Lookup filter can be either on record type or name or any other field.


2

Create a Checkbox field On the Account Say it Out Of Scope Solution: - create a Validation Rule on Opportunity. AND( NOT(ISBLANK(AccountId)), Account.Out_of_Scope__c ) Display the Error that Opportunity Can not be created on Out of Scope Account.


2

You definitely need a time-based workflow for this. You set the due date to the to the go_live_Date__c Your criteria will be Status = Closed Won && go_live_Date__c != null That was as long as the status is Closed Won and there is a date in the go live then it will fire on the date that the go live field is set for. What happens with time-based ...


2

This works exactly like the Trigger.old vs Trigger.new principle. When a field has a different value before the update vs. after the update in a specified field, only then the process will execute. When it's a new record, obviously there are no values for the old version (there's no old version at all), so any value in the field would be considered a change, ...


1

I don't think there is a good way to know whether or not your trigger is being executed as a result of Process Builder. The same issue has plagued people for years with Workflow Field Updates (which are similarly difficult to know if a record is going through a trigger again because of them). Mixing Process Builder and Triggers is a recipe for disaster, and ...


1

There is the Slack app on the AppExchange. It sounds like you can link a Salesforce object to post to Slack. The Slack app from the Salesforce AppExchange Link Salesforce records with channels in your Slack workspace Share messages between Slack and Chatter Source That might be a good option for a Professional Edition org. Otherwise, if you did have Apex ...


1

If the email is being sent internally to a specified user or to the case owner, I would look at escalation rules as they allow you to send an email, can honor business hours, and can calculate age based on last modified date. See this doc for details. If the email is to be sent externally, I think you need to dig into milestones and entitlements as Santanu ...


Only top voted, non community-wiki answers of a minimum length are eligible