# ICapabilitiesProvider Interface

> The `ICapabilitiesProvider` Interface, essential for declaring an extractor activity's capabilities such as document types processed and targeted fields, must be implemented.

The `ICapabilitiesProvider` Interface, essential for declaring an extractor activity's capabilities such as document types processed and targeted fields, must be implemented.

## Definition

* Namespace: `UiPath.DocumentProcessing.Contracts.DataExtraction`
* Assembly: `UiPath.DocumentProcessing.Contracts`

## Description

An interface that needs to be implemented if the extractor activity can declare its own capabilities (such as the document types the extractor can process and the associated fields it can target, based on its internal taxonomy).

## Members

#### Methods

* `ProvidesCapabilities` `bool` - Returns `True` if the extractor is able to provide a list of capabilities.
* `GetCapabilities` `System.Threading.Tasks.Task<UiPath.DocumentProcessing.Contracts.DataExtraction.ExtractorDocumentTypeCapabilities[]>` - A method that gets a list of fields the extractor is capable of extracting for each document type. This method will only be called at design time, and as such, it should not use any **InArgument(s)**.
