Loading
Feature Disruption - Service Cloud VoiceRead More
Feature degradation | Gmail Email delivery failureRead More
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Cache for Top-Level Integration Procedure Data

          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.

          Note
          Note

          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 is true. 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 is false. Use this setting as part of testing caching itself.

          Note
          Note

          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 the ignoreCache setting 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.

          Note
          Note Starting with Summer ‘25, replace the 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);
            
           
          Loading
          Salesforce Help | Article