# microsoft/dynamics365-apps-samples architecture

> Architecture diagram of the GitHub repository microsoft/dynamics365-apps-samples, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/microsoft/dynamics365-apps-samples
- Repository: https://github.com/microsoft/dynamics365-apps-samples

## Overview

This repository is a collection of Dynamics 365 application, solution, and service samples rather than one integrated runtime. Its recurring workflow is an engineer or operator selecting a sample, configuring access to Dynamics 365, and exercising a specific capability against that service. The tree documents separate customer-service, sales, marketing, and field-service examples, alongside SDK demonstrations. These are presented as independent branches; the excerpts do not establish shared orchestration or wiring between them.

Main entry points: [`customer-service/CloseIncident/CloseIncident/SampleMethod.cs`](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/CloseIncident/CloseIncident/SampleMethod.cs) (Incident actions), [`customer-service/ScheduleResource/ScheduleResource/SampleMethod.cs`](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/ScheduleResource/ScheduleResource/SampleMethod.cs) (Resource scheduling), [`customer-service/omnichannel/bring-your-own-channel/Microsoft.OmniChannel.MessageRelayProcessor/RelayProcessor.cs`](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/omnichannel/bring-your-own-channel/Microsoft.OmniChannel.MessageRelayProcessor/RelayProcessor.cs) (Message relay), [`sales/ForecastingAPI/ForecastPublicApiUsageDemo/Program.cs`](https://github.com/microsoft/dynamics365-apps-samples/blob/master/sales/ForecastingAPI/ForecastPublicApiUsageDemo/Program.cs) (Forecast API demo)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_customer["Customer Service"]
  node_incident["Incident actions<br/>[SampleMethod.cs]"]
  node_resource["Resource scheduling<br/>[SampleMethod.cs]"]
  node_recordcreation["Automatic record creation"]
  node_twilio["Twilio integration<br/>[Startup.cs]"]
  node_intent["Intent routing<br/>[intentLib.js]"]
  node_channel["Custom channel adapters"]
  node_relay["Message relay<br/>[RelayProcessor.cs]"]
  node_smartassist["Smart assist bot<br/>[SmartAssistBot.cs]"]
  node_chatapp["Embedded chat app"]
  node_translation["Real-time translation<br/>[webResourceV2.js]"]
end

subgraph group_sales["Sales"]
  node_forecast["Forecast API demo<br/>[Program.cs]"]
  node_catalog["Product catalog samples<br/>[SampleMethod.cs]"]
end

subgraph group_marketing["Marketing"]
  node_campaignlists["Campaign distribution<br/>[SampleMethods.cs]"]
  node_quickcampaign["Quick campaigns<br/>[SampleMethods.cs]"]
end

subgraph group_field["Field Service"]
  node_geospatial["Geospatial operations"]
end

subgraph group_sdk["SDK Samples"]
  node_articles["Knowledge article search"]
  node_metadata["Metadata queries"]
  node_auditing["Audit history<br/>[Program.cs]"]
  node_linq["LINQ queries<br/>[UseLinqQuery.cs]"]
  node_connections["Connection roles"]
end

node_engineer(("Sample user"))
node_d365[("Dynamics 365")]

node_engineer -->|"runs sample"| node_incident
node_engineer -->|"runs sample"| node_resource
node_engineer -->|"runs sample"| node_forecast
node_engineer -->|"runs sample"| node_articles
node_incident -->|"executes actions"| node_d365
node_resource -->|"schedules resource"| node_d365
node_recordcreation -->|"manages queues"| node_d365
node_twilio -.->|"integrates channel"| node_d365
node_channel -->|"dispatches activities"| node_relay
node_relay -->|"relays messages"| node_d365
node_smartassist -->|"accesses Dynamics data"| node_d365
node_chatapp -.->|"hosts chat experience"| node_d365
node_translation -.->|"supports translation"| node_d365
node_forecast -->|"uses forecast services"| node_d365
node_catalog -->|"manages products"| node_d365
node_campaignlists -->|"distributes activities"| node_d365
node_quickcampaign -->|"creates campaigns"| node_d365
node_geospatial -->|"provides geospatial operations"| node_d365
node_articles -->|"searches articles"| node_d365
node_metadata -->|"queries metadata"| node_d365
node_auditing -->|"retrieves audit history"| node_d365
node_linq -->|"queries records"| node_d365
node_connections -->|"queries connection roles"| node_d365

click node_incident "https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/CloseIncident/CloseIncident/SampleMethod.cs"
click node_resource "https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/ScheduleResource/ScheduleResource/SampleMethod.cs"
click node_recordcreation "https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/automatic-record-creation/RemoveUnreferencedQueues/RemoveUnreferencedQueues/RemoveUnreferencedQueues.cs"
click node_twilio "https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/channel-integration-framework/TwilioSampleInteg_version1/Startup.cs"
click node_intent "https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/intent-based-routing/intentLib.js"
click node_channel "https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/omnichannel/bring-your-own-channel/Microsoft.OmniChannel.Adaptors.Service/Controllers/LineAdapterController.cs"
click node_relay "https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/omnichannel/bring-your-own-channel/Microsoft.OmniChannel.MessageRelayProcessor/RelayProcessor.cs"
click node_smartassist "https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/omnichannel/smart-assist-bot/SmartAssistBot/SmartAssist/SmartAssistBot.cs"
click node_chatapp "https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/omnichannel/sample-chat-app-using-lcw/app/src/main/java/com/poc/SampleChatAppUsingLCW/AppNavigationActivity.kt"
click node_translation "https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/omnichannel/real-time-translation/webResourceV2.js"
click node_forecast "https://github.com/microsoft/dynamics365-apps-samples/blob/master/sales/ForecastingAPI/ForecastPublicApiUsageDemo/Program.cs"
click node_catalog "https://github.com/microsoft/dynamics365-apps-samples/blob/master/sales/AddProductsBundle/AddProductsBundle/SampleMethod.cs"
click node_campaignlists "https://github.com/microsoft/dynamics365-apps-samples/blob/master/marketing/DistributeCampaignActivitiesToLists/DistributeCampaignActivitiesToLists/SampleMethods.cs"
click node_quickcampaign "https://github.com/microsoft/dynamics365-apps-samples/blob/master/marketing/DistributeQuickCampaign/DistributeQuickCampaign/SampleMethods.cs"
click node_geospatial "https://github.com/microsoft/dynamics365-apps-samples/blob/master/field-service/CustomPlugin-FS-Geospatial/msdyn_GeocodeAddress.cs"
click node_articles "https://github.com/microsoft/dynamics365-apps-samples/blob/master/samples-from-msdn/Service/SearchAndRetrieveArticles.cs"
click node_metadata "https://github.com/microsoft/dynamics365-apps-samples/blob/master/samples-from-msdn/MetadataQuery/MetadataQuerySample.cs"
click node_auditing "https://github.com/microsoft/dynamics365-apps-samples/blob/master/samples-from-msdn/Auditing/Program.cs"
click node_linq "https://github.com/microsoft/dynamics365-apps-samples/blob/master/samples-from-msdn/Queries/UseLinqQuery.cs"
click node_connections "https://github.com/microsoft/dynamics365-apps-samples/blob/master/samples-from-msdn/BusinessManagement/QueryConnectionRolesByEntityTypeCode.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_incident,node_resource,node_recordcreation,node_twilio,node_intent,node_channel,node_relay,node_smartassist,node_chatapp,node_translation,node_engineer toneBlue
class node_forecast,node_catalog,node_d365 toneAmber
class node_campaignlists,node_quickcampaign toneMint
class node_geospatial toneRose
class node_articles,node_metadata,node_auditing,node_linq,node_connections toneIndigo
```

## Components

### Customer Service

- [Incident actions](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/CloseIncident/CloseIncident/SampleMethod.cs): `customer-service/CloseIncident/CloseIncident/SampleMethod.cs`
- [Resource scheduling](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/ScheduleResource/ScheduleResource/SampleMethod.cs): `customer-service/ScheduleResource/ScheduleResource/SampleMethod.cs`
- [Automatic record creation](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/automatic-record-creation/RemoveUnreferencedQueues/RemoveUnreferencedQueues/RemoveUnreferencedQueues.cs): `customer-service/automatic-record-creation/RemoveUnreferencedQueues/RemoveUnreferencedQueues/RemoveUnreferencedQueues.cs`
- [Twilio integration](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/channel-integration-framework/TwilioSampleInteg_version1/Startup.cs): `customer-service/channel-integration-framework/TwilioSampleInteg_version1/Startup.cs`
- [Intent routing](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/intent-based-routing/intentLib.js): `customer-service/intent-based-routing/intentLib.js`
- [Custom channel adapters](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/omnichannel/bring-your-own-channel/Microsoft.OmniChannel.Adaptors.Service/Controllers/LineAdapterController.cs): `customer-service/omnichannel/bring-your-own-channel/Microsoft.OmniChannel.Adaptors.Service/Controllers/LineAdapterController.cs`
- [Message relay](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/omnichannel/bring-your-own-channel/Microsoft.OmniChannel.MessageRelayProcessor/RelayProcessor.cs): `customer-service/omnichannel/bring-your-own-channel/Microsoft.OmniChannel.MessageRelayProcessor/RelayProcessor.cs`
- [Smart assist bot](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/omnichannel/smart-assist-bot/SmartAssistBot/SmartAssist/SmartAssistBot.cs): `customer-service/omnichannel/smart-assist-bot/SmartAssistBot/SmartAssist/SmartAssistBot.cs`
- [Embedded chat app](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/omnichannel/sample-chat-app-using-lcw/app/src/main/java/com/poc/SampleChatAppUsingLCW/AppNavigationActivity.kt): `customer-service/omnichannel/sample-chat-app-using-lcw/app/src/main/java/com/poc/SampleChatAppUsingLCW/AppNavigationActivity.kt`
- [Real-time translation](https://github.com/microsoft/dynamics365-apps-samples/blob/master/customer-service/omnichannel/real-time-translation/webResourceV2.js): `customer-service/omnichannel/real-time-translation/webResourceV2.js`

### Sales

- [Forecast API demo](https://github.com/microsoft/dynamics365-apps-samples/blob/master/sales/ForecastingAPI/ForecastPublicApiUsageDemo/Program.cs): `sales/ForecastingAPI/ForecastPublicApiUsageDemo/Program.cs`
- [Product catalog samples](https://github.com/microsoft/dynamics365-apps-samples/blob/master/sales/AddProductsBundle/AddProductsBundle/SampleMethod.cs): `sales/AddProductsBundle/AddProductsBundle/SampleMethod.cs`

### Marketing

- [Campaign distribution](https://github.com/microsoft/dynamics365-apps-samples/blob/master/marketing/DistributeCampaignActivitiesToLists/DistributeCampaignActivitiesToLists/SampleMethods.cs): `marketing/DistributeCampaignActivitiesToLists/DistributeCampaignActivitiesToLists/SampleMethods.cs`
- [Quick campaigns](https://github.com/microsoft/dynamics365-apps-samples/blob/master/marketing/DistributeQuickCampaign/DistributeQuickCampaign/SampleMethods.cs): `marketing/DistributeQuickCampaign/DistributeQuickCampaign/SampleMethods.cs`

### Field Service

- [Geospatial operations](https://github.com/microsoft/dynamics365-apps-samples/blob/master/field-service/CustomPlugin-FS-Geospatial/msdyn_GeocodeAddress.cs): `field-service/CustomPlugin-FS-Geospatial/msdyn_GeocodeAddress.cs`

### SDK Samples

- [Knowledge article search](https://github.com/microsoft/dynamics365-apps-samples/blob/master/samples-from-msdn/Service/SearchAndRetrieveArticles.cs): `samples-from-msdn/Service/SearchAndRetrieveArticles.cs`
- [Metadata queries](https://github.com/microsoft/dynamics365-apps-samples/blob/master/samples-from-msdn/MetadataQuery/MetadataQuerySample.cs): `samples-from-msdn/MetadataQuery/MetadataQuerySample.cs`
- [Audit history](https://github.com/microsoft/dynamics365-apps-samples/blob/master/samples-from-msdn/Auditing/Program.cs): `samples-from-msdn/Auditing/Program.cs`
- [LINQ queries](https://github.com/microsoft/dynamics365-apps-samples/blob/master/samples-from-msdn/Queries/UseLinqQuery.cs): `samples-from-msdn/Queries/UseLinqQuery.cs`
- [Connection roles](https://github.com/microsoft/dynamics365-apps-samples/blob/master/samples-from-msdn/BusinessManagement/QueryConnectionRolesByEntityTypeCode.cs): `samples-from-msdn/BusinessManagement/QueryConnectionRolesByEntityTypeCode.cs`

### Other components

- **Sample user**
- **Dynamics 365**

## Connections

- Sample user → Incident actions: runs sample
- Sample user → Resource scheduling: runs sample
- Sample user → Forecast API demo: runs sample
- Sample user → Knowledge article search: runs sample
- Incident actions → Dynamics 365: executes actions
- Resource scheduling → Dynamics 365: schedules resource
- Automatic record creation → Dynamics 365: manages queues
- Twilio integration → Dynamics 365: integrates channel
- Custom channel adapters → Message relay: dispatches activities
- Message relay → Dynamics 365: relays messages
- Smart assist bot → Dynamics 365: accesses Dynamics data
- Embedded chat app → Dynamics 365: hosts chat experience
- Real-time translation → Dynamics 365: supports translation
- Forecast API demo → Dynamics 365: uses forecast services
- Product catalog samples → Dynamics 365: manages products
- Campaign distribution → Dynamics 365: distributes activities
- Quick campaigns → Dynamics 365: creates campaigns
- Geospatial operations → Dynamics 365: provides geospatial operations
- Knowledge article search → Dynamics 365: searches articles
- Metadata queries → Dynamics 365: queries metadata
- Audit history → Dynamics 365: retrieves audit history
- LINQ queries → Dynamics 365: queries records
- Connection roles → Dynamics 365: queries connection roles
