Skip to main content

I'm testing Agentforce Revenue Management (Revenue Cloud) in a Salesforce trial org (Enterprise Edition, API Version 67.0) and have three related questions. 

 

Background

 

For a custom implementation we store a very large volume of non-lifecycle customer records in the standard Asset object. We chose Asset because, in our testing, Asset records themselves do not count toward data storage limits (Setup → Storage Usage shows no data storage use for them), and we want to keep that behavior.

1. AssetActivity availability and storage

 

In this Revenue Cloud org, inserting plain Asset records through the API, with no order and no lifecycle call, creates AssetActivity and AssetActivityFieldChange records, and data storage rises. 

I see no related flows or Apex triggers, nothing in debug logs, and no toggle in Setup → Asset Settings. The AssetActivity object is

not available in the other Revenue Cloud orgs I have access to

, so something org-specific seems to control it. 

 

2. Planned Asset record type

 

We plan to add a record type on Asset. One would behave as the standard Revenue Cloud asset, and the other would hold the non-lifecycle records created through an integration (HasLifecycleManagement = false). We want to understand the impact on

Asset Lifecycle Management

if a new record type is created on Asset. 

 

3. Storage behavior of Asset

 

We want to confirm the assumption our design relies on.

Questions:

  1. Is it correct that Asset records do not count toward data storage? Is that documented and supported, or could it change?
  2. Which feature, license or permission set license makes AssetActivity and AssetActivityFieldChange available in an org? Why do some Revenue Cloud orgs have the object and others don't?
  3. What creates AssetActivity records when an Asset is inserted or updated? Is it platform-native?
  4. Can creation be disabled, or excluded for a record type, user or API path? Can the records be updated or deleted to recover storage?
  5. Does Asset Lifecycle Management (order activation, amend, renew, cancel, and the Asset Action, Asset Action Source and Asset State Period records) depend on a particular Asset record type? Does it take the record type from the running user's default?
  6. If we add a record type on Asset, are non-lifecycle-managed assets ignored by lifecycle processes, APIs, flows and screens? Is keeping both kinds of record on Asset supported?
  7. Is there a recommended pattern for storing very high volumes of non-lifecycle customer records in Revenue Cloud without consuming data storage?

Thanks!

1 Antwort
  1. Heute 00:14

    Hi Rajdeep,

    Asset is not on the short list of objects Salesforce leaves out of data storage. Accounts, contacts, opportunities, cases, and a few others are. Asset is not one of them. A trial org storage page showing zero is not something I would build a design on. It lags, and it is not a documented exemption. After a real volume of inserts, check Storage Usage again before you commit to this.

    AssetActivity and AssetActivityFieldChange show up in orgs where the fuller asset lifecycle tracking got turned on. That is why the object exists here and not in your other Revenue Cloud orgs. It is platform behavior, not a flow or a trigger you can find. A plain API insert is enough to write those rows, and those rows are what push storage up. I have not seen a per-record-type switch that stops it.

    Lifecycle does not depend on an Asset record type. Amend, renew, and cancel follow HasLifecycleManagement and the asset action records. Adding a record type changes layouts and the default type on create. It does not hide the other rows from lifecycle screens. A user whose default record type is the integration one can also send new assets to the wrong type. Order activation still builds the lifecycle asset on its own path.

    Keeping both kinds of record on Asset only works if the integration rows are actually HasLifecycleManagement = false, and you accept that anyone who can see Asset can see both. It will not keep those rows out of storage, and it will not stop AssetActivity if that tracking is on.

    For a very large set of non-lifecycle records, I would not put them on Asset. A big object, or something outside the org, is the volume pattern. Asset is for the records lifecycle is supposed to manage.

0/9000