--- title: "Set up Azure File Storage (API) connector" slug: "set-up-azure-file-storage-api-connector-task" description: "Set up an Azure File Storage connector to exchange data files with D365 F&SCM using the Azure Files REST API for seamless integration." tags: ["Connectivity Studio", "CS", "Task"] updated: 2026-07-24T04:37:44Z published: 2026-07-24T04:37:44Z canonical: "docs.staedean.com/set-up-azure-file-storage-api-connector-task" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.staedean.com/llms.txt > Use this file to discover all available pages before exploring further. # Set up Azure File Storage (API) connector Set up a connector of type **Azure File Storage (API)** to exchange data files between your D365 F&SCM environment and another environment, using the Azure Files REST API. Azure File Storage (API) is Microsoft's file storage solution for the cloud, accessed through the Azure Files REST API. With the **Azure File Storage (API)** type connector, you can exchange these external file-based documents: **EDI**, **Fixed text**, **Microsoft Word**, **Microsoft Excel**, **Text**, **XML**, **JSON**. You can only use this connector in combination with a document for which the version 3 (V3) handler class is selected. You can use one of these authentication methods to access Azure File Storage (API): - **Shared access key**: Grants access to a storage account. - **Shared access signature (SAS)**: Grants access to a specific file share. - **Client credentials**: Grants access to Azure File Storage (API) via an Microsoft Entra ID application with Azure storage permission. - **Password**: Grants access to Azure File Storage (API) via an Microsoft Entra ID application with Azure storage permission. - **Managed storage**: Grants access to Azure File Storage (API) via a managed identity as set up in Azure. For more information, refer to: - [Authorize access to data in Azure Storage](https://learn.microsoft.com/en-us/azure/storage/common/authorize-data-access?tabs=blobs) - [Authorize access to blob or queue data from a native or web application](https://learn.microsoft.com/en-us/azure/storage/blobs/authorize-access-azure-active-directory?tabs=dotnet#azure-ad-authority) - [Authorize with shared access key](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key) - [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview) - [Authorize access to blobs using Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/storage/blobs/authorize-access-azure-active-directory) - [Authorize access by using a managed identity](https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-authorize-managed-identity) > [!NOTE] > Note > > - With this connector type, you exchange files between your D365 F&SCM environment and another environment. If the other environment has no access to the shared folder or local folder, you can use [file actions](/data-management/docs/set-up-file-actions-for-a-connector) to transfer the files to a location where the other environment can access the files. > - You cannot use file actions of type **ZIP**. ### Steps 1. Click **Connectivity studio - Integration Design**. 2. Click the **Connectors** tab. 3. Click **New**. 4. In the **Connector** field, type a value. > [!NOTE] > **Note** > > You are advised to not include, in the connector name, the name of the application to which you connect. Use the **Application** field to define the applicable application for the connector. 5. In the **Project** field, enter or select a value. 6. Define the applicable application for the connector. For an **Azure File Storage (API)** connector, for example, select an '**Azure File Storage (API)**' application. In the **Application** field, enter or select a value. > [!NOTE] > **Note** > > 1. You can only select an application that is defined for the applicable project. You can define project applications on the **Projects** page. > 2. You can type any existing application name, whether it is defined as project application or not. If the typed application is not defined as project application, it is automatically added to the project applications. 7. In the **Connector type** field, select '**Azure File Storage (API)**'. 8. Sub-task: Set properties. 1. You can export connectivity setup and import it in another D365 F&SCM environment. For example, you first set up and test the connectivity setup in a development environment. When finished, you deploy the setup in your production environment. To prevent messing up your production data, use different file locations for your development or testing environment and for your production environment. To strictly distinguish between different environments, you can define unique connector properties for each of your environment types. So, each connector can have a different set of properties for each applicable environment type. Which connector properties are applicable to the current environment is defined in the **Environment type** field on the **Connectivity studio parameters**. **Example**: If set to **Development**, the connector properties, as defined for environment type **Development** are applicable. In the **Environment types** field, select an option. > [!NOTE] > **Note** > > The environment types only apply to connectors of type **Database**, **Azure file storage**, **Azure File Storage (API)**, **Blob storage**, **SharePoint**, or **Service Bus queue**. 2. Expand the **Properties** section. 3. In the **Storage account** field, enter the applicable Azure storage account name. > [!NOTE] > **Note** > > Only the Azure storage account name is required here and not the full URL. 4. In the **File share** field, enter the name of the applicable file share. > [!NOTE] > **Note** > > Only the file share name is required here and not the full URL. 5. Define how access to Azure File Storage (API) is granted: In the **Authentication** field, select an option. - **Shared access key**: Fill in the **Password** field or **Password reference** field - **Password**: Fill in these fields: **Token authorization endpoint**, **Resource**, **Client ID**, **User name**, **Password** or **Password reference**, and **Scope**. - **Client credentials**: Fill in these fields: **Token authorization endpoint**, **Resource**, **Client ID**, **Client secret** or **Client secret reference**, and **Scope**. - **Shared access signature**: Fill in the **Password** field or **Password reference** field. - **Managed storage**: No further fields to be filled in. The storage is accessed based on a managed identity in Azure. 6. Enter the password or password reference to access a: Whether the password or password reference applies is defined by the **Display secret** field in the **Connectivity studio parameters**. If the **Display secret** parameter is set to: - **Secret**, fill in the **Password** field with the desired password. The password is specific for the current file action. - **Secret reference**, fill in the **Password reference** field with the desired secret reference. The password reference refers to a centrally stored password which makes updating secrets easier. - **Both**, fill in either the **Password** field or the **Password reference** field. In the **Password** field or in the **Password reference** field, type a value. > [!NOTE] > **Note** > > This field is only applicable if the authentication is '**Shared access key**', '**Shares access signature**', or '**Password**'. - File share if the authentication is '**Shared access signature (SAS)**'. - Storage account if the authentication is '**Shared access key**' or '**Shared access signature (SAS)**'. - Azure File Storage (API) if the authentication is '**Password**'. 7. Define the base Microsoft Entra ID authority as follows: https://login.microsoftonline.com/[Tenant ID]/ The 'Tenant ID' is your Microsoft Entra ID tenant ID (or directory ID). The tenant ID identifies the Microsoft Entra ID tenant to use for authentication. It is also referred to as the directory ID. To retrieve the tenant ID, navigate to the **Overview** page for your app registration in the **Azure portal**, and copy the value from there. In the **Token authorization endpoint** field, type a value. > [!NOTE] > **Note** > > This field is only applicable if the authentication is '**Client credentials**' or '**Password**'. 8. Define the applicable Microsoft Entra ID resource ID. The resource ID indicates the audience for which a token that is issued can be used to provide access to an Azure resource. In the case of Azure Storage, the resource ID may be specific to a single storage account, or it may apply to any storage account. Usually, the resource is: https://storage.azure.com/ In the **Resource** field, type a value. > [!NOTE] > **Note** > > This field is only applicable if the authentication is '**Client credentials**' or '**Password**'. 9. In the **Client ID** field, enter the Application (client) ID of the registered Microsoft Entra ID application that you use to access Azure File Storage (API). > [!NOTE] > **Note** > > This field is only applicable if the authentication is '**Client credentials**' or '**Password**'. 10. In the **User name** field, enter the user name that is used to access the Microsoft Entra ID application that you use to access Azure File Storage (API). > [!NOTE] > **Note** > > This field is only applicable if the authentication is '**Password**'. 11. Enter the client secret or client secret reference of the registered Microsoft Entra ID application that you use to access Azure File Storage (API). Whether the client secret or client secret reference applies is defined by the **Display secret** field in the **Connectivity studio parameters**. If the **Display secret** parameter is set to: - **Secret**, fill in the **Client secret** field with the desired client secret. The client secret is specific for the current connector. - **Secret reference**, fill in the **Client secret reference** field with the desired secret reference. The client secret reference refers to a centrally stored client secret which makes updating secrets easier. - **Both**, fill in either the **Client secret** field or the **Client secret reference** field. In the **Client secret** field or in the **Client secret reference** field, type a value. > [!NOTE] > **Note** > > This field is only applicable if the authentication is '**Client credentials**'. 12. For the used Microsoft Entra ID application, Azure Storage permissions are defined. You can use the scope to prompt consent for specific permissions for this connection. For example, user_impersonation. In the **Scope** field, type a value. > [!NOTE] > **Note** > > This field is only applicable if the authentication is '**Client credentials**' or '**Password**'. 13. Enter the path to the **Working** folder of the connector. If a message: In the **Working path** field, enter or select a value. > [!NOTE] > **Note** > > Manually create the **Working** folder in the defined share. - Imports files, this is the source folder. - Exports files, this is the target folder. 14. Enter the path to the **Archive** folder of the connector. Files are: In the **Archive path** field, enter or select a value. > [!NOTE] > **Note** > > Manually create the **Archive** folder in the defined share. - Moved to the **Archive** folder when imported without errors. - Copied to the **Archive** folder on export. If you export, the file is first created in the Working folder. When created, it is copied to the Archive folder. 15. A message is always run for a specific company. Usually, this is the current company. You can store the message files in a separate folder for each company. As a result, if you run a message to: Select **Yes** in the **Use company folders** field. > [!NOTE] > **Note** > > If you use company folders, manually create the company folders. > > Make sure the: > > - Company folder names are exactly the same as the company IDs in D365 F&SCM. > - Company folders are defined for each path folder of the connector: **Working**, **Archive**, **Error**, **Split** (if applicable), **Copy** (if applicable), and **Move** (if applicable). - Import files, it only searches for files in the folder for the company for which the message is run. **Example**: The message is run for company USMF. Files are only searched for in the [working path]\USMF folder. - Export files, the files are stored in the folder for the company for which the message is run. **Example**: The message is run for company USMF. Files are stored in the [working path]\USMF folder. 9. Sub-task: Set read options. 1. Expand the **Read section**. 2. If **Search sub folder** is **No**, on import, files are only searched for in the **Working** folder. You can indicate that, on import, files are also searched for in the sub folders of the **Working** folder. **Example:** Files come in from different systems (for example: PLM and webshop) and these files are placed in a separate sub folder for each system (for example: PLM files and webshop files). In this case, set **Search sub folder** to **Yes**. Select **Yes** in the **Search subfolders** field. 3. Enter the path to the **Error** folder of the connector. If, on import of a file, errors occur, the file is moved to the **Error** folder. In the **Error path** field, enter or select a value. > [!NOTE] > **Note** > > Manually create the **Error** folder in the defined share. 4. Enter the path to the **Split** folder of the connector. On import, you can split large files with a lot of records. Whether a file must be split is defined in the **Split quantity** field on documents of type **Text** or **Microsoft Excel**. As a result, the original file is put in the **Split** folder instead of the **Working** folder. When the message is run, the original file is split in smaller files based on the split quantity. The smaller split files are put in the **Working** folder. The message processes the split files in parallel. In the **Split/Temporary path** field, enter or select a value. > [!NOTE] > **Note** > > - Manually create the **Split** folder in the defined share. > - Only use the split functionality for simple (one record level) data. It is not suitable for data with multiple levels (header and line records). 10. Sub-task: Set write options. 1. On write (creation of files), you can store files in a temporary folder. Expand the **Write** section. 2. Enter the path to the **Temporary** folder of the connector. Files are stored temporarily to avoid the files from being picked up while not completed. In the **Temporary path** field, enter or select a value. 11. Sub-task: Select custom handler. 1. Expand the **Custom** section. 2. For an **Azure File Storage (API)** type connector, the standard handler class is **BisConnectorStreamFileStorage**. This handler class exports data to or imports data from a file in a file share. You can use a customized handler class. To do so, extend the standard handler class. In the **Handler** field, you can enter or select a custom handler class. 12. Sub-task: Set advanced options. 1. Expand the **Advanced options** section. 2. A document can have a query for which cross-company is enabled. If a user, with access to a restricted set of companies, runs a message that uses the document, the cross-company option does not work. If you have this scenario, make sure the cross-company option is enabled for the used connector. Otherwise, you can disable the cross-company option. 3. Select **Yes** in the **Cross company disabled** field. 13. Close the page. > [!NOTE] > **Notes** > > If you use an **Azure File Storage (API)** connector as source or target connector on a message, make sure the related source or target document uses the 'V3' handler version. ## Related - [Set up Blob storage connector](/set-up-blob-storage-connector-task.md) - [Set up Azure File Storage (API) connector](/set-up-azure-file-storage-api-connector.md) - [Set up file actions for a connector](/set-up-file-actions-for-a-connector.md)