Documentation Index

Fetch the complete documentation index at: https://knowledge.technomile.com/llms.txt

Use this file to discover all available pages before exploring further.

Contracts Suite with Azure Key Vault Installation and Configuration Guide

Prev Next

Change Summary

Release Date

Release Version

Change Description

Link

April 20th, 2026

2026.1.1

Adding DocuSign configuration to store credentials in AKV

Key Vault Configurations

April 13th, 2026

2026.1

Import TechnoMile Custom Connectors Solution with Azure Key Vault

Import TechnoMile Custom Connectors Solution with Azure Key Vault

April 13th, 2026

2026.1

Configure Key Vault Integrator Custom Connector

Configure Key Vault Integrator Custom Connector

April 13th, 2026

2026.1

Alternate method to access Product Configurations from Power Apps

Access Product Configurations from Power Apps

Overview

This document outlines the standardized approach for creating Secrets in Azure Key Vault using pre-defined Product Configuration records. Each configuration corresponds to a specific product/feature set up and uses a consistent JSON template to ensure secure and uniform integration with external systems. TechnoMile maintains a set of Product Configuration records in the system. These records define parameters required for secure communication with external services.

TechnoMile’s Contracts Suite solution helps Government Contractors manage the entire Contract Lifecycle initiating from pre-award to post-award through a user-friendly set up and administration tasks. The Contracts Suite solution is built on a highly flexible and scalable Microsoft Dynamics platform where users can easily configure and manage Contract and Subcontract processes.

This guide takes you through the installation and configuration steps for the Contracts Suite app.

Audience

  • Microsoft Dynamics Administrators

  • IT Support

Prerequisites

  • Ensure that TechnoMile's Contracts Suite is already installed and configured. The version of this package must be 2026.1 or higher.

  • Retrieve Azure/Entra application details such as Client ID, Client Secret, and Tenant ID.

  • Retrieve the name of your Azure Key Vault.

Recommendation

  • It is advisable to maintain separate Azure Key Vaults for each instance in order to segregate configurations for different environments (for example, Development, UAT, or Production).

Import TechnoMile Custom Connectors Solution with Azure Key Vault

It is recommended to install all packages in a Sandbox/Test environment for testing, prior to their installation in your Production environment. Please contact TechnoMile Support or email support@technomile.com for separate installation packages for your Sandbox/Test environment.

IMPORTANT:

Check all Power Automate Flows to ensure that they are turned ON. If a Power Automate Flow is not ON, select Edit for the flow, create its Connections, and turn it ON.

mceclip5.png

  1. Login to your Microsoft Dynamics instance.

  2. Go to https://make.powerapps.com/

  3. Go to Solutions and click Import solution.

  4. Click Browse to locate and select the TechnoMile Custom Connectors installation package that you received from TechnoMile, which is saved on your system and click Next.

  5. Click Import.

    The following message displays Solution “TechnoMile Custom Connectors” imported successfully and the installed TechnoMile Custom Connectors package displays on the Managed tab of the Solutions page.

  6. Go to the Managed tab and click to open TechnoMile Custom Connectors.

Configure Key Vault Integrator Custom Connector

  1. Go to Custom connectors and click to open Key Vault Integrator.

  2. Click Edit.

  3. On General, choose Scheme as HTTPS and enter Host as Vault URI.

    IMPORTANT:

    Ensure that you have retrieved the required Vault URI from your System/Power Platform Administrator.


    Alternatively, you can perform the following steps to retrieve Vault URI:

    1. Go to https://portal.azure.com/

    2. Search for and click Key vaults.

    3. Open Key Vault Power Auto Test.

      NOTE:

      The name of the Key Vault may vary across instances or clients.

    4. Copy the Vault URI after https://.

  4. Post entering the Vault URI in the Host field, click Security.

  5. Click Edit.

  6. Select Authentication type as OAuth 2.0 and Identity Provider as Azure Active Directory.

  7. Select the Enable Service Principal support checkbox.

  8. Enter your Client ID, Client Secret, and Tenant ID.

    IMPORTANT:

    Ensure that you have retrieved the required Client ID, Client Secret, and Tenant ID from your System/Power Platform Administrator.

  9. Enter Authorization URL as https://login.microsoftonline.com

    IMPORTANT:

    For GCCH customers, Authorization URL will be https://login.microsoftonline.us

  10. Enter both Resource URL and Scope as the previously copied Vault URI and click Update connector.

    IMPORTANT:

    • At the end of the Vault URI in the Scope field enter text .default

    • For GCCH customers, Vault URI in the Resource URL field will be https://<key-vault-name>.vault.usgovcloudapi.net/

  11. Go to Test and click New connection.

  12. Select Service Principal Connection, enter Client ID, Client Secret, and Tenant,and click Create connection.

    IMPORTANT:

    Ensure that you have retrieved the required Client ID, Client Secret, and Tenant from your System/Power Platform Administrator.

Connection is created.

13. Enter a Key Vault secret-name such as AzureApplicationCredentials and click Test operation.

  1. Similarly, perform Test operation steps on all the remaining Key Vault secret-names listed below:

    • ClauseLibraryAPI

    • Docusign

    • TransformCopilotWidget

    • WageDetermination

  2. Go back to Security and scroll down to copy Redirect URL.

  3. Go back to https://portal.azure.com/

  4. Enter your Client ID in the search bar and click the related Application in search results.

  5. Go to Authentication and click Add Redirect URI on the Redirect URI configuration tab.

  6. Click Web.

  7. Enter the previously copied Redirect URL in the Redirect URI field and click Configure.
    A success message displays.

Access Product Configurations from Advanced Settings

IMPORTANT:

Alternatively, if you are unable to access Advanced Find from the navigation shown below, then perform the steps as shown in this section to go to Product Configurations using Power Apps.

  1. Click the gear icon and select Advanced settings.

  2. Click the funnel icon to access Advanced Find.

  3. Select Product Configurations and click Results.
    A list of all Product Configurations displays.

Edit Product Configurations

  1. Open Key Vault Enabled.

  2. Ensure that Value is set to true and click Save.

  3. Similarly, open Azure Application Credentials.

    IMPORTANT:

    Note that this configuration is instance-specific and must be confirmed by the client prior to set up. It must also be verified in the Azure portal prior to proceeding.

  4. Ensure that Contains Secret is set to Yes.

  5. Verify that the JSON Value field is blank and click Save.

  6. Similarly, open Clause Library API.

  7. Ensure that Contains Secret is set to Yes.

  8. Verify that the JSON Value field is blank and click Save.

  9. Similarly, open Docusign.

  10. Ensure that Contains Secret is set to Yes.

  11. Verify that the JSON Value field is blank and click Save.

  12. Similarly, open Transform Copilot Widget.

  13. Ensure that Contains Secret is set to Yes.

  14. Verify that the JSON Value field is blank and click Save.

  15. Similarly, open Wage Determination.

  16. Ensure that Contains Secret is set to Yes.

  17. Verify that the JSON Value field is blank and click Save.

Access Product Configurations from Power Apps

  1. Go to https://make.powerapps.com/

  2. Click Environment and select an Environment of your choice.

  3. Go to Tables and search for and click Product Configuration in search results.

  4. Scroll down to Product Configuration columns and data and click +more.

  5. Select the Contains Secret, JSON Value, and Value columns and click Save.
    List of all Product Configurations with selected columns and data displays. Note that you can edit data of any column directly from the table for a particular Product Configuration.

  6. Scroll down to the following Product Configurations and edit each of these for the fields/values mentioned in the Edit Product Configurations section.

    • Key Vault Enabled

    • Azure Application Credentials

    • Clause Library API

    • Docusign

    • Transform Copilot Widget

    • Wage Determination

Key Vault Configurations

IMPORTANT:

Prior to adding Secrets into your Key Vault, ensure that the Product Configurations mentioned in the previous topic are verified by TechnoMile, as these are typically both client and instance specific.

  1. Go to https://portal.azure.com/

  2. Search for and click Key vaults.

  3. Open Key Vault Power Auto Test.

    NOTE:

    Currently, Secrets are added to the Key Vault named Key Vault Power Auto Test. Note that the name of the Key Vault may vary across instances or clients. However, ensure that the Secret names are maintained exactly as listed below:

    • AzureApplicationCredentials

    • ClauseLibraryAPI

    • Docusign

    • TransformCopilotWidget

    • WageDetermination

  4. Expand Objects, click Secrets, and verify that the Secrets are present.

    IMPORTANT:

    Ensure that all the above Secrets are created and their Status is set to Enabled.

    If any of these Secrets are missing (for example, AzureApplicationCredentials), create them using the same naming convention as listed above.

  5. Open AzureApplicationCredentials.

  6. Open Current Version.

  7. Scroll down and click Show Secret Value.

  8. Paste the following syntax into the Secret value field, if this field is blank or its data is changed.

    NOTE:

    For GCCH customers, MS Token Base URL will be login.microsoftonline.us and Graph URL will be https://graph.microsoft.us

    {
    "Azure_TenantId":"********************",
    "Azure_ClientSecret":"*********************",
    "Azure_ClientId":"****************************",
    "MS_TokenBaseURL":"login.microsoftonline.com",
    "Graph_URL":"https://graph.microsoft.com"
    }

  9. Open ClauseLibraryAPI.

  10. Open Current Version.

  11. Scroll down and click Show Secret Value.

  12. Paste the following syntax into the Secret value field, if this field is blank or its data is changed.

    { "username": "********",
    "password": "*********",
    "base_url": "*******",
    "token_url": "/oauth/token",
    "clause_type_url": "/clauselib/v1/clauses" }

  13. Open Docusign.

  14. Open Current Version.

  15. Scroll down and click Show Secret Value.

  16. Paste the following syntax into the Secret value field, if this field is blank or its data is changed.

    { "BaseURL": "*******",
    UserID":"***********",
    "AccountId":"***********",
    "IntegrationKey":"***********",
    "Audience":"***********",
    "PrivateKey":"-----BEGIN RSA PRIVATE KEY-----
    "MIIEpAIBAAKCAQEAuAHNvTb9s0g4HkejH+CSCSYgDTjplnBngWFFxXIVNeGGfix9
    ReP6PPjTgWQWy9doZgUYneNDBZTxvWSLbvDRW0QKlXN3hmDM6/sG3Z84e9CNkqef
    +Uo1x+ndDf/gEtQlajCtk1rYOidDQSZeY5iqhzdbX7yNYob9rvGI3+H2xLpVT6gO
    CHJX37nUbASKPLEj2VCbsGvEUW+y3DS1hparqyBUQ+BfAbXNajGmBfC9gQI0/Csn
    BOwGTAs5F4Cd0rVmC4JvHUt+qpCJmq0kJ9q2Ew3yh8BCpsPlHjbgvM58vROA5KuT
    /jS+J29xes7LpG1z3XMYBeXzoTqKIeGS1GATBwIDAQABAoIBAAU1q90JEwrB5zDY
    R2KOKaRPq4WkUFy9hvivR9nsvnP9lCC7YrqZV0rloptduZWA3khRKZ7CwfGFA4kg
    sR/teofyd7g+gipQUEz4GPwqV1+OCowV6d4Vf0tPMD6GuZHe5sZIZYmv/0I6PVm5
    W9/HAUD9zLz7qicZelI7LWxlSebM8VwWaISFI6u9TaAwQyjSFwnJX4BXqZDDyO1x
    HJkCmNZNLSTnTWnWwB5n8D6xu6wEwK5NyyvwYJ4f/G0Ov0hjIxXgpnIuc5SUGkvJ
    A+g3K1o+ulrZBoRYWcYODL3CfhLOlvSaBdk/nLdy/F1bjT1xuZNW0HpRq8KMIAvw
    0MFi+p0CgYEA9tm7uO/WRu8HaJ/EJXb+EiMdbaguIUaHHEwIwXOSssauoY7HGMVn
    0YKDbqa2j7P1saukfZ5w7MAvMFAegWMuSThAQCkk8+InelLMO7yRAzki8WItBxk2
    kD9g5uY0z4Ec3fGdGfLMmWvm+dqU407bCxhoD7b0D9RQKIF/GPw/IVUCgYEAvtPG
    CB6omE3ClPuFZhJOcNuZ/tE85Akitxemq7Fx9DcneosYQ803tT5iuhQbSuCmmI3J
    lGWlcr4QzNNc0kJasMtK9/8iF0ygrZ1gOduDtHMe3eKtU8jCOdd6maG56lAVkvza
    89VCe6Tg3JI75QYJv7/0FgSPO0+oAXQdq/fCkusCgYEAqNVS57JiRDHIR26+oUE5
    lP4fapjUtD2gu2Hluypo842gcy9MTUz3LPyvGEc+JhtXuCVFZAWyBruLiufBdY14
    YuvuRfPeKlBL4AYxWconBKVXmPElCu3bu90dUc+x3xrXu5U9djnyZhy+5bTykGWm
    u3f99IGVfB4ilRG89EHSi+ECgYAM8JdRHaMZEMzNBXE6RquDA6Eholaar/Pmrnfi
    1JmBkevfZ2cx0cyhQaW4MHzZSvqBBbxRj8L0UOcavIpix5UWv/JJdsd9BPkwTKel
    xLjdl6DUMvbF46sn+PCbUlglB2EvIm5GcoOblsaYrmHZWdt3YTDP/WcpAnHGB3Wr
    n5VWGQKBgQCL4Ts5g4f3Hx9FOT8cqFWIFJVKbIOJEwpUXLDWqCj/oVyq0kZKABv4
    zafARRppcq1Q1YGsaN1lE/0427n7PPp0Ijk26x3TU2VmRSjHXiVMreuVO9yrjMqg
    eutHUJq/JKdF1JxYzdp0rfLULjU70XYT3sB2N+ICN9WHA7nwOvHkyw==
    -----END RSA PRIVATE KEY-----"} 

  17. Open TransformCopilotWidget.

  18. Open Current Version.

  19. Scroll down and click Show Secret Value.

  20. Paste the following syntax into the Secret value field, if this field is blank or its data is changed.

    { "BaseURL": "*******",
    "Api_ClientId": "********",
    "Api_ClientSecret": "********",
    "Widget_InstanceName": "*******",
    "Widget_ClientId": "********",
    "Widget_ClientEmail": "**********************",
    "Widget_ClientSecret": "***************",
    "Widget_TokenUrl": "/o/oauth2/token",
    "Register_Token": "/o/provisioning/register-token",
    "widget_Url": "/web/guest/mediator?widget=true&consumer=ms&timestamp=","MS_TokenBaseURL": "login.microsoftonline.com" }

  21. Open WageDetermination.

  22. Open Current Version.

  23. Scroll down and click Show Secret Value.

  24. Paste the following syntax into the Secret value field, if this field is blank or its data is changed.

    { "client_id": "***************",
    "client_secret": "*********",
    "baseUrl": "***************",
    "searchUrl": "/wdol/v1/search",
    "tokenUrl": "/oauth2/token",
    "stateUrl": "/census/us/states",
    "countyUrl": "/counties" }