--- title: Item processing pipelines slug: '2565' canonical_url: https://docs.coveo.com/en/2565/ collection: coveo-for-sitecore-v5 source_format: adoc --- # Item processing pipelines :figure-caption!: When you rebuild or refresh your Coveo for Sitecore indexes using the Sitecore UI or the Coveo **Command Center**, a Sitecore item goes through a series of processes, or _pipelines._ Along this route, Coveo for Sitecore processes the item by adding the missing Coveo fields (for example, the `BinaryData` field to hold the item body) and metadata that the item needs to be complete. At the end of these processes, the item is sent to the [Coveo Platform](https://docs.coveo.com/en/186/), where it's finally converted to the Coveo index item format and stored. Coveo for Sitecore supplies you with two item processing [Coveo for Sitecore pipelines](https://docs.coveo.com/en/3099/) (the `` and `` pipelines), which you can leverage to modify Sitecore items before and after they're processed by Coveo for Sitecore. Coveo for Sitecore pipelines are defined as children of the `/configuration/sitecore/pipelines` element in Coveo `.config` files. These Coveo pipeline elements contain `` elements which reference a class in a Coveo `DLL`. **Simplified view of the indexing process in Sitecore. The light-purple stages are Coveo for Sitecore pipelines you can leverage to customize the process with your own processors.** ![Flow diagram of Coveo for Sitecore item indexing stages including the pipelines users can customize with their processors | Coveo](https://docs.coveo.com/en/assets/images/c4sc-v5/sitecore-indexing.png) Of all the pipelines included in Coveo for Sitecore, item processing pipelines are among the most commonly customized ones. You can find their definitions in the `/configuration/sitecore/pipelines` section of the `Coveo.SearchProvider.config` file. To add your own processor, you should therefore add your changes to the `Coveo.SearchProvider.Custom.config` file. ## Overview of the pipelines The following table provides an overview of the two item processing pipelines available in Coveo for Sitecore. [cols=",^,"] |=== | Pipeline | Purpose | Description | `coveoItemProcessingPipeline` | Item pre-processing | Used to pre-process Sitecore items, allowing you to reject them, create entirely new virtual items based on them, or fetch associated items. Input and output items are of type `Sitecore.ContentSearch.IIndexable`. Received items haven't been processed by Coveo for Sitecore yet. | `coveoPostItemProcessingPipeline` | Item post-processing | Used to post-process Sitecore items, allowing you to perform various customizations. Processors added to this pipeline have access to the original `IIndexable` object, as well as to the Coveo processed `CoveoIndexableItem` object, and therefore to all fields added by Coveo for Sitecore. Input and output items are of type `Coveo.AbstractLayer.RepositoryItem.CoveoIndexableItem`. |===