Codeunit 4399 "SOA Annotation"
SalesOrderAgent · Microsoft.Agent.SalesOrderAgent
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 16 connected objects and pages
SalesOrderAgent · Microsoft.Agent.SalesOrderAgent · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Permissions | tabledata “Agent Task Message” = r, tabledata “Agent Task Message Attachment” = rM |
Procedures
GetAgentAnnotations(AgentUserId: Guid; var Annotations: Record "Agent Annotation")(internal)GetAgentTaskMessageAnnotations(AgentTaskMessage: Record "Agent Task Message"; var Annotations: Record "Agent Annotation" temporary)(internal)CheckIfAttachmentRelevant(var AgentTaskMessage: Record "Agent Task Message"): Boolean(internal)
Plus 19 local procedures.
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 8703 “Feature Telemetry” (12 calls:
AddAgentTaskFailureAnnotation → LogError,AddAgentTaskFailureAnnotation → LogUsage,AddAgentTaskSendRepliesFailureAnnotation → LogError, …) - Codeunit 4400 “SOA Setup” (7 calls:
AddAgentTaskFailureAnnotation → GetFeatureName,AddAgentTaskSendRepliesFailureAnnotation → GetFeatureName,AddOverProcessLimitAnnotation → GetFeatureName, …) - Codeunit 7763 “AOAI Chat Messages” (6 calls:
CheckIfMessageRelevant → AddAssistantMessage,CheckIfMessageRelevant → AddTool,CheckIfMessageRelevant → AddUserMessage, …) - Codeunit 4590 “SOA Billing” (4 calls:
HandleAttachmentExtractionFailed → LogIrrelevantAttachment,IgnoreAttachmentExceedsContentLength → LogIrrelevantAttachment,ProcessAttachmentForRelevance → LogIrrelevantAttachment, …) - Codeunit 7770 “AOAI Operation Response” (4 calls:
CheckIfMessageRelevant → GetError,CheckIfMessageRelevant → GetStatusCode,CheckIfMessageRelevant → IsFunctionCall, …) - Codeunit 7771 “Azure OpenAI” (3 calls:
CheckIfMessageRelevant → GenerateChatCompletion,CheckIfMessageRelevant → SetAuthorization,CheckIfMessageRelevant → SetCopilotCapability) - Codeunit 2200 “Azure Key Vault” (2 calls:
GetIrrelevantAttachmentPrompt → GetAzureKeyVaultSecret,GetIrrelevantMessagePrompt → GetAzureKeyVaultSecret) - Codeunit 4302 “SOA Validation Function” (2 calls:
CheckIfMessageRelevant → GetIrrelevantReason,CheckIfMessageRelevant → IsIrrelevant) - Codeunit 4321 “Agent” (1 call:
GetAgentTaskMessageAnnotations → GetDisplayName) - Codeunit 4396 “SOA Email Setup” (1 call:
ShouldAddOverProcessLimitAnnotation → GetEmailCountProcessedWithin24hrs) - Codeunit 4421 “SOA Attachment MLLM” (1 call:
ProcessAttachmentForRelevance → EnsureCanonicalTextContent) - Codeunit 4587 “SOA Impl” (1 call:
ShouldAddOverProcessLimitAnnotation → GetProcessLimitPerDay) - Codeunit 7761 “AOAI Chat Completion Params” (1 call:
SetAOAIParameters → SetTemperature) - Codeunit 7768 “AOAI Deployments” (1 call:
CheckIfMessageRelevant → GetGPT41Latest)
Called by
- Codeunit 4309 “SOA Agent Task Execution” (1 call:
AnalyzeAgentTaskMessage → GetAgentTaskMessageAnnotations) - Codeunit 4401 “SOA Metadata Provider” (1 call:
GetAgentAnnotations → GetAgentAnnotations)
Recent changes
- 2026-08-15 #9910 [SOA] Move attachment processing to direct model reading (main, BC30, feature)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "SOA Annotation"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.