You are here:
Cache for Top-Level Integration Procedure Data
Using a cache to store frequently accessed, infrequently updated Integration Procedure data saves round trips to the database and improves performance. You can cache all the data for an Integration Procedure, as described here, or you can use a Cache Block to cache only part of it.
To configure top-level caching for an Integration Procedure, go to the Procedure Configuration and set the Salesforce Platform Cache Type and Time To Live In Minutes properties. See Configure Top-Level Caching for an Integration Procedure.
If an Integration Procedure that has top-level caching enabled fails, its data isn’t cached.
Options in Preview for Top-Level Caching
When you test an Integration Procedure that uses top-level caching in the Preview tab, you can use two caching settings in the Options JSON section. These settings control top-level data and have no effect on the metadata cache.
-
ignoreCache— Doesn't clear or save data to the cache. The default value istrue. Use this setting to test Integration Procedure steps without the possible interference of caching effects. -
resetCache— Forces data to be saved to the cache. The default value isfalse. Use this setting as part of testing caching itself.
To test caching, be sure to set ignoreCache to false. See Create a Top-Level Caching Example.
You can pass ignoreCache and resetCache as parameters when you invoke an Integration Procedure that uses caching using a REST API. For example, you can include ?resetCache=true in the URL to force caching. See Integration Procedure Invocation from REST APIs.
Top-Level Caching JSON Nodes and REST Headers
If top-level caching is configured and the Integration Procedure is active, the Integration Procedure JSON can include the following nodes under the root node:
-
vlcCacheKey— Key for any data stored in the cache -
vlcCacheResult— Included and set to true if data is retrieved from the cache -
vlcCacheEnabled— Included and set to false if theignoreCachesetting disables caching -
vlcCacheException— Any caching errors
These nodes are returned as headers if you invoke an Integration Procedure that uses top-level caching using a REST API. See Integration Procedure Invocation from REST APIs.
Methods for Clearing Top-Level Data
To clear top-level Integration Procedure data from the cache, execute these Connect APIs in the Developer Console.
clearSessionCache,
clearOrgCache, and clearAllCache methods with the
Connect APIs to clear top-level Integration Procedure data from the cache. - Clear session cache:
Starting with Summer ‘25, replace the
IntegrationProcedureService.clearSessionCache('Type_Subtype', new Map<String, Object>{'key' => 'value'})method with this API:ConnectApi.IntegrationProcedureCacheInputRepresentation finalInput = new ConnectApi.IntegrationProcedureCacheInputRepresentation(); ConnectApi.IntegrationProcedureCacheInputData apexInput = new ConnectApi.IntegrationProcedureCacheInputData(); apexInput.ipKey = ipKey; apexInput.inputData = JSON.serialize(inputData); List l = new List(); l.add(apexInput); finalInput.ipInput = l; finalInput.cacheStorageType = ConnectApi.CacheStorageType.Session; ConnectApi.IntegrationProcedureCacheOutputRepresentation test = ConnectApi.OmniDesignerConnect.ClearIntegrationProcedureCache(finalInput);ipKey: Specifies the Integration Procedure to invoke in Type_Subtype format.
inputData: Specifies the input in the Map<string,object> format.
- Clear session cache with
vlcCacheKey:Starting with Summer ‘25, replace the
IntegrationProcedureService.clearSessionCache('vlcCacheKey')method with this API:ConnectApi.IntegrationProcedureCacheInputRepresentation apexInput = new ConnectApi.IntegrationProcedureCacheInputRepresentation(); List cacheKeyList = new List(); cacheKeyList.add(vlcCacheKey); apexInput.cacheKeys= cacheKeyList; apexInput.cacheStorageType = ConnectApi.CacheStorageType.Session; ConnectApi.IntegrationProcedureCacheOutputRepresentation test = ConnectApi.OmniDesignerConnect.ClearIntegrationProcedureCache(apexInput); - Clear org cache:
Starting with Summer ‘25, replace the
IntegrationProcedureService.clearOrgCache('Type_Subtype', new Map<String, Object>{'key' => 'value'})method with this API:ConnectApi.IntegrationProcedureCacheInputRepresentation finalInput = new ConnectApi.IntegrationProcedureCacheInputRepresentation(); ConnectApi.IntegrationProcedureCacheInputData apexInput = new ConnectApi.IntegrationProcedureCacheInputData(); apexInput.ipKey = ipKey; apexInput.inputData = JSON.serialize(inputData); List<ConnectApi.IntegrationProcedureCacheInputData> l = new List<ConnectApi.IntegrationProcedureCacheInputData>(); l.add(apexInput); finalInput.ipInput = l; finalInput.cacheStorageType = ConnectApi.CacheStorageType.Org; ConnectApi.IntegrationProcedureCacheOutputRepresentation test = ConnectApi.OmniDesignerConnect.ClearIntegrationProcedureCache(finalInput); - Clear org cache with
vlcCacheKey:Starting with Summer ‘25, replace the
IntegrationProcedureService.clearOrgCache('vlcCacheKey')method with this API:ConnectApi.IntegrationProcedureCacheInputRepresentation apexInput = new ConnectApi.IntegrationProcedureCacheInputRepresentation(); List<String> cacheKeyList = new List<String>(); cacheKeyList.add(vlcCacheKey); apexInput.cacheKeys= cacheKeyList; apexInput.cacheStorageType = ConnectApi.CacheStorageType.Org; ConnectApi.IntegrationProcedureCacheOutputRepresentation test = ConnectApi.OmniDesignerConnect.ClearIntegrationProcedureCache(apexInput); - Clear all cached data for an Integration Procedure, including session cache data, org
cache data, and metadata:
Starting with Summer ‘25, replace the
IntegrationProcedureService.clearAllCache('Type_Subtype')method with this API:ConnectApi.IntegrationProcedureCacheInputRepresentation finalInput = new ConnectApi.IntegrationProcedureCacheInputRepresentation(); ConnectApi.IntegrationProcedureCacheInputData apexInput = new ConnectApi.IntegrationProcedureCacheInputData(); apexInput.ipKey = ipKey; List<ConnectApi.IntegrationProcedureCacheInputData> l = new List<ConnectApi.IntegrationProcedureCacheInputData>(); l.add(apexInput); finalInput.ipInput = l; finalInput.cacheStorageType = ConnectApi.CacheStorageType.All; ConnectApi.IntegrationProcedureCacheOutputRepresentation test = ConnectApi.OmniDesignerConnect.ClearIntegrationProcedureCache(finalInput);

