Salesforce Flowsome!

Salesforce Flowsome!

An Easy Flow Guide For Admins

assignment operator in salesforce

Flow: How To Use “Assignment”

assignment operator in salesforce

Assignment is the equal sign of flow (As you see in the icon). If you want to change the value of your variables, you will have to do it through Assignments.

flow assignment - setup

Some important notes before we dive into the details of Assignments:

1. Assignment Cannot Update Data Directly

If you have read my introduction of flow , you should know that Assignment is a logic element, so it does not have direct impact of your records. If you want to interact with your records, make sure you use a data element (Get, Create, Update, Delete).

2. Sometimes Assignment Can Be Skipped

Assignment is usually used for more complex operations (ex. in a loop or as a switch). If you simply want to change record fields, an Update Records element should be sufficient.

There are three main fields – Variable, Operator, and Value.

Assignment Fields

FieldExplanation
VariablePut in the variable that you want to change the value, whether it is an existing resource or you want to create a new one.
OperatorHow the variable will be modified by the value. The available operators are dependent on your variable type.
(See table below)
ValueCan be either an existing resource or manually typed in values.

Assignment Operators

OperatorExplanationAvailable Variable Type
EqualsEntirely rewrite the variable with the value you assigned.Text, Picklist, Number, Currency, Date, Date/Time, Collection
AddAdd numbers, add days, or add item to collections.
For text, the value will be appended at the end of the existing string. (Ex. AB+CD = ABCD)
Text, Picklist, Number, Currency, Date, Collection
SubstractSubstract numbers or days. Number, Currency, Date
Equals CountEquals Count = Equals + Count(Value), a count function included in the operator.

It counts how many items for only stages or collections.
(Ex. Col1 = [A, B, C], Count(Col1) = 3)
Number
Add at StartAs opposed to “Add” which add items at the end, “Add at Start” will add from the start of the collection.Collection
Remove All + [Value],
Remove First + [Value],
Remove After First + [Value],
Remove Before First + [Value]
Take these four as a group, and consider the whole formula semantic.
(Ex. Col2 = [D, E, F, G]
Remove After First “E” = Remove all the items after the first “E” in this collection. NewCol = [D, E])
Collection
Remove Position + [Number]Each item in a collection has their own position number (index), starting from .

(Ex. Col3 = [H, I, J,]
Remove Position 2 (I)
New Col = [H, J]
Collection
Remove Uncommon + [Collections]Compare two collections and only keep those items that exist in both collections.

(Ex. Col4 = [K, L, M, N]
Col5 = [K, N, O]
NewCol = [K, N])
Collection

Check Out How Assignment Can Be Used In Real Cases !

assignment operator in salesforce

Flow: How To Use In / Not In Operators

assignment operator in salesforce

Use Case: Connect Files to Multiple Records in Flow

assignment operator in salesforce

Flow: How To De-duplicate Collection In 3 Ways

assignment operator in salesforce

Use Case: Use Flow To Auto Close The Spam Case

Official Salesforce Help Article On Assignment

  • ← Flow: How To Use Record Id
  • Flow: How To Use “Delete Records” →

guest

I am building out a record triggered task flow that uses a formula to update a field on the task. In the formula, I am using some lead record fields and used a get record element. I am trying to then populate that same value from the formula task to the lead. I came across your blog after trying to understand what I was doing wrong, currently I am using an assignment element to try to map the value from the formula to the lead field. Although, it works when I debug it doesn’t actually save the value on the record. Based on “1. Assignment Cannot Update Data Directly” on your blog I learned this is not possible, the introduction of flow link is not working for me, is that information available?

ARchana

I want to assign a text variable to wo.serviceTerritory.SeriveResource. Can you please suggest me how can I do it with the Assignment component in flow ?Thanks

Melody

Hi, so is the field you want to update already exist in the Flow? If so, you can simply find that field and use the Equal operator. If not, you can use Update Records element to find the field and use Equal operator

Nicole

Just want to say thank you so much Melody for putting these valuable information here, really easy to understand! There’s so much of effort that you’ve put into this blog. I really appreciate that you put the time and effort together to share your knowledge.

Collection Assignment Operators in Flow

October 7, 2022 Yumi Ibrahimzade Automation , Flow 3

Collection Assignment Operators in Flow

Variable is a place holder that stores a value of a specific data type, which can be used or changed throughout the flow. It can store a single value or it can be configured as a collection, which makes it an ordered list of a specific data type. The value that it stores can be easily changed using the assignment element. When using the assignment element, operators depend on the type of the variable. For instance, if it is a text variable, only "Equals" and "Add" operators are available. On the other hand, if it is a collection variable, you will see more operator options. There are many assignment operators that you can use with collection variables. Although "Equals" and "Add" operators are the most common ones, there are many useful collection assignment operators in Salesforce Flow.

Collection Assignment Operators

Let's say that there are two text collection variables in a screen flow. The first one stores the names of the test accounts. The second one stores the names of the accounts that contain "Account".

Initial collections

Now, let's see how to use the collection assignment operators.

Equals operator replaces the value of the Variable. You have to select a collection of the same data type or object type. If you are working with a record collection, it is also possible to select a single record variable as the Value.

In this case, equals operator makes the FirstCollection equal to the SecondCollection.

Assignment Operators: Equals operator

As you can see, value of the FirstCollection is equal to the SecondCollection.

Add operator adds the Value as a new item at the end of the collection in Variable. Just like the Equals operator, you have to select a collection of the same data type or object type. If you are working with a record collection, you can also select a single record variable as the Value.

In this case, Add operator adds the SecondCollection to the end of the FirstCollection.

Assignment Operators: Add Operator

3- Remove First

Remove First operator removes the first instance of the Value from the selected collection in Variable. For the Value, you have to select a single variable of the same data type.

Let's assume that SingleAccountName is a text variable that stores "Test2". In this case, it removes this value from the FirstCollection.

Assignment Operators: Remove First Operator

As you can see, FirstCollection doesn't contain "Test2" anymore.

4- Remove Before First

Remove Before First operator finds the first instance of the Value in the selected collection. Then it removes all the items before that first instance. For the Value, just like the Remove First operator, you have to select a single variable of the same data type.

In this case, it removes all the values before "Test2".

Assignment Operators: Remove Before First Operator

As you can see, all the values before "Test2" are removed from the FirstCollection.

5- Remove After First

This is the opposite of the Remove Before First operator. It finds the first instance of the Value in the selected collection. Then it removes all the items after that first instance. For the Value, just like the Remove Before First operator, you have to select a single variable of the same data type.

In this case, it removes all the values after "Test2".

Assignment Operators: Remove After First Operator

As you can see, all the values after "Test2" are removed from the FirstCollection.

6- Remove All

Remove All operator removes all instances of the Value from the selected collection in Variable. For the Value, you can select a collection of the same data type or object type. You can also select a variable of the same data type or record variable of the same object type.

Just for this example, let's double the values of the FirstCollection. As you can see, it contains "Test Account1" and "Test Account2" twice.

Values of the collections

Now, let's remove all the values of the SecondCollection from the FirstCollection.

Assignment Operators: Remove All Operator

As you can see, "Test Account1" and "Test Account2" are removed from the FirstCollection.

7- Add At Start

Add At Start operator adds the Value as a new item at the beginning of the collection in Variable. It is just like the Add operator, but it adds the Value to the beginning. For the Value, you can select a collection of the same data type or object type. Or you can also select a variable of the same data type or record variable of the same object type.

In this case, it adds the values of the SecondCollection to the start of the FirstCollection.

Assignment Operators: Add At Start Operator

8- Remove Uncommon

Remove Uncommon operator finds the items in the Value collection within the Variable collection. Then it keeps the found items, and removes all other items from the collection in Variable. For the Value, you have to select a collection of the same data type or object type.

Before doing this example, let's add "Yumi" to the SecondCollection. As you can see, "Test Account1" and "Test Account2" are the common values.

Values of the collections

In this case, Remove Uncommon operator removes the rest of the values from the FirstCollection.

Assignment Operators: Remove Uncommon Operator

9- Remove Position

Collections store multiple values of the same data type or records of the same object in an ordered list. It means that each item in a collection has a position. You have to enter a number for the Value. It specifies a position in the collection. Remove Position operator removes the item at the position from the collection in Variable.

In our example, FirstCollection has 7 items and the 3rd one is "Test1".

Assignment Operators: Remove Position Operator

As you can see, 3rd item ("Test1") is removed from the FirstCollection.

There is something that you have to pay attention here. If the collection has less items than the number that you entered, it cannot remove the item. In this case, flow fails.

For example, FirstCollection has 7 items. If you use the Remove Position operator and enter 10 for the Value, flow fails with this error:

Error element Collection_Assignment (FlowAssignment). The "Collection_Assignment" element can't remove the item in position 10 of the "FirstCollection" collection variable because the collection contains only 7 items.

There are many assignment operators that you can use for collections. Although "Add" and "Equals" operators are the ones that you need almost in any flow, the remaining operators can be very useful as well. It is important to understand how to use them. In some cases, they might make your flows less complicated and perform faster.

Very helpful. Thanks.

Can you use with record variables?

Yes, of course.

Leave a Reply Cancel reply

Your email address will not be published.

Save my name, email, and website in this browser for the next time I comment.

Copyright © 2024 | SalesforceTime.com

  • Partner With Venn
  • Schedule A Consult

venn-logo-preferred@4x-2

Salesforce Flow Basics Pt. 1: Data Elements, Decision, and Assignment

Written by Jonathan Davis

 

Jonathan Davis is a Salesforce Consultant at Venn Technology in Grapevine, TX. He enjoys the challenge of mastering all things Salesforce. With , he’s always tackling Salesforce Trailhead to up his integration and configuration skills.

The goal of this four-part series is to provide foundational knowledge on how to use Flows in Salesforce . Flows are a powerful tool for automating processes in Salesforce and are something that every Salesforce Administrator or Consultant should be familiar with.

At a high level, a flow involves a few basic concepts:

  • Elements - The pieces used to build the flow. Each type of element performs a different function. 
  • Resources - These are created and exist inside a specific flow (as opposed to records that exist in the database) to perform logic and store values when the flow runs.
  • Trigger - The event that tells the flow to begin and usually provides the flow with some starting information, such as a Salesforce record. 
  • Logic - The flow uses logic that you configure in the flow to decide what to do within the flow.
  • Result - The flow does one or more actions, such as creating or updating a record in Salesforce, displaying information to a user, sending an email to a customer, or some combination of those actions, and then ends.

Salesforce Flows are declarative, which means they do not require writing code to set them up. This makes them readily accessible to Administrators and Consultants who have not learned how to write code. Salesforce continuously adds features to Flow Builder , so it can do many things that were once impossible without code. 

Flows are built with a series of elements connected to one another. When a flow is triggered to run, it works its way through the elements one at a time and performs different logic and actions based on which element is used and the way it is configured. 

In this series, we will discuss all of the elements available to work with in the Flow Builder.

Jump to a section:

• Data Elements (Create, Update, Get, and Delete) • Assignment Element • Decision Element • Tips and Tricks

Data Elements (Create, Update, Get, and Delete)

In Flow Builder, there are three groups of elements: Interaction, Logic, and Data . 

The Data Elements reach out from the flow instance and interact with Salesforce data, allowing the flow to retrieve information from or make changes to records in the database. 

Create Records

The Create Records element allows you to create new records in your Salesforce org’s database. It can be used to create one or multiple records. 

When creating one record, the simplest way is to select “Use separate resources, and literal values.” Choose the type of object you want to create a record for, and assign the field values you want the new record to have. 

Once the record is created this way, you also can reference the newly created Record ID in other flow elements. 

In this example, we created a new Account Record for Venn Technology:

Create New Account Record

You can also reference a record variable or collection of records used previously in the flow and create a new record using the values that were set previously. This is the only way to create multiple records with one Create Records element.

Update Records

The Update Records element is very similar to the Create Records element, except that it makes changes to existing records instead of creating new ones. 

It is also similar to the Get Records element in that you are able to filter for the records you want to update when you use the “Use separate resources, and literal values” option. When filtering records this way, be aware that the Update element will revise all records in the database that meet the criteria, so it’s a good idea to be as specific as possible with your filters.

Alternatively, you can select “Use the IDs and all fields from a record or record collection” to update a record that was previously stored in the flow, such as one from a Get Records element. In this case, to make changes to the values on that record, you should have done so previously in the flow using the Assignment element.

Venn Technology Senior Salesforce Consultant

In this example, we use the Update Records element to update the MailingState field of all contacts in the system that have an AccountID field value of “0014T000008zal9QAA.” If we only wanted to update a single contact, we would need to add more filters, such as the Contact ID, or FirstName and LastName fields.

Update Account Records

Get Records

The Get Records element is used to “get” one or more records from the database based on filter criteria set in the component. Getting a record stores its values within the flow, as well as the values of records it looks up to (such as a Contact record looking up to an Account record in its AccountID field), allowing you to reference it in other flow elements and resources. 

The filter criteria is based on values found on the specific record you’re getting, such as the ID or name of an account. Multiple criteria can be used, and the condition requirements can be set using “and,” “or,” or custom logic. When getting your criteria, the filter logic should be as specific as possible (such as an ID value), so that you only get the records you want to work with. 

Get Records can be set to retrieve either the first record that meets the criteria, or all of the records that meet the criteria. Multiple records are stored together in a collection.

In the example below, this Get Record is retrieving the first account with a value of “Venn Technology” in the Name field and storing it for use in the flow.

Get Records Element

Delete Records

The Delete Records element is used to delete records from the database. Similar to the Update Records element, you can either delete records stored in variables defined earlier in the flow, or specify the object and filter criteria needed to find the records you wish to delete. Similar to the Update Records element, the Delete Records element will delete all records that meet the filter criteria—make sure to be specific.

In this example, we use the Delete Records element to delete an account with the Id of “0014T000008zal9QAA.” By using the Id field in the filter, we ensure that only this specific account record is deleted.

Delete Records Element

Assignment Element

The Assignment element is one of the Logic elements, which means that it does not directly affect the contents of the Salesforce database. Instead, it is used to interact with records and resources within the flow by changing, adding, or subtracting the values of variables and fields. This is very useful for setting or changing record values before creating or updating them, and for using variables to perform logical functions.

Below, we use the Assignment element to change the StageName field of an opportunity to Closed Won and set the CloseDate field to today’s date with {!$Flow.CurrentDate}. This does not update the Account field in the database yet, but does set the values in preparation for the Data elements.

Assignment Set Variable Values

Decision Element

The Decision element is one of the most important elements in the Flow Builder, as it allows for the creation of multiple paths based on various criteria, allowing a single flow to output different results based on decision criteria.

When creating a Decision element, set the name and criteria for one or more outcomes. If the criteria is met in the flow, then the flow will follow the path for that outcome. If none of the criteria for the created outcomes are met, the “Default Outcome” is followed.

In this example, we create a Decision element that checks if the Opportunity record’s StageName field value is Closed Won.

Edit Decision - Opportunity Closed Won

If the Opportunity is Closed Won, the flow follows the “Yes, Opportunity is Closed Won” path to Create Contract. If the Opportunity is not Closed Won, the flow follows the Default Outcome and sends an email to the sales representative.

Decision Element - Is Opportunity Closed Won?

Tips and Tricks

Now that you know how to use the Data, Assignment, and Decision elements, here are some tips and tricks when using them.

Salesforce CRM Implementation Guide

Using a Decision after a Get Element

The Get Records element will not error out if it does not find anything with the filter criteria provided, but if later elements in the flow attempt to reference the record when there is not one, those elements may cause an error. 

For this reason, unless you can ensure that your Get Records elements will find a record, it is a good idea to create a Decision element after your Get Records element to see if it found anything. Do this by checking if the variable from the Get Records element is not null, as shown below.

Get Records - Opportunity Products

If the variable is null then the record was not found—the default path is followed and the flow ends. If records are found, the flow continues. 

In this example, the flow checks for Opportunity Products, updates them if the flow finds any, and if none are found, the flow ends:

Blog1 - 9

There may also be times when the requirements of your automation may change depending on if there is an existing record or not and, in those cases, you may want to check if the record is present. If the record is not present, check to see if there is an existing contract for an account. Update the contract if there is one and, if there isn’t, choose “Create Contract” instead.

Update/Create Contract

Using Decision results later in the flow

The outcome of a Decision element is stored in the flow as a boolean (true/false) value that can be referenced later on in the flow by other decisions or formula resources. 

This can be useful in various situations where a decision was made previously in the flow that you want to reference later.

Below you can see:

• The first decision checks the size of the account • The second decision determines if a new contract is needed • The third decision checks if a new contract was just created for a large account, thereby sending an email to a Sales Representative if it was

Decision Outcome Details

For more information on Salesforce Flows, check out our next blog post: Flow Element Basics Pt. 2 – Variables, Collections, and Formulas.

NewsletterCTAButton

About the Author

Jonathan davis, subscribe for updates, filter by tags.

  • Life at Venn
  • Integration
  • Sage Intacct
  • Artificial Intelligence

FEATURED BLOG POSTS

UnofficialSF

Flow Element: Assignment

An Assignment is a Flow element that allows you to set the value of a selected resource.

Official Docs

  • Flow Assignment Element
  • Operators in Flow Assignment Elements
  • Add Logic to Your Flow

Additional Resources

  • How to use an Assignment (David Litton)
  • Salesforce Flow Assignments (Jordan Nelson)
  • Video: Wizard’s Apprentice Visual Workflow Episode 5: Loops, Assignments, and Fast Elements (Brian Kwong)
  • Video: Salesforce Flows Assignments (Jordan Nelson)
  • About this wiki
  • Create a Next Best Action Employee App – Part 2 June 30, 2020 - 3:20 pm
  • Create A Next Best Action Employee App- Part 1 June 30, 2020 - 3:19 pm
  • Adding Lightning Web Components to Flow Screens October 21, 2019 - 7:45 am
  • The Top 10 Things You Want to Know About the New Flow B... February 11, 2019 - 5:36 pm
  • Salesforce Einstein Next Best Action “Getting Started”... February 3, 2019 - 2:34 am
  • Send Rich Email (Send HTML Email Action) September 12, 2019 - 4:15 pm
  • Quick Choice – Improved Picklists and Radio Buttons... December 25, 2019 - 12:57 pm
  • Collection Processors for Flow (Sort, Filter, Find, Join,... December 17, 2019 - 12:18 am
  • Send Richer Email with the ‘Send Better Email’... August 11, 2020 - 10:23 am
  • Agentforce blockers – How to try it out fast September 17, 2024 - 5:35 am
  • Create a Synchronous Messaging Experience in Messaging for... September 16, 2024 - 4:18 pm
  • Create a Basic Messaging for Web Deployment in Five Minutes... September 12, 2024 - 3:28 pm
  • Agentforce – How to Identify a Customer 🙋‍�... September 3, 2024 - 9:43 am
  • […] versions, and keep track of important files, particularly... September 18, 2024 - 3:05 pm by How To Expose A File Via Salesforce Flow | 2024
  • […] a basic MIAW button takes less than 5 minutes,... September 17, 2024 - 5:35 am by Agentforce blockers – How to try it out fast – UnofficialSF
  • […] on the older Chat product, and there are some... September 17, 2024 - 5:35 am by Agentforce blockers – How to try it out fast – UnofficialSF

betturkey

assignment operator in salesforce

  • AppAssessor

Articles by role:

  • Consultants
  • Business Analysts

By Lucy Mazalon

By Ben McCarthy

  • Dreamforce Events
  • Courses Login

UPCOMING EVENTS

Lessons learned from einstein copilot: how copilot increases flexibility in your business, future-proofing your career as a salesforce professional, learn how light & wonder revolutionized field service with surveyvista, rambleforce 2024.

Lake District, UK

Supercharge RevOps With Salesforce Document Automation

Salesforce flow loops – best practices and examples.

By Tim Combridge

If you’re looking for a way to perform a specific action more than once, Loops are going to be your best friend. In this article, we’ll dive into what Loops are, how to use them, and some best practices to keep in mind.

What is a Loop in Salesforce Flow?

  • Collection Variable : This is the Collection you want to loop through – the Collection contains multiple Variables, each of which you want to either assess or action.
  • Loop Variable : This will be the temporary holding place of a single Variable from within the Collection as it is being processed. This can either be created manually or can be created automatically when setting up the Loop.
  • Direction : This allows you to choose whether you want to Loop from first to last, or last to first item in a Collection. In a lot of basic scenarios, this isn’t so critical.

assignment operator in salesforce

How to Create and Use a Loop

assignment operator in salesforce

Best Practices When Using Loops in Salesforce Flow

Never perform a dml statement inside of a loop ..

assignment operator in salesforce

Assign to a new Collection rather than reusing the original one.

Summary and further learning, tim combridge.

assignment operator in salesforce

More like this:

Salesforce teams up with google and nvidia to strengthen ai agents.

By Sasha Semjonova

3 Key Insights from the “State of Salesforce” 2024-2025 Report

Dreamforce ’24 in pictures: day 1.

By Lauren Metcalf

Leave a Reply Cancel reply

Save my name and email in this browser for the next time I comment.

Salesforce Break

Assignment or Update

Photo of Andy Engin Utkan

Assignment or Update Element in Flows

An issue I frequently encounter involves confusion between using the assignment element and the update element in record-triggered flows. It’s essential to understand that you can use an assignment element instead of an update element in a before-save flow to update the field values on the record that triggered the flow. However, this approach does not work when running your record-triggered flow in after-save mode.

Before-Save vs. After-Save

Before-save flows in Salesforce offer a powerful way to make changes to records before they are saved to the database. This feature automates pre-commit tasks like data validation or field updates. Executing before save, it cuts down DML operations, boosting Salesforce efficiency. It ensures accurate data storage, streamlines workflows, and upholds data integrity with little impact on performance.

After-save flows, on the other hand, are triggered after a record has been saved to the database. This flow type suits actions needing a completely saved record, like sending emails, creating records, or complex logic. It depends on the record’s saved state for execution. After-save flows allow for the handling of tasks that are not directly related to the data validation or immediate updates of the record being saved. They offer a robust solution for extending functionality beyond the save operation, enabling more comprehensive automation and interaction within the Salesforce ecosystem.

Understanding the nuanced differences between the assignment and update elements in Salesforce’s record-triggered flows is fundamental for any administrator or developer aiming to optimize their automation processes. The assignment element provides a streamlined, efficient way to modify records before saving. The update element is crucial for after-save modifications, ensuring robust automation aligned with Salesforce’s best practices.Embracing this distinction not only enhances your flows’ effectiveness but also prevents potential issues that could arise from improper element usage.

I am sure you know by now; before-save is labeled as Fast Field Updates, and after-save is labeled as Actions and Related Records in the record-triggered flow start element configurator.

This distinction is critical for designing efficient and effective flows. To sidestep potential confusion and ensure smooth transitions between before-save and after-save contexts, my advice is to consistently use the update element in record-triggered flows for modifying field values on the trigger record. This practice fosters clarity and maintains the integrity of your flow’s logic across different execution contexts.

It is also important to note that a developer needs to build a before-save flow over an after-save flow whenever possible to benefit from the speed and efficiency of fast field updates.

For benchmark performance results, please refer to this Salesforce Architect page: https://architect.salesforce.com/decision-guides/trigger-automation

Read the previous issue of the newsletter here .

Read the next issue of the newsletter here .

Subscribe to the weekly educational Salesforce Flow Tips newsletter here .

Photo of Andy Engin Utkan

Andy Engin Utkan

Related articles.

assignment operator in salesforce

Dynamically Create Documents Using PDF Butler

assignment operator in salesforce

Top 9 Salesforce Winter 25 Flow Features

assignment operator in salesforce

How to Use the Action Button Component in Screen Flow

assignment operator in salesforce

Create by Checking a Matching Record in Flow

  • Pingback: Advanced Topics & Resources – Salesforce Flow Tips Newsletter | Salesforce Break
  • Pingback: Advanced Topics & Resources - Salesforce Break
  • Pingback: Fast Field Updates in Record Triggered Flows (Winter 22) - Salesforce Break
  • Pingback: A Comparative Look at Flow Decision Elements in Salesforce - Salesforce Break

Leave a Reply Cancel reply

Discover more from salesforce break.

Subscribe now to keep reading and get access to the full archive.

Type your email…

Continue reading

About 15 mins

Create Case Queues

Create a case assignment rule, test the case assignment rule.

  • Challenge +100 points

Looking for Help?

Expect a response within 24-48 hours from Help or the community.

Discover More

Create case queues and assignment rules.

Now that you have your basic support processes and layouts configured for cases, create case queues and assignment rules to route your cases to the correct support teams at Ursa Major Solar.

Create Product Support Tier 1 and Product Support Tier 2 queues so product support cases can be routed to one of these queues based on case criteria and how long the case has been open.

Setup Icon

  • From Service Setup, enter Queues in the Quick Find box and select Queues .
  • Click New  and complete the queue details.
  • Label: Product Support Tier 1
  • Queue email: [email protected]
  • Supported Objects: select Case and click Add .
  • Queue Members: Click  User: (Your Name) in the Available Members list, and click Add to add yourself to the Selected Members list.
  • Click Save .
  • From the Queue   page, click New  and complete the queue details.
  • Label:   Product Support Tier 2
  • Queue email: [email protected]

Add Queue Members

Now, create the Inquiry queue for inquiry cases.

  • From the Queues page, click New .
  • Enter the queue details.
  • Label: Inquiry
  • Queue Email: [email protected]
  • Queue Members: Click User: Ada Balewa in the Available Members list, and click Add to add her to the Selected Members list.

So, now you have case queues set up and ready to handle different types of cases as they’re created. Next, create and activate a standard case assignment rule to assign cases to the correct team members. This is how cases get sent to specific case queues, like the ones you just created.

  • From Service Setup, enter Case Assignment Rules in the Quick Find box and select Case Assignment Rules .
  • Click New  and enter the rule details.
  • Rule Name: Standard Case Assignment
  • Select the Active checkbox to make this the active case assignment rule.

Add a rule entry that assigns Product Support cases to the Product Support Tier 1 queue.

  • Click the Standard Case Assignment link.

Field

Value

Sort order

Run this rule if the

Field

Operator

Value

(Tip: Click the lookup icon and select Product Support.)

User/Queue dropdown menu

Queue type

(Tip: Click the lookup icon and select Product Support Tier 1.)

Create and customize a Case Assignment Rule by entering the rule details.

  • Click Save & New .

Next, add a rule entry that assigns inquiry cases to the Inquiry queue.

Field

Value

Sort order

Run this rule if the

Field

Operator

Value

(Tip: Click the lookup icon and select Inquiry.)

User/Queue dropdown

Queue type

(Tip: Click the lookup icon and select Inquiry.)

Now rename the Automated Case User to System. Every time there’s an automated case change from an assignment rule, for example, the automated case user name will show up in the case history. It will now show an automated “system” change, rather than showing your name as the admin, whenever an automated case change occurs.

  • Enter Support Settings in the Quick Find box and select Support Settings .
  • Click Edit .

Rename the Automated Case User to System

You want to make sure the assignment rules work for Ursa Major Solar by creating a case.

App Launcher Icon

  • Click the Contacts tab.
  • Select Recently Viewed from the dropdown, and click the Pat Stumuller link.
  • In the Cases   related list, click New .
  • Select a record type: Product Support .

Field

Value

Type 

Case Reason

Product

Status

Case Origin

Subject

Description

Assign using active assignment rules

(if not already selected)

  • Click the Case Number for the case you just created. Ensure that the Case Owner is Product Support Tier 1.

By setting up case queues and assignment rules, cases are now automatically routed to the correct teams. Next, escalate higher priority cases to the Product Support Tier 2 team by creating an Escalation Rule.

  • Salesforce Help : Rules
  • Salesforce Help : Create Queues
  • Salesforce Help : Set Up Assignment Rules

We'd love to hear about your experience with Trailhead - you can now access the new feedback form anytime from the Salesforce Help site.

Stack Exchange Network

Stack Exchange network consists of 183 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Bitwise operators usage

I never see any code using these bitwise operators with boolean variables (being a and b a boolean variable):

From what I understand, they could respectively replace:

I find this interesting and useful, specially the last use case. Why people does not use these operators in their apex code?

Gabriel Serrano Salas's user avatar

  • I have used the exclusive or operator in my code quite recently in fact. That said, this question seems purely opinion based/speculative, which is not a great fit for this site. –  Adrian Larson ♦ Commented Jan 30, 2021 at 22:18
  • 1 @AdrianLarson The question may be somewhat opinion-based, but the answer can be framed in a non-opinionated way (I'm writing one now). –  sfdcfox ♦ Commented Jan 30, 2021 at 22:18

| is not the same as || , nor is & the same as && .

The doubled-up versions are shortcut operators . This means that if the left-hand value evaluates to true or false , respectively, the other side is not evaluated. This means that CPU time is saved, and potential side effects can be reduced.

For example, look at these two pieces of code:

The latter version will attempt to do the callout, even if the token was not acquired to begin with, meaning it has no chance of success.

The shortcut operators avoid this problem by not calling the right-hand side (RHS) of the operator if the left-hand side (LHS) would make the condition true or false by Boolean logic, regardless of the RHS.

As a more common example, consider:

This would throw a NullPointerException, because the RHS is evaluated needlessly. The more usual way to do this would be:

Which avoids the NullPointerException when the variable is null.

Note: I'm specifically excluding ?. from this example, which would be preferable, as it's unrelated to the topic at hand.

This means that, for the majority of use cases, the shortcut operators are almost always the preferred version.

There are at least several use cases where you'd want to use & , | , and ^ , but these come up very infrequently in business logic, mostly because we don't need to know the "full" result, as we can quit early when we recognize that continuing an operation is impossible.

You'd normally use these operators to write and/or write bits to a bitfield, or sometimes you want to accumulate a true/false value to see if an operation completed successfully (I find myself often using &= , for example, which is shorthand for x = x & y ).

As for the XOR operator ( ^ ) specifically, it is used when you want one or the other to be true, but not both. This has some niche use cases, such as calculating CRCs and the like, but it's incredibly rare to need to use this with Boolean values.

In fact, I'd say it's rare enough that even I, with close to 14 years of Apex development, have probably never had a need to use ^ as a Boolean operator, although I have used it for bitfield purposes in some rare cases, such as parsing validFor properties on a dependent picklist.

sfdcfox's user avatar

  • Thank you for your answer. This clarifies me a lot. I have just 1 little question about it. So, isnt &= equals to x = x && y but to x = x & y instead? As from the documentation I would have assumed the first –  Gabriel Serrano Salas Commented Jan 30, 2021 at 22:52
  • 1 It felt pretty great to need to use the exclusive or operator for the first time. Isn't it usually XOR not NOR? –  Adrian Larson ♦ Commented Jan 30, 2021 at 23:42
  • @AdrianLarson Yes, that's what I meant, lol. –  sfdcfox ♦ Commented Jan 31, 2021 at 1:55
  • @GabrielSerranoSalas The assignment operator versions are the non-shortcut-operator versions. The documentation is vague, but correct. –  sfdcfox ♦ Commented Jan 31, 2021 at 1:57
  • Although I'm not familiar with apex, I would caution against using bitwise operators when you don't actually want to do bitwise operations. Someone might be tempted to write if(values != null & values.size()) { and this will be false when values.size() is an even number in certain programming languages. –  ontrack Commented Jan 31, 2021 at 10:12

You must log in to answer this question.

Not the answer you're looking for browse other questions tagged apex ..

  • The Overflow Blog
  • Looking under the hood at the tech stack that powers multimodal AI
  • Featured on Meta
  • Join Stack Overflow’s CEO and me for the first Stack IRL Community Event in...
  • User activation: Learnings and opportunities

Hot Network Questions

  • Can noun phrases have only one word?
  • mp4 not opening in Ubuntu 24.04.1 LTS
  • Am I violating exchangeability in my attempt to measure average treatment effect
  • Model looks dented but geometry is correct
  • Is it possible to make sand from bones ? Would it have the same properties as regular sand?
  • Confused about the uniform distribution of p-values under the null hypothesis
  • Would a material that could absorb 99.5% of light be able to protect someone from Night Vision?
  • Is it ok if I was wearing lip balm and my bow touched my lips by accident and then that part of the bow touched the wood on my viola?
  • How to interpret odds ratio for variables that range from 0 to 1
  • How do exchange mail enabled security groups handle emails to multiple groups with overlapping members?
  • Why Doesn't the cooling system on a rocket engine burn the fuel?
  • What is a “bearded” oyster?
  • Analytic continuation gives a covering space (and not just a local homeomorphism)
  • If morality is real and has causal power, could science detect the moment the "moral ontology" causes a measurable effect on the physical world?
  • Why believe in the existence of large cardinals rather than just their consistency?
  • Writing in first person for fiction novel, how to portray her inner dialogue and drag it out to make a chapter long enough?
  • Smallest prime q such that concatenation (p+q)"q is a prime
  • How to translate the letter Q to Japanese?
  • "First et al.", many authors with same surname, and IEEE citations
  • Understanding Gauss' Law with Spherical Symmetry
  • Emergency belt repair
  • What's "jam" mean in "The room reeled and he jammed his head down" (as well as the sentence itself)?
  • Play the Final Fantasy Prelude
  • Does it ever make sense to have a one-to-one obligatory relationship in a relational database?

assignment operator in salesforce

COMMENTS

  1. Expression Operators

    Expression Operators. Expressions can be joined to one another with operators to create compound expressions. Assignment operator (Right associative). Assigns the value of y to the L-value x. The data type of x must match the data type of y and can't be null. Addition assignment operator (Right associative).

  2. Flow Operators in Assignment Elements

    Salesforce Authenticator MFA Issue Impacting Android Users. Read More. Automate Your Business Processes. Use Assignment element operators to change the value of a selected resource. Required Editions Available in: both Salesforce Classic (not available in all...

  3. Assignment Statements

    An assignment statement is any statement that places a value into a variable. An assignment statement generally takes one of two forms: [LValue] = [new_value_expression]; [LValue] = [[inline_soql_query]]; In the forms above, [LValue] stands for any expression that can be placed on the left side of an assignment operator.

  4. Flow: How To Use "Assignment"

    Flow: How To Use "Assignment". Assignment is the equal sign of flow (As you see in the icon). If you want to change the value of your variables, you will have to do it through Assignments. Some important notes before we dive into the details of Assignments: 1. Assignment Cannot Update Data Directly. If you have read my introduction of flow ...

  5. Collection Assignment Operators in Flow

    When using the assignment element, operators depend on the type of the variable. For instance, if it is a text variable, only "Equals" and "Add" operators are available. On the other hand, if it is a collection variable, you will see more operator options. There are many assignment operators that you can use with collection variables.

  6. Salesforce Flow Basics: Data Elements, Decision, and Assignment

    Assignment Element. The Assignment element is one of the Logic elements, which means that it does not directly affect the contents of the Salesforce database. Instead, it is used to interact with records and resources within the flow by changing, adding, or subtracting the values of variables and fields.

  7. Control Data Flow

    One equals sign ( =) is an assignment operator. It assigns values. Two equals signs ( ==) is a comparison operator. It compares two values to determine whether they are equal (true) or not equal (false). Operators are particularly helpful when you want to compare a known value with a variable, or compare the values of two different variables.

  8. Operators and Functions in Expression Sets

    OR. True if one of the joined expressions is true. For example, A AND B returns true if either A or B is true. =. Assigns the value of the second expression to the first expression. For example, A = 2 sets the value of A to 2. ==. Equals. True if the values of the first and second expressions are equal.

  9. operators

    4. == This is called Equality operator. Returns True or False depending on the equality of its operands. It has precedence over assignment operator which means it is executed first. serialNumberObj.Prefunded__c = snWrap.Prefunded == 'ZEW'; In here, first snWrap.Prefunded == 'ZEW' is executed then the result (which is a boolean), assigned to ...

  10. Flow Element: Assignment

    An Assignment is a Flow element that allows you to set the value of a selected resource.. Official Docs. Flow Assignment Element; Operators in Flow Assignment Elements; Add Logic to Your Flow Additional Resources. How to use an Assignment (David Litton); Salesforce Flow Assignments (Jordan Nelson); Video: Wizard's Apprentice Visual Workflow Episode 5: Loops, Assignments, and Fast Elements ...

  11. Formula Operators and Functions by Context

    Extend the Reach of Your Organization. Define an External Credential and a Named Credential. Media Type Mapping in External Service Registrations. Use Apex to Create a Callout to an External Service. Use these operators and functions when building formulas. All functions are available everywhere that you can include a formula, such as formula ...

  12. comparing and assign values to a variable on same line

    It's called ternary assignment and the syntax is: String someVariable = someBoolean ? truthyValue : falsyValue; You can see more info in Understanding Expression Operators: Operator? : Syntax x ? y : z. Description Ternary operator (Right associative). This operator acts as a short-hand for if-then-else statements. If x, a Boolean, is true, y ...

  13. Salesforce Flow: Assignment Element Explained

    In this Salesforce Flow tutorial we'll explain the Salesforce Flow Assignment Element in depth, showing examples of a flow assignments to set field values, u...

  14. Improve Process Automation with Flow Builder

    In the Assignment element, you set the value of a variable by specifying the variable and its value. Each assignment statement also includes an operator, which controls how the variable is updated. Consider this example. In this example, the Equals operator replaces the variable's current value with the specified value. As a result, the ...

  15. Salesforce Flow Loops

    A Loop is a Salesforce Flow element that is used to iterate through a number of items in a collection variable. There are three main components of a Loop: Collection Variable: This is the Collection you want to loop through - the Collection contains multiple Variables, each of which you want to either assess or action.

  16. Assignment or Update

    The assignment element provides a streamlined, efficient way to modify records before saving. The update element is crucial for after-save modifications, ensuring robust automation aligned with Salesforce's best practices.Embracing this distinction not only enhances your flows' effectiveness but also prevents potential issues that could ...

  17. Safe Navigation Operator

    Table 1. Safe Navigation Operator Use-Cases. Can be used as a top-level statement. Using parentheses, for example in a cast. The operator skips the method chain up to the first closing parenthesis. By adding the operator after the parenthesis, the code safeguards the whole expression. If the operator is used elsewhere, and not after the ...

  18. "Expression cannot be assigned at line -1 column -1"

    Tour Start here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site

  19. Assignment Rules

    Limits and Considerations. Supported Editions in Messaging. Compare Messaging Channel Capabilities. Messaging Glossary. Assignment rules automate your organization's lead generation and support processes. Use lead assignment rules to specify how leads are assigned to users...

  20. Create Case Queues and Assignment Rules

    Queue email: [email protected]. Supported Objects: select Case and click Add. Queue Members: Click User: Ada Balewa in the Available Members list, and click Add to add Ada to the Selected Members list. Click Save. Now, create the Inquiry queue for inquiry cases. From the Queues page, click New.

  21. Flow Operators in Assignment Elements

    MFA Auto-Enablement for Salesforce Orgs in the Winter '24 Release Read More. Close. Twitter/X Public API Access Read More

  22. apex

    5. | is not the same as ||, nor is & the same as &&. The doubled-up versions are shortcut operators. This means that if the left-hand value evaluates to true or false, respectively, the other side is not evaluated. This means that CPU time is saved, and potential side effects can be reduced. For example, look at these two pieces of code:

  23. AssignmentRule

    Spring '14 (API version 30.0) Overview of Salesforce Objects and Fields. Reference. Associated Objects (Feed, History, OwnerSharingRule, Share, and ChangeEvent Objects) Custom Objects. Object Interfaces. Standard Objects. AcceptedEventRelation. Account.