Assets: Limitless fun!

Target Group: Architects
Complexity: Medium

Assets have always been a strange object I could never really grasp.

What’s the difference between a Product and an Asset? What to really use Assets? Why not go with a Custom Object right away?

Like every CTA student, I became very excited once I learned: Assets don’t count against data storage.

I couldn’t believe it, I had to test it myself. Using an overly complicated automation consisting of Queueable APEX, Platform Events, and Flows combination I was able to create millions of Assets in my Dev Org without any issue.

But what about LDV considerations? I was told (couldn’t see that yet myself) that there exist Orgs with hundreds of millions of Assets. As long as the object is architected properly, Asset LDV can be managed.
-> Assets can be used to store very large volumes of records.

And even better, Assets are part of every License (Sales, Service, Platform, Customer Community…). 
-> Assets are versatile tools to share information between different User Groups.

And now the last questions, when to use them?

“Asset is a concrete representation of a Product.”

Typically an Asset has a serial number, while a Product has a product code.

One Product can have many Assets, but one Asset can only have one Product.

Disclaimer: Don’t misuse Assets for other purposes just because you have a large volume.

Thanks, Christian Meese for reminding me of the awesomeness of Assets.

PS: There’s the Asset Token Flow I spent lots and lots of time memorizing but I still can’t explain what it’s used for in the wild.