codeunitCopilot & Agentsofficial - Microsoftderived - from the source, no model text

Codeunit 4400 "SOA Setup"

SalesOrderAgent · Microsoft.Agent.SalesOrderAgent

Across versions

  1. BC23-28not present
  2. BC29-30present

Neighbourhood 38 connected objects and pages

Codeunit 4582 "SOA Retrieve Emails" (calls, 16 links)SOA Retrieve EmailsPage 4400 "SOA Setup" (calls, 14 links)SOA SetupCodeunit 4587 "SOA Impl" (calls, 10 links)SOA ImplCodeunit 4305 "SOA Filters Impl." (calls, 8 links)SOA Filters Impl.Codeunit 4399 "SOA Annotation" (calls, 7 links)Codeunit 4401 "SOA Metadata Provider" (calls, 6 links)SOA Metadata ProviderCodeunit 4397 "SOA Test Setup" (calls, 5 links)Codeunit 4589 "SOA Upgrade" (calls, 5 links)SOA UpgradeCodeunit 4321 "Agent" (calls, 4 links)Codeunit 4324 "Agent Setup" (calls, 4 links)Agent SetupCodeunit 4598 "SOA Instructions" (calls, 4 links)SOA InstructionsCodeunit 4586 "SOA Dispatcher" (calls, 3 links)Codeunit 4002 "SOA Prompt Builder" (calls, 2 links)SOA Prompt BuilderCodeunit 43 "Language" (calls, 2 links)Codeunit 4304 "SOA Session Events" (calls, 2 links)SOA Session EventsCodeunit 4309 "SOA Agent Task Execution" (calls, 2 links)SOA Agent Task ExecutionCodeunit 4402 "SOA Output Message Setup" (calls, 2 links)SOA Output Message SetupCodeunit 4417 "SOA Item Selector" (calls, 2 links)Codeunit 4581 "SOA Send Replies" (calls, 2 links)SOA Send RepliesCodeunit 8894 "Email Account" (calls, 2 links)Email AccountCodeunit 9024 "Azure AD Graph User" (calls, 2 links)Codeunit 3110 "PDF Document" (calls)Codeunit 4306 "SOA Session Filter" (calls)Codeunit 4317 "Agent System Permissions" (calls)Codeunit 4323 "SOA Awareness Notifications" (calls)Codeunit 4395 "Global Item Search" (calls)Codeunit 4396 "SOA Email Setup" (calls)Codeunit 4418 "SOA Reply Retry Mgt." (calls)Codeunit 4419 "SOA Send Reply" (calls)Codeunit 4421 "SOA Attachment MLLM" (calls)Codeunit 457 "Environment Information" (calls)Codeunit 4584 "SOA Recovery" (calls)Codeunit 4585 "SOA Error Handler" (calls)Codeunit 4590 "SOA Billing" (calls)Codeunit 4591 "SOA Item Search" (calls)Codeunit 4600 "SOA Document Events" (calls)Codeunit 8703 "Feature Telemetry" (calls)Page 4402 "SOA KPI" (calls)

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

SalesOrderAgent · Microsoft.Agent.SalesOrderAgent · BC29-30 · source at ea08af5e · facts from BC29

Properties

Property Value
Access Internal
Permissions tabledata “Email Inbox” = rd

Procedures

  • CreateDefaultAgentNoEmail(): Used for testing OnPrem
  • GetInitials(): Text[4] (internal)
  • GetInitials(AgentUserSecurityID: Guid): Text[4] (internal)
  • GetAgentType(): Text (internal)
  • GetAgentSummary(): Text (internal)
  • AllowCreateNewSOAgent(): Boolean (internal)
  • ActiveSOAgentCount(OwnerUserSecurityID: Guid): Integer (internal): Counts the Sales Order Agent instances owned by a user that still occupy a slot. Archived agents are excluded because they can never be reactivated.
  • ActiveSOAgentSetupExists(): Boolean (internal): Tells whether the company has at least one Sales Order Agent that is not archived. Kept to two bounded queries because callers include paths that run for ordinary users.
  • CountNonArchivedSetups(var SOASetup: Record "SOA Setup"): Integer (internal): Counts the records in an already filtered set of setup records whose agent is not archived.
  • FindFirstNonArchivedSetup(var SOASetup: Record "SOA Setup"): Boolean (internal): Finds the first record in an already filtered set of setup records whose agent is not archived.
  • IsAgentArchived(AgentUserSecurityID: Guid): Boolean (internal)
  • IsAgentActive(AgentUserSecurityID: Guid): Boolean (internal): Tells whether the agent behind a setup record is currently live, meaning it exists, is enabled and is not archived. Sessions that cannot read the Agent table get true, so callers never act on a state they were unable to determine.
  • MustTreatAgentAsArchived(AgentUserSecurityID: Guid): Boolean (internal): Archived state for callers that block an operation. Unlike IsAgentArchived this fails closed: an agent whose state cannot be read is treated as archived, so the guard cannot be bypassed by running without access to the Agent table.
  • CheckAgentNotArchived(AgentUserSecurityID: Guid) (internal)
  • MaxSOAInstances(): Integer (internal)
  • GetDispatcherBaseDelaySeconds(): Integer (internal)
  • GetDispatcherDelayIncrementSeconds(): Integer (internal)
  • UpdateAgent(var AgentSetupBuffer: Record "Agent Setup Buffer"; var TempSOASetup: Record "SOA Setup" temporary; Schedule: Boolean) (internal)
  • GetDefaultEmailSignatureAsTxt(): Text (internal)
  • UpdateInstructions(var TempSOASetup: Record "SOA Setup" temporary) (internal)
  • InstructionsSyncRequired(var SOASetup: Record "SOA Setup"): Boolean (internal)
  • UpdateSOASetupInstructionsLastSync(var SOASetup: Record "SOA Setup") (internal)
  • UpdateSOASetupActivationDT(var TempSOASetup: Record "SOA Setup" temporary) (internal)
  • GetDefaultAgentAccessControl(AgentUserSecurityID: Guid; var TempAgentAccessControl: Record "Agent Access Control" temporary) (internal)
  • GetDefaultProfile(var TempAllProfile: Record "All Profile" temporary) (internal)
  • GetDefaultAccessControls(var TempAccessControlBuffer: Record "Access Control Buffer" temporary) (internal)
  • GetSOASetup(var TempSOASetup: Record "SOA Setup" temporary; AgentUserSecurityID: Guid) (internal)
  • CheckSOASetupStillValid(var SOASetup: Record "SOA Setup"): Boolean (internal)
  • ValidateAgentIdentity(SOASetup: Record "SOA Setup") (internal)
  • CheckMailboxUnique(SOASetup: Record "SOA Setup") (internal)
  • GetEmailAccount(var SOASetup: Record "SOA Setup"; var TempEmailAccount: Record "Email Account" temporary) (internal)
  • GetDefaultEmailAccount(var TempEmailAccount: Record "Email Account" temporary) (internal)
  • GetAgentTaskUserInterventionSuggestions(AgentTaskUserInterventionRequestDetails: Record "Agent User Int Request Details"; var AgentTaskUserInterventionSuggestion: Record "Agent Task User Int Suggestion") (internal)
  • GetAgentTaskPageContext(AgentTaskPageContextRequest: Record "Agent Task Page Context Req."; var AgentTaskPageContext: Record "Agent Task Page Context") (internal)
  • GetCommunicationLanguageCodeAndFormat(AgentTaskId: BigInteger; var LanguageCode: Code[10]; var FormatRegion: Text[80]) (internal): By priority: from the contact card, from the customer card, or from the user settings.
  • GetSOAUserDisplayName(): Text[80] (internal)
  • GetSOAUserDisplayName(AgentName: Text[50]): Text[80] (internal)
  • GetSOAUsername(): Text[50] (internal)
  • ValidateEmailConnectionStatus(var TempSOASetup: Record "SOA Setup" temporary): Boolean (internal)
  • ValidateEmailConnection(StateChanged: Boolean; var TempSOASetup: Record "SOA Setup" temporary; MailboxChanged: Boolean; IsFirstActivation: Boolean) (internal)
  • GetInboxEmailCount(var SOASetup: Record "SOA Setup"): Integer (internal)
  • SupportedAttachmentContentType(FileMIMEType: Text): Boolean
  • IsPdfAttachmentContentType(FileMIMEType: Text): Boolean (internal)
  • IsImageAttachmentContentType(FileMIMEType: Text): Boolean (internal)
  • DocumentExceedsPageCountThreshold(DocInStream: Instream; var Exceeds: Boolean) (internal)
  • PageCountThreshold(): Integer (internal)
  • GetMaxNoOfAttachmentsPerEmail(): Integer (internal)
  • GetFeatureName(): Text (internal)
  • GetUpdatedQuoteInterventionSuggestionCode(): Code[20] (internal)
  • GetUpdatedOrderInterventionSuggestionCode(): Code[20] (internal)

Plus 26 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.

Called by

Recent changes

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 Setup"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources