Істерді басқару агентін шақыру үшін msdyn_invokeCaseProcessingAgent пайдаланыңыз

Келесі әрекеттерді орындау үшін Case Management агентін іске қосу үшін бизнес-оқиғаны пайдаланыңыз msdyn_invokeCaseProcessingAgent :

  • Электрондық пошта сияқты бастапқы нысаннан ақпаратты шығарыңыз және істі тиісті мәліметтермен жаңартыңыз.
  • Белгілі бір мәселені шешу.

Мұны жағдайларды автоматтандыруды әдепкі триггерлерден тыс кеңейту үшін пайдалануға болады. Мысалы, тұтынушы сыртқы порталдан жағдай жасағанда немесе реттелетін кестеде CRUD оқиғасы пайда болғанда, мысалы, жағдайға қосылған жаңа түбіртектерді шақыруға болады.

Алғышарттар

HTTP сұрауы

POST [Organization URI]/api/data/v9.2/msdyn_invokeCaseProcessingAgent

Негізгі мәтінді сұрау

Сипат Түр Қажетті Сипаттамасы
msdyn_incidentId String Иә Іс жүргізу жөніндегі агент (оқиға) бойынша жұмыс істейтін істің идентификаторы.
Мысалы: "3895d023-a353-f011-877b-6045bd062e87"
msdyn_actions Stringed JSON массивы Иә Істерді басқару агентінің қандай әрекеттерін / мүмкіндіктерін орындау керектігін анықтаңыз. Төмендегі егжей-тегжейлі қараңыз.

msdyn_actions жиым нысаны

Сипат Түр Қажетті Сипаттамасы
әрекет String Иә Іске қосылатын істі өңдеу әрекетін анықтайды.
Раа
  • Тапсырма: Тапсырманы орындау арқылы тапсырманы орындау.
  • Байыту: Электрондық пошта сияқты бастапқы объектіден ақпарат шығарады және істі тиісті мәліметтермен жаңартады.
    Бастапқы объект қол жетімді болуы керек және тиісті жағдай туралы ақпаратты қамтуы керек
автоматтандыру деңгейі String Жоқ Іс-әрекеттің автоматтандыру режимін анықтайды. Бұл тек істі шешуге қатысты. Егер бұл мән берілмесе, агент әкімші орнатқан режимді пайдаланады.
Раа
  • Толық: AI агенті клиенттерге қызмет көрсету өкілінің (қызмет өкілі немесе өкілі) араласуынсыз істі автоматты түрде шешеді.
  • ,
  • Жартылай: AI агенті шешім қабылдау электрондық хаттарын дайындайды, бірақ қызмет өкілінің қарауы мен мақұлдауын талап етеді
sourceContextEntity String Иә Бұл жағдайды байыту үшін қажетті мән және істі шешу үшін міндетті мән. Кейсті жаңарту үшін пайдаланылуы керек электрондық пошта немесе сөйлесу сияқты бастапқы нысан.
Мысалы: "emails(0e20cf92-f663-f011-bec1-000d3a3622ba)"

Сұраудың үлгісі

{
  "msdyn_incidentId": "5ad2ac2c-6363-f011-bec2-6045bd026457",
  "msdyn_actions": "[{\"action\":\"enrich\",\"sourceContextEntity\":\"emails(0e20cf92-f663-f011-bec1-000d3a3622ba)\"},{\"action\":\"resolve\",\"automationLevel\":\"Full\"}]"
}

Жауап

  • Сәттілік: Бос денесі бар HTTP 204 No Content қайтарады.
  • Ақау: Стандартты OData қатесіне жауап беру.

Үлгі коды

Төмендегі мысалда ұйым сұрауын орындау msdyn_invokeCaseProcessingAgent арқылы Dataverse плагиндерінен немесе реттелетін кодтан Case Management Agent агентін шақыруға болады. Агент байланысты электрондық пошта нысаны пайдаланып істі жаңарту үшін қолданылады, содан кейін істі толық автоматтандыру арқылы шешеді.

1-мысал

CrmServiceClient GetService()
{
    string orgUrl = "";
    string username = "";
    string connectionString = $"AuthType=OAuth;Username={username};Url={orgUrl};AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;RedirectUri=http://localhost;LoginPrompt=Auto";
    CrmServiceClient svc = new CrmServiceClient(connectionString);
    return svc;
}

public class InvokeCaseProcessingAgentRequest
{
    [JsonProperty("msdyn_incidentId")]
    public string incidentid { get; set; }

    [JsonProperty("msdyn_actions")]
    public List<AgentAction> actions { get; set; }
}

public class AgentAction
{
    [JsonProperty("action")]
    public AgentActionType action { get; set; }

    [JsonProperty("sourceContextEntity")]
    public string sourceContextEntity { get; set; }

    [JsonProperty("automationLevel")]
    public AutomationLevel? automationLevel { get; set; }
}

[JsonConverter(typeof(StringEnumConverter))]
public enum AgentActionType
{
    [EnumMember(Value = "enrich")]
    Enrich,
    [EnumMember(Value = "resolve")]
    Resolve
}

[JsonConverter(typeof(StringEnumConverter))]
public enum AutomationLevel
{
    [EnumMember(Value = "Full")]
    Full,
    [EnumMember(Value = "Semi")]
    Semi
}

void Main()
{
    var service = GetService();
    var actions = new List<AgentAction>()
    {
        new AgentAction()
        {
            action = AgentActionType.Enrich,
            sourceContextEntity = "emails(0e20cf92-f663-f011-bec1-000d3a3622ba)"
        },
        new AgentAction()
        {
            action = AgentActionType.Resolve,
            automationLevel = AutomationLevel.Full
        },
    };
    var req = new OrganizationRequest("msdyn_invokeCaseProcessingAgent")
    {
        ["msdyn_incidentId"] = new Guid("8f2db50d-0c64-f011-bec2-000d3a3b776a"),
        ["msdyn_actions"] = JsonConvert.SerializeObject(actions)
    };
    service.Execute(req);
}

2-мысал

function invokeCaseManagementAgent() {
  var data = JSON.stringify({
    "msdyn_incidentId": "020edf2f-7d3f-4a69-bd26-030736604eeb",
    "msdyn_actions": "[{\"action\":\"enrich\",\"sourceContextEntity\":\"emails(0e20cf92-f663-f011-bec1-000d3a3622ba)\"},{\"action\":\"resolve\",\"automationMode\":\"Full\"}]"
  });
  var xhr = new XMLHttpRequest();
  xhr.withCredentials = true;
  xhr.addEventListener("readystatechange", function() {
    if(this.readyState === 4) {
      console.log(this.responseText);
    }
  });
  xhr.open("POST", Xrm.Utility.getGlobalContext().getClientUrl()+"/api/data/v9.2/msdyn_invokeCaseProcessingAgent");
  xhr.setRequestHeader("Cache-Control", "no-cache");
  xhr.setRequestHeader("Accept", "*/*");
  xhr.setRequestHeader("Content-Type", "application/json");
  xhr.send(data);
}

invokeCaseManagementAgent();