The AI summarization feature allows you to generate an automatic summary of a work order using AI. This helps you quickly review the most important information about the work order in one place without manually reviewing work order details across multiple pages and sections.
The summary is generated using selected work order information such as assets, date and time, description, asset criticalities, scheduled jobs, faults, failed checklist lines, forecasted and consumed expenses, hours, and items, and related work orders.
This feature uses an Azure OpenAI Service configured by your organization. That's because Microsoft restrictions prevent the use of out-of-the-box Copilot or other AI services in this scenario.
The summarization process runs asynchronously. This means the system processes the work order details in the background and the screen does not freeze while the summary is generated.
Before you can use AI summarization, ensure the following are completed:
- An Azure OpenAI Service is created in Microsoft Azure. To set up Azure OpenAI Service, view the section under Common setups > Azure OpenAI Service Setup.
- A model deployment is configured in the Azure OpenAI Service.
- The endpoint URL and API key are available.
- The AI summarization feature is enabled in Feature management (read the section Enable the AI Summarization Feature).
- Go to System administration > Workspaces > Feature management.
- On the Feature management page, from the list of features, locate Dynaway - Copilot summarization.
- Select the feature, and select Enable now (see screenshot 01).
- After the feature is enabled, the system makes the required setup and buttons available in asset management.
01: 'Feature management' page with the option to enable 'Dynaway - Copilot summarization'.
Before you can generate AI summaries, you must configure the OpenAI integration parameters.
- Go to Asset management > Setup > Asset management parameters.
- From the left panel, go to the Dynaway AI tab, and on the Set up Dynaway AI screen, go to the Open AI integration FastTab.
- Enter the Azure OpenAI configuration details such as:
- API key
- Endpoint URL
- Deployment name
- Save the configuration.
- On successful setup, the system can connect to the Azure OpenAI Service to generate AI summaries.
01: The 'Asset management parameters' page.
To generate the AI summary:
- Go to Asset management > Work orders > All work orders or Active work orders.
- On the All work orders or Active work orders page, from the list of work orders, open the work order for which you want to generate an AI summary.
- Select Generate Copilot Summary (see screenshot 01).
- The system sends the work order details to the configured Azure OpenAI Service and generates a summary. The summarization process runs asynchronously, so you can continue working in other areas of the system while the summary is generated.
- The summary is generated (see screenshot 02) based on the following work order information:
- Assets
- Date and time
- Description
- Assets' criticalities
- Scheduled jobs
- Faults
- Failed checklist lines
- Forecasted and consumed expenses, hours, and items
- Related work orders
01: 'Work order details' page with the option to generate a Copilot summary for the work order.
02: 'Work order details' page with the generated Copilot summary for the work order.
AI Troubleshoot helps you generate AI-powered troubleshooting guidance directly within corrective work orders. Instead of manually searching through asset documents, you can retrieve relevant insights based on the asset and job context. The generated guidance is displayed in the AI document insights field on the work order maintenance job notes.
The insights are generated using asset-related documents such as PDF, DOCX, DOC, and TXT files attached to asset documents. The system retrieves relevant content from indexed documents and generates context-specific troubleshooting guidance.
Note:
- This feature works only for corrective work orders.
- Insight generation runs asynchronously and requires a page refresh.
- This applies only to newly created asset document records. Existing records and attachments are not processed.
- AI-generated insights may incur cost.
- Azure services must be fully configured and active.
- At least one note field (such as Description, Employee, or Internal note) must contain content for processing to proceed.
Before using AI Troubleshoot, ensure that:
- Azure services are configured and accessible. For details see the section below on Azure Resource Setup.
- The AI Troubleshoot feature is enabled in Feature management. For details see the section below on F&O Setups > Enable the AI Troubleshoot Feature.
- The work order is of type Corrective.
- Asset documents are available with supported file types.
AI Troubleshoot is built on a Retrieval-Augmented Generation (RAG) pipeline using Microsoft Azure services. The solution combines storage, search, and AI generation to deliver contextual troubleshooting guidance based on asset-related documents.
Components
- Azure Blob Storage: Stores uploaded asset documents.
- Azure AI Search: Indexes and retrieves document content using semantic search.
- Azure OpenAI: Generates troubleshooting guidance from retrieved content.
- Azure Function: Acts as a bridge between document storage and the search index by automatically processing, chunking, and indexing documents when they are uploaded.
AI Troubleshoot Processing Flow
AI Troubleshoot processes documents and generates insights in two phases:
Phase 1: Document Upload and Indexing
When a supported document is attached to an asset document record:
- The document is uploaded to Azure Blob Storage using a structured naming convention:
{DocuRefRecId}-{RefRecId}-{CompanyId}.{extension}
- A blob upload event triggers an Azure Function.
- The Azure Function:
- Splits the document into smaller chunks.
- Generates embeddings for each chunk.
- Pushes the indexed content directly into Azure AI Search.
- Calls the Azure AI Search indexer API to ensure the index is up to date.
- The search index stores each chunk with key fields such as:
- content
- chunk_id
- docuref_rec_id
- A log entry is created in D365 under type UploadToAzureFileStorage.
Phase 2: Insight Generation
When insights are requested (manually or via lifecycle state transition):
- The system collects relevant asset document records by matching the work order jobs asset attributes, including:
- asset type
- model
- manufacturer
- job category
- job type
- job variant
- job trade
- A semantic search query is sent to Azure AI Search, filtered by matching
docuref_rec_id values. The query returns the most relevant content chunks (top results based on relevance).
- The retrieved content chunks are assembled into a structured context block and sent, along with the work order job notes, to Azure OpenAI.
- The AI model generates a structured JSON response:
{ "Text": "..." }
- The extracted text is stored in the AI document insights field on the work order maintenance job notes.
- A log entry is created under type GetDocumentInsights.
We have a set of predefined Bicep templates and setup files that help create the required Azure resources for AI Troubleshoot.
Azure Prerequisites & Permissions
Ensure the following prerequisites are met before configuring Azure resources:
- Required permissions
- You have the Contributor role on the Azure resource group (required to create resources).
- You have the User Access Administrator role (required to manage RBAC assignments used in the Bicep templates, such as Key Vault and Storage).
- Alternatively, you can use the Owner role on the subscription or resource group, which includes both permissions.
- Required access
- Azure OpenAI is available in your subscription (this service is not enabled by default for all subscriptions).
- Required tools (for script-based deployment)
- Azure CLI is installed.
- Bicep is installed and available in your Azure CLI.
Required Azure Resources
The solution requires the following Azure resources:
- Azure OpenAI resource with a deployed model (for example,
GPT-4). To set up Azure OpenAI Service, view the section under Common setups > Azure OpenAI Service Setup.
- Azure Storage account with a container (for example,
asset-documents).
- Azure AI Search service.
- Azure Function App for ingestion.
- Azure Key Vault (optional, for secure storage of secrets).
Azure CLI and Bicep Setup
- Open CMD or Bash in the location where the deployment files are available (see screenshot 01). Ensure that the deployment files (Bicep template, parameter files, and function package) are present in the working directory.
- Check Azure CLI:
az --version
If not installed, install Azure CLI from: https://learn.microsoft.com/en-us/cli/azure/install-azure-cli
- Check Bicep:
az bicep version
Install or update if required:
az bicep install
az bicep upgrade
Deployment Using Azure CLI and Bicep
- Login to Azure.
az login
This opens a browser and lets you sign in to your Azure account.
- Select your subscription.
az account set --subscription "<subscription>"
Choose the Azure subscription where you want to create the resources.
- Create a resource group.
az group create --name <resource-group> --location <location>
This creates a resource group to hold all Azure resources.
- Deploy resources using Bicep.
az deployment group create \
--name <deployment-name> \
--resource-group <resource-group> \
--template-file main.bicep \
--parameters @parameters.json
Ensure that the Bicep file and the selected parameter file are present in the current working directory.
Function Deployment
- After deploying the Azure infrastructure, deploy the ingestion function to the Azure Function App:
az functionapp deployment source config-zip \
--resource-group <resource-group> \
--name <function-app-name> \
--src <zip-file>
- Replace the following values:
<resource-group>: Name of the resource group created during deployment
<function-app-name>: Name of the deployed Azure Function App
<zip-file>: Path to the function deployment package (for example, DynAAMIngestionFunction.zip)
Environment Configuration Comparison
| Setting |
Dev |
UAT |
Prod |
| Storage Redundancy |
Standard_LRS (local) |
Standard_ZRS (zone) |
Standard_GZRS (geo-zone) |
| Function App Plan |
Y1 - Consumption (pay per execution) |
EP1 - Elastic Premium (always warm) |
EP2 - Elastic Premium (higher capacity) |
| AI Search SKU |
Free |
Basic |
Standard |
| AI Search Replicas |
1 |
1 |
2 (high availability) |
| Embedding TPM Capacity |
150K tokens/min |
150K tokens/min |
150K tokens/min |
| Log Retention |
30 days |
60 days |
90 days |
| Key Vault Soft Delete |
7 days |
30 days |
90 days |
| Storage Network Access |
Allow (open) |
Allow (open) |
Deny (Azure services only) |
| OpenAI Public Access |
Enabled |
Enabled |
Disabled (private) |
| AI Search Public Access |
Enabled |
Enabled |
Disabled (private) |
| Resource Group |
rg-dynaam-troubleshoot-dev |
rg-dynaam-troubleshoot-uat |
rg-dynaam-troubleshoot-prod |
| Default Location |
eastus |
eastus |
westeurope |
| Estimated Monthly Cost |
Low (~$5–15) |
Medium (~$80–120) |
Higher (~$250–400) |
Post-Deployment Validation
After completing the deployment, verify that the Azure services are working correctly (see screenshots 02 and 03) by performing the following:
- Open the deployed Azure Function App and navigate to the function logs to monitor activity (see screenshot 04 and 05).
- Verify that the ingestion function (for example,
DynAssetDocumentsBlobTrigger) is available.
- In the Azure Storage account, open the container
asset-documents and upload a supported file (PDF, DOCX, DOC, TXT) (see screenshot 06).
- Verify that the system processes the document successfully (see screenshot 07):
- The Azure Function is triggered.
- Logs appear in the Function App.
- The document is processed and indexed in Azure AI Search.
- Confirm the expected behavior (see screenshot 08):
- The AI Search index (for example,
troubleshoot-index) is automatically created during the first document upload if it does not already exist.
- Document processing and indexing may take a short time depending on file size.
- Ensure that the required configuration details are captured for use in Asset management parameters:
- Storage connection string
- Container name
- AI Search endpoint
- AI Search API key
Note:
- Azure Key Vault secrets may not be visible unless appropriate permissions are assigned (for example, Key Vault Administrator role).
01: Folder containing Bicep template, parameter files, and function deployment package.
02: Azure resource group showing all deployed AI Troubleshoot resources.
03: Azure Function App showing deployed ingestion function.
04: Function logs view before processing.
05: Storage container (asset-documents) before upload.
06: Storage container after uploading test file.
07: Function logs showing document processing and indexing.
08: Azure AI Search index created with processed documents.
Enable the AI Troubleshoot Feature
- Go to System administration > Workspaces > Feature management.
- On the Feature management page, locate Dynaway - AI Troubleshoot in the list of features.
- Select the feature, and select Enable now (see screenshot 01).
- After the feature is enabled, the system makes the required setup and buttons available in asset management.
Configure Asset Management Parameters
- Go to Asset management > Setup > Asset management parameters.
- On the Asset management parameters page, from the left menu, select Dynaway AI.
- Enter the values using the details from your Azure setup:
- In the Open AI integration tab, enter:
- API key
- Endpoint URL
- Deployment name
- In the AI troubleshoot tab, enter:
- Blob Storage connection string
- Container name
- AI Search API key
- AI Search endpoint
- Index name
- Click Test connection to validate all services (see screenshot 02).
Upload Asset Documents
- Go to Asset management > Setup > Asset documents (see screenshot 03).
- Create a new record and attach a supported file (PDF, DOCX, DOC, TXT) (see screenshot 04). Note that only documents attached after enabling the feature are processed.
- When a document is attached:
- It is uploaded to Blob Storage.
- The Azure Function processes and indexes it.
- The document becomes available for AI search.
- Logs are captured for the processing activity.
- After the documents are uploaded and indexed, you can retrieve insights from work orders using either the lifecycle auto-trigger or the Get AI document insights option.
Configure Lifecycle Auto-Trigger (Optional)
- Go to Asset management > Setup > Work orders > Lifecycle states.
- Open a lifecycle state and enable AI document insights.
- When a corrective work order transitions to this state, insights are generated automatically for all work order maintenance jobs asynchronously. This auto-trigger applies only to corrective work orders (where Cost type = Corrective).
01: 'Feature management' page with the option to enable 'Dynaway - AI Troubleshoot'.
02: Asset management parameters with 'Open AI Integration' and 'AI Troubleshoot' configurations.
03: Asset documents list showing created record.
04: Attachment added to asset document record.
To generate AI-powered troubleshooting guidance:
- Go to Asset management > Work orders > All work orders and open a corrective work order.
- Navigate to Work order maintenance jobs, select one or more jobs, and click Get AI document insights (see screenshot 01).
- The system retrieves relevant asset documents based on asset and job attributes and uses them to generate guidance. This option is available only for corrective work orders when AI Troubleshoot is enabled.
- In the confirmation dialog, click Yes to proceed. Note that the request is processed asynchronously in the background and may incur cost.
- Refresh the page to view the generated guidance in the AI document insights field (see screenshot 02). The field is read-only and displays AI-generated troubleshooting content.
- The generated insights may include:
- Step-by-step troubleshooting guidance.
- Context-based recommendations.
- References to relevant documents.
- If no relevant documentation is found, a message is displayed.
01: Work order maintenance job screen showing the 'Get AI document insights' option.
02: 'AI document insights' showing generated troubleshooting guidance.
View Logs
To view the AI troubleshooting logs:
- Go to Asset management > Inquiries > AI Troubleshoot > AI Troubleshoot logs (see screenshot 01).
- On this page you can view:
- Document upload activity.
- Insight generation activity.
- Errors and failures.
Cleanup Logs
To clear the AI troubleshooting logs:
- Go to Asset management > Periodic > AI Troubleshoot > AI Troubleshoot logs cleanup (see screenshot 02).
- Set the Lookback days (default: 35 days).
- Run or schedule the cleanup job.
01: AI troubleshoot logs showing upload and insight generation activity.
02: AI troubleshoot logs cleanup configuration.
- Missing Configuration Error
- Symptom: Error message - "Missing setup for AI troubleshoot connector in Asset management parameters" when clicking Get AI document insights.
- Cause: One or more required configuration fields are empty.
- Resolution:
- Verify all fields are populated in Asset management parameters:
- Open AI Integration tab: Endpoint URL, Deployment name, API key.
- AI Troubleshoot tab: AI Search endpoint, Index name, AI Search API key, Blob Storage connection string, Container name.
- Connectivity Failures
- Symptom: Test connectivity shows
Failed for one or more services.
-
| |
|
|
| OpenAI Endpoint |
Endpoint URL missing trailing /, incorrect API key |
Verify URL format and API key; confirm Azure OpenAI resource is accessible from D365 environment |
| Azure AI Search |
Incorrect endpoint, API key, or index name |
Verify all values; confirm the index exists and the key has query permissions |
| Azure Container |
Incorrect connection string or container name |
Verify connection string and confirm the container exists in the storage account |
- No Documents Found
- Symptom: AI document insights field shows a message indicating no relevant documentation was found.
- Possible causes:
- No Asset documents records match the asset's type, model, manufacturer, or job attributes.
- Documents exist but have no attachments, or attachments are in unsupported formats.
- Documents were uploaded to blob storage, but the Azure Function has not yet completed indexing.
- AI Response Is Empty or Malformed
- Symptom: The AI document insights field is empty or contains unexpected content after processing.
- Possible causes:
- The Azure OpenAI model could not parse the context or return a valid JSON response.
- The async operation failed silently - in this case, check Troubleshoot Help Logs for error entries.
- The deployment name does not match an active deployment in Azure OpenAI.
- Processing Does Not Complete
- Symptom: After clicking Get AI document insights and confirming, the insights field remains empty even after refreshing.
- Possible causes:
- The async operation failed silently - in this case, check AI Troubleshoot logs for error entries.
- Network connectivity issues between D365 and Azure services.
- The work order maintenance job note has no content in Description, Employee, or Internal note fields (at least one must have content for processing to proceed).
AI Troubleshoot and AI Summary require an Azure OpenAI Service with a deployed model to generate insights.
Note:
- The naming conventions, pricing, and navigation paths in Microsoft Azure OpenAI / Microsoft Foundry may change over time. The information provided here is intended to give an approximate understanding of the setup, cost, and how to obtain the required endpoint details.
- It is recommended that you verify the latest configuration steps, pricing, and service details in Azure OpenAI Service before proceeding
Prerequisites
- Azure subscription required
- Region must support OpenAI models
- Access approval may be required (depending on tenant)
Setting up OpenAI Service
To set up the OpenAI Service:
- In the Azure portal, search for Microsoft Foundry or Azure OpenAI (see screenshot 01). Ensure the selected region supports Azure OpenAI.
- Choose between Azure OpenAI Service and Microsoft Foundry.
- You can set up either Azure OpenAI Service or Microsoft Foundry:
- Azure OpenAI:
Provides access to OpenAI models such as GPT-4, GPT-3, Codex, and DALL-E with Azure security and compliance.
- Microsoft Foundry:
Extends Azure OpenAI by supporting multiple model providers (for example, Cohere, Mistral, Llama, AI21) under a unified endpoint and credentials. It also enables switching between models without changing code.
- For this setup, Microsoft Foundry is recommended as it supports broader AI capabilities within a single service.
- Open the Azure OpenAI / Microsoft Foundry resource.
- To do this, navigate to Microsoft Foundry > Foundry > Azure OpenAI.
- Select your resource (for example, DynOpenAI-FO) (see screenshot 02).
- Open the Microsoft Foundry portal.
- From the resource overview page, click Go to Foundry portal (see screenshot 03).
- Get endpoint and API key.
- In the Microsoft Foundry portal, go to Overview > Endpoints and keys.
- Copy the following values (see screenshot 04):
- API key
- Endpoint URL
- These values are required in Asset management parameters.
- Deploy a model.
- Navigate to Models + endpoints > Model deployments.
- Click Deploy model and create a deployment (see screenshot 05).
- For this scenario, a model such as gpt-35-turbo can be used. You may also choose other models depending on your requirements.
- Note that the deployment name must match the value entered in Asset management parameters.
- Use the connection details
- Once setup is complete, use the following values in Asset management parameters:
- Endpoint URL
- API key
- Deployment name
Cost considerations
- Azure OpenAI usage is billed based on tokens:
- A token is approximately ¾ of a word or ~4 characters
- Costs include both:
- Input tokens (request)
- Output tokens (response)
- Different models have different pricing:
- Smaller models: lower cost
- Larger models: higher cost
- Example:
- Input: 4.62K tokens
- Output: 0.56K tokens
- Estimated cost (gpt-35-turbo example):
- Input cost: 4.62 × $0.50 = $2.31
- Output cost: 0.56 × $1.50 = $0.84
- Total: ~$3.15
- Actual cost may vary depending on usage and model efficiency.
01: Searching for Microsoft Foundry or Azure OpenAI in Azure portal.
02: Azure OpenAI resource selection in Microsoft Foundry.
03: Resource overview with 'Go to Foundry portal' option.
04: Endpoints and keys showing API key and endpoint URL.
05: Model deployments showing deployed model.