--- title: Salesforce source JSON modification slug: m6h90378 canonical_url: https://docs.coveo.com/en/m6h90378/ collection: coveo-for-salesforce source_format: adoc --- # Salesforce source JSON modification This article presents the Salesforce [source](https://docs.coveo.com/en/246/) hidden parameters that can be updated by [modifying the source JSON configuration](https://docs.coveo.com/en/1685/) from the [Coveo Administration Console](https://docs.coveo.com/en/183/). > **Tip** > > These parameters are listed in the `parameters` section of the source JSON configuration. ## Hidden parameters ### `AllowedDeletionPercentage` (Integer) This parameter specifies the maximum allowed percentage of [source](https://docs.coveo.com/en/246/) [items](https://docs.coveo.com/en/210/) that can be deleted from the index at the end of a [rescan](https://docs.coveo.com/en/2711/). If the actual percentage of source items to delete exceeds this value, no items are deleted from the index. By default, this parameter is set to `100`, which means that all source items can be deleted. The purpose of this parameter is to prevent accidental mass item deletions. This can occur, for example, because of an improper source configuration or if the content to index was moved. For more information about this parameter and its usage, see [Forbid item deletion based on a percentage condition](https://docs.coveo.com/en/2006#forbid-item-deletion-based-on-a-percentage-condition). **Example** You can set `AllowedDeletionPercentage` to `10` in the JSON configuration of your source, as shown in the snippet below. With this configuration, if Coveo detects that more than 10% of the items are flagged for deletion during a rescan, deletion will be blocked. The status on the [**Sources**](https://platform.cloud.coveo.com/admin/#/orgid/content/sources/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/content/sources/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/content/sources/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/content/sources/)) page will show your source in error, and the error details will indicate the actual percentage of items that were flagged for deletion versus the allowed percentage (in this case, 10%). ```json "AllowedDeletionPercentage": { "sensitive": false, "value": "10" } ``` ### `ApplyVisibilityChannelPermissionsOnKnowledgeArticles` The `ApplyVisibilityChannelPermissionsOnKnowledgeArticles` parameter determines whether to apply visibility channel permissions on Knowledge Base (KB) articles that rely on [data categories](https://help.salesforce.com/s/articleView?id=sf.category_whatis.htm&type=5) to secure record access (see [Known limitations](https://docs.coveo.com/en/m5ba6010#known-limitations)). The default value is `true`, meaning that visibility channel permissions are applied on all _new_ sources that contain indexed KB articles. When set to `false`, visibility channel permissions aren't applied on KB articles and custom manipulations are required to secure record access. > **Note** > > Any modification to this parameter value will require a source [rescan](https://docs.coveo.com/en/2039#rescan) to apply the change. ### `DisableMetadataApiSecurities` The `DisableMetadataApiSecurities` parameter determines whether to retrieve permissions that are only available using the [Salesforce Metadata API](https://developer.salesforce.com/docs/atlas.en-us.240.0.api_meta.meta/api_meta/meta_intro.htm) such as **Sharing Sets** and **User Visibility**. The default value is `false`, meaning that permissions that are only available using the Salesforce Metadata API are retrieved by default. When set to `true`, this parameter lets you bypass the crawling user's **Modify Metadata Through Metadata API Functions** and **Manage Sharing** [permission requirements](https://docs.coveo.com/en/1052#crawling-user-requirements) in order to create a secured source. However, bypassing these permissions may result in some users not finding all the documents in their Coveo-powered search interface that they can access in Salesforce (see [Known Impacts](#known-impacts) ). #### Known impacts Setting the `DisableMetadataApiSecurities` parameter to `true` will negatively impact all use cases that require the crawling user's **Modify Metadata Through Metadata API Functions** and **Manage Sharing** permissions. These include: * Customers using [Sharing Sets](https://help.salesforce.com/s/articleView?id=sf.networks_setting_light_users.htm&type=5). * Customers using [User Visibility settings](https://help.salesforce.com/s/articleView?id=sf.networks_community_user_visibility.htm&type=5). * Customers requiring secured indexing of the [`EmailMessage` Salesforce object](https://developer.salesforce.com/docs/atlas.en-us.238.0.object_reference.meta/object_reference/sforce_api_objects_emailmessage.htm). * Customers using [Standard Sharing](https://help.salesforce.com/s/articleView?id=sf.knowledge_sharing.htm&type=5) for the secured indexing of Lightning Knowledge, which includes related items such as Chatter and files related to Knowledge records. Make sure to contact [Coveo Support](https://connect.coveo.com/s/case/Case/Default) before enabling this parameter. ### `FetchChatterItemBodyFromConnectApi` The `FetchChatterItemBodyFromConnectApi` parameter determines if Chatter feed items and comments containing user references should be [indexed](https://docs.coveo.com/en/204/) using _full user names_ or Experience Cloud site _nicknames_. The default value is `false`, meaning that Chatter feed items and comments containing user references are indexed using full user names. When set to `true`, this parameter lets you index Chatter feed items and comments containing user references with site nicknames instead, provided [nicknames have been enabled in the Experience Cloud site](https://help.salesforce.com/s/articleView?id=sf.networks_enable_nickname_display.htm&type=5). > **Important** > > Enabling this parameter can impact the performance of your source as it requires additional API calls to the [Salesforce Connect REST API](https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_messages.htm). ### `UseMigrateToFromArticleIdForPermanentIdGeneration` The `UseMigrateToFromArticleIdForPermanentIdGeneration` parameter determines if the values of the Classic Knowledge [`MigratedToFromArticleVersion`](https://developer.salesforce.com/$$docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_knowledge__kav.htm$$) and [`MigratedToFromArticle`](https://developer.salesforce.com/$$docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_knowledge__ka.htm$$) fields should be reused during [indexing](https://docs.coveo.com/en/204/) to generate the permanent IDs for articles that have been migrated to Lightning Knowledge. The default value is `false`, meaning that new permanent IDs are generated by default for your migrated content. > **Important** > > Generating new permanent IDs for migrated content affects both [featured results](https://docs.coveo.com/en/3376/) and [Coveo Machine Learning (Coveo ML)](https://docs.coveo.com/en/188/) [Automatic Relevance Tuning (ART)](https://docs.coveo.com/en/1013/) boosted search results. > Specifically, it breaks your existing featured result rules and requires weeks of additional Coveo ML [model](https://docs.coveo.com/en/1012/) training to boost the results of your migrated content. To avoid generating new permanent IDs for your migrated content, you can override the default value as follows: ```json "UseMigrateToFromArticleIdForPermanentIdGeneration": { "sensitive": false, "value": "true" } ``` When set to `true`, the values of the Classic Knowledge `MigratedToFromArticleVersion` and `MigratedToFromArticle` fields are reused to generate the permanent IDs for articles that have been migrated to Lightning Knowledge, preserving both your featured results and Coveo ML ART boosted search results.