Codeunit 4350 "Custom Agent Setup"
AgentDesignExperience · System.Agents.Designer.CustomAgent
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 10 connected objects and pages
AgentDesignExperience · System.Agents.Designer.CustomAgent · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
Event subscriptions
- OnRegisterCopilotCapability subscribes to Page “Copilot AI Capabilities” OnRegisterCopilotCapability
- CleanupCustomAgentSetup subscribes to Table “Agent” OnAfterDeleteEvent
Procedures
GetDefaultInitials(): Text[4]GetAgentType(): TextGetAccessControl(AgentUserSecurityID: Guid; var TempAccessControlBuffer: Record "Access Control Buffer" temporary)GetDefaultProfile(var TempAllProfile: Record "All Profile" temporary)UpdateAgent(var AgentSetupBuffer: Record "Agent Setup Buffer"; var TempAccessControlBuffer: Record "Access Control Buffer" temporary)UpdateAccessControl(AgentUserSecurityId: Guid; var TempAccessControlBuffer: Record "Access Control Buffer" temporary)CreateAgent(var TempAgent: Record Agent; var TempAgentAccessControl: Record "Agent Access Control" temporary; var TempAccessControlBuffer: Record "Access Control Buffer" temporary)CreateAgent(AgentUserName: Code[50]; AgentDisplayName: Text[80]; var TempAgentAccessControl: Record "Agent Access Control" temporary; var TempAccessControlBuffer: Record "Access Control Buffer" temporary; Initials: Text[4]): GuidCreateAgent(AgentUserName: Code[50]; AgentDisplayName: Text[80]; var TempAgentAccessControl: Record "Agent Access Control" temporary; var TempAccessControlBuffer: Record "Access Control Buffer" temporary; Initials: Text[4]; Description: Text[250]; Instructions: Text): GuidCreateCustomAgentSetup(AgentUserSecurityID: Guid; Initials: Text[4]; Description: Text[250]; Instructions: Text)OpenEditInstructionsPage(AgentSecurityId: Guid)GenerateInitialsFromName(AgentName: Text[50]): Code[4]RegisterCapability()
Plus 4 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 4321 “Agent” (4 calls:
CreateAgent → Activate,CreateAgent → Deactivate,GetDefaultProfile → PopulateDefaultProfile, …) - Codeunit 7773 “Copilot Capability” (2 calls:
RegisterCapability → IsCapabilityRegistered,RegisterCapability → RegisterCapability) - Codeunit 4324 “Agent Setup” (1 call:
UpdateAgent → SaveChanges) - Codeunit 4358 “Custom Agent Metadata Provider” (1 call:
GetDefaultInitials → GetDefaultInitials) - Codeunit 4362 “Agent Designer Permissions” (1 call:
CreateAgent → VerifyCurrentUserCanCreateCustomAgents) - Codeunit 457 “Environment Information” (1 call:
RegisterCapability → IsSaaSInfrastructure)
Called by
- Page 4350 “Custom Agent Setup” (5 calls:
IsAgentConfiguredCheck → GetDefaultProfile,OnQueryClosePage → OpenEditInstructionsPage,OnQueryClosePage → UpdateAgent, …) - Codeunit 4356 “Custom Agent Import” (3 calls:
CreateAgent → CreateAgent,ReplaceExistingAgent → CreateCustomAgentSetup,ReplaceExistingAgent → UpdateAccessControl) - Codeunit 4358 “Custom Agent Metadata Provider” (2 calls:
GetDefaultProfile → GetDefaultProfile,GetInitials → GetDefaultInitials) - Codeunit 4354 “Agent Designer Install” (1 call:
OnInstallAppPerDatabase → RegisterCapability) - Page 4351 “Custom Agents Wizard” (1 call:
NextStep → (object))
Recent changes
- 2026-08-26 #10631 Integration/main to releases 29.x 31a860b5 (releases/29.x, BC29, feature)
- 2026-08-21 #10386 [Agent Archiving] Prevent archived custom agents from being modified (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: "Custom Agent Setup"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.