Hey Michal, that is a great option and more efficient than a loop! If all you want to do is count the the number of records in the collection, I think using that assignment step instead of a loop is the way to go. Thanks for bringing it up!
Hi Brian. This is an awesome video. Thank you! What are the impacts of creating the roll-up directly in the flow (using Get Record, Loop, Assignment, Update Record) instead of using a subflow? I'm trying to understand why using a subflow for counting the roll-up might be a better strategy.
Hey Noelfry, the only difference here is your efficiency. I don't think there is a difference to the system if you build the logic directly through your primary flow or call it through a subflow. The benefit to use is not having to repeat yourself if you want to use this same logic in multiple places and if you want to update that logic at some point in the future. If you repeated that same logic in a screen flow and multiple record triggered flows and a scheduled flow, you'd have to update it in each place any time you wanted to make a change.
I followed this tutorial and applied it to my unique situation and it worked perfectly...mostly. I have a Sales Transaction (Parent) and Checkout Items related list (child). I could not use the Roll-up Summary field type because of some limitation and so explored whether Flows could do the trick. You showed me that it could! Thanks. So, when I add new Checkout Items or modified an existing Checkout Item, the Total Cost field in Sales Transaction works perfectly. However, when I delete a Checkout Item, nothing happens. The information from the deleted Checkout Item (subtotal) still exist in the Total Cost and it still exist in my Created HTML table of Checkout Items (also your tutorial). I've tried a few things on my own but still can't get a deleted action to update the Total Cost in Sales Transaction. What do you suggest? Thanks.
You'll want to create another Flow to trigger off of deletion. You can do this with a record triggered flow. So you'll have one flow when a line item is edited or updated and another one that runs when an item is deleted. It does make it a bit more complicated.
Thanks for the tutorial. When I get to 8:40 in the video to add the Subflow to the triggering flow, I am not able to access a global variable that pulls in the variables I configured in the subflow. I debugged the subflow and it worked, and double-checked my work multiple times and even changed the variables in the subflow to "Available for input" and "Available for output" but that didn't help. Is there a reason I cannot see the global variables from the subflow when I'm setting this up in the Record Triggered flow? Thanks!
Hey Graciela, Make sure the latest version of your subflow that has those variable available for input is active. The parent flow will call the active version which may not have had those variables set to "available for input".
I don't see why not. You can create a record and at the time of creation select a different Parent/Lookup value. Make sure the field in question isn't a Master-Detail field with the reparenting option turned off. You might run into some trouble with that.
Great Stuff Brian! Can you use this information to make a report on how many contacts were created by month? I want to do something similar by calculating the number of events made in each account and compare it with the pipeline in any given month an see the ratio of Events:Opportunities
Hey Jaime, I would actually just use reporting to accomplish this. It's difficult to use roll up summaries to show you data over time. That would require you to a roll up summary fields for each time frame. Instead you could try using a Joined report to show you Opportunity and Contact data by the shared account. I think that would help you get the info you're looking for. I just reread your comment. If you mean contacts in terms of activities, I would still recommend trying the reporting option first to see if that works.
It's needed because the triggers are different. If you want to take an action when something is created, updated, or deleted, you need two flows, because created and updated can be done together. Deleted is its own trigger.
Great video! Question... Instead of counting the number of contacts within the account I would like to count the number of retail locations (sub parent) based on the retail group (parent) account. Do I just need to place the retail type id (retail group) under the filter account record of the flow? Or what alternative can I do?
Hey Bryan, it's hard for me to be specific since I don't know your Org, but it sounds like you're on the right track: Get All Accounts with Parent ID = to RecordId(the account you,re on). If there are other accounts with that same parent that aren't retail locations, then you would need to add in that filter to exclude non retail accounts.
Is it possible to built roll up summary for self lookup relationship? My object has hierarchy by looking up to Parent on the same object. I wanted to roll up how many children under the parent. Is it better to use code instead of flow? Any suggestions ?
This is a tough one for Flow because we don't know how far the hierarchy goes. It could be two levels or twenty, etc. You'll have to build in the logic to keep getting records at each level to see if they exist and do that for as many levels as you think could be present.
Any suggestions for when you aren't counting the number of records but summing a field on the record with decimals? I found the create and update flows work well, but the delete results in the summary field being off by -1 rather than the actual amount.
For what it’s worth, you could do an assignment and count the collection instead of looping. And if one changed from null to an account on a contact, this might fail. No matter what, I would probably put one decision in your lowest Subflow to quit if the account ID is not valid. Enjoy and recommebd your tutorials. You have a brevity that I do not. Lol!
@@terrycole Hey Terry. You are absolutely right! I didn't even realize that. If you're just counting the records using the assignment step will save you from the loop. Thanks for that. I think your addition of a decision to confirm the account ID is valid is another good improvement. Thanks for the comment!
@Brian - Have you tried uploading 200 contacts and see if the Flow is working? Its giving me an error "You or your organization has exceeded the maximum limit for this feature", Any idea?
Hey there, I'm not sure which feature they're talking about. Do you still get this error if you mark the flow as inactive? I don't think it's related to the automation.
Hey Brian, how about the assignment with operator Equals Count instead of loop?
Hey Michal, that is a great option and more efficient than a loop! If all you want to do is count the the number of records in the collection, I think using that assignment step instead of a loop is the way to go. Thanks for bringing it up!
Please note, using count instead of loop will NOT work for the delete flow.
I follow the steps in other scenario and works perfect!! Thanks!
Glad it helped. Thanks for watching!
I tried many other videos and kept getting stuck. Your video helped me figure it all out. Thank you so much.
Glad it helped! We appreciate the comment!
What a helpful video! Watching now, thanks, Brian.
Hi Brian. This is an awesome video. Thank you! What are the impacts of creating the roll-up directly in the flow (using Get Record, Loop, Assignment, Update Record) instead of using a subflow? I'm trying to understand why using a subflow for counting the roll-up might be a better strategy.
Hey Noelfry, the only difference here is your efficiency. I don't think there is a difference to the system if you build the logic directly through your primary flow or call it through a subflow. The benefit to use is not having to repeat yourself if you want to use this same logic in multiple places and if you want to update that logic at some point in the future. If you repeated that same logic in a screen flow and multiple record triggered flows and a scheduled flow, you'd have to update it in each place any time you wanted to make a change.
Thank you so much! This was really helpful
Glad to hear it!
Awesome video, Brian! Thank you so much. It helped me a lot
You're welcome! Thank you for the comment!
I followed this tutorial and applied it to my unique situation and it worked perfectly...mostly. I have a Sales Transaction (Parent) and Checkout Items related list (child). I could not use the Roll-up Summary field type because of some limitation and so explored whether Flows could do the trick. You showed me that it could! Thanks. So, when I add new Checkout Items or modified an existing Checkout Item, the Total Cost field in Sales Transaction works perfectly. However, when I delete a Checkout Item, nothing happens. The information from the deleted Checkout Item (subtotal) still exist in the Total Cost and it still exist in my Created HTML table of Checkout Items (also your tutorial). I've tried a few things on my own but still can't get a deleted action to update the Total Cost in Sales Transaction. What do you suggest? Thanks.
You'll want to create another Flow to trigger off of deletion. You can do this with a record triggered flow. So you'll have one flow when a line item is edited or updated and another one that runs when an item is deleted. It does make it a bit more complicated.
Thanks for the tutorial. When I get to 8:40 in the video to add the Subflow to the triggering flow, I am not able to access a global variable that pulls in the variables I configured in the subflow. I debugged the subflow and it worked, and double-checked my work multiple times and even changed the variables in the subflow to "Available for input" and "Available for output" but that didn't help. Is there a reason I cannot see the global variables from the subflow when I'm setting this up in the Record Triggered flow? Thanks!
Hey Graciela, Make sure the latest version of your subflow that has those variable available for input is active. The parent flow will call the active version which may not have had those variables set to "available for input".
Hi @brian can you confirm is it possible include both creation and reparenting in one flow...
I don't see why not. You can create a record and at the time of creation select a different Parent/Lookup value. Make sure the field in question isn't a Master-Detail field with the reparenting option turned off. You might run into some trouble with that.
Awesome Brian👍💥
Glad you enjoyed it
Great Stuff Brian! Can you use this information to make a report on how many contacts were created by month?
I want to do something similar by calculating the number of events made in each account and compare it with the pipeline in any given month an see the ratio of Events:Opportunities
Hey Jaime, I would actually just use reporting to accomplish this. It's difficult to use roll up summaries to show you data over time. That would require you to a roll up summary fields for each time frame. Instead you could try using a Joined report to show you Opportunity and Contact data by the shared account. I think that would help you get the info you're looking for.
I just reread your comment. If you mean contacts in terms of activities, I would still recommend trying the reporting option first to see if that works.
@@Rotive Hey thank you for the info! I will look at it
Hii Brian Excellent Class i had seen on flows topic i have a doubt in update scenerio why we use 2 subflows ?
It's needed because the triggers are different. If you want to take an action when something is created, updated, or deleted, you need two flows, because created and updated can be done together. Deleted is its own trigger.
Great video! Question... Instead of counting the number of contacts within the account I would like to count the number of retail locations (sub parent) based on the retail group (parent) account. Do I just need to place the retail type id (retail group) under the filter account record of the flow? Or what alternative can I do?
Hey Bryan, it's hard for me to be specific since I don't know your Org, but it sounds like you're on the right track: Get All Accounts with Parent ID = to RecordId(the account you,re on). If there are other accounts with that same parent that aren't retail locations, then you would need to add in that filter to exclude non retail accounts.
Is it possible to built roll up summary for self lookup relationship? My object has hierarchy by looking up to Parent on the same object. I wanted to roll up how many children under the parent. Is it better to use code instead of flow?
Any suggestions ?
This is a tough one for Flow because we don't know how far the hierarchy goes. It could be two levels or twenty, etc. You'll have to build in the logic to keep getting records at each level to see if they exist and do that for as many levels as you think could be present.
Any suggestions for when you aren't counting the number of records but summing a field on the record with decimals? I found the create and update flows work well, but the delete results in the summary field being off by -1 rather than the actual amount.
I'm also looking for this...
same question... 🤔
homerun on the subflow concept!
Thanks! Glad you liked it, Andy.
For what it’s worth, you could do an assignment and count the collection instead of looping. And if one changed from null to an account on a contact, this might fail. No matter what, I would probably put one decision in your lowest Subflow to quit if the account ID is not valid. Enjoy and recommebd your tutorials. You have a brevity that I do not. Lol!
@@terrycole Hey Terry. You are absolutely right! I didn't even realize that. If you're just counting the records using the assignment step will save you from the loop. Thanks for that.
I think your addition of a decision to confirm the account ID is valid is another good improvement. Thanks for the comment!
@Brian - Have you tried uploading 200 contacts and see if the Flow is working? Its giving me an error "You or your organization has exceeded the maximum limit for this feature", Any idea?
Hey there, I'm not sure which feature they're talking about. Do you still get this error if you mark the flow as inactive? I don't think it's related to the automation.
Built something similar and found that deleted > restored Contacts don’t trigger the Flow unfortunately
That's a good insight. Thank you!
I tried in a sandbox an works. I just copy from the sandbox to the real environment and do nothing. I don't get it
When a flow is pushed to production it is changed to inactive by default. You may need to change that setting or reactivate them in production.