Del via


Brug msdyn_invokeCaseProcessingAgent til at aktivere Sagshåndteringsagent

Brug forretningshændelsen msdyn_invokeCaseProcessingAgent til at udløse Case Management Agent for at gøre følgende:

  • udtrække oplysninger fra en kildeenhed, f.eks. en mail, og opdatere sagen med relevante oplysninger.
  • løse en bestemt sag.

Du kan bruge dette til at udvide sagsautomatisering ud over standardudløserne. Du kan f.eks. aktivere Sagshåndteringsagent, når en kunde opretter en sag fra en ekstern portal, eller når der forekommer en CRUD-hændelse i en brugerdefineret tabel, f.eks. nye kvitteringer, der føjes til en sag.

Forudsætninger

HTTP-anmodning

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

Anmodningstekst

Egenskab Type Påkrævet Beskrivelse
msdyn_incidentId String Ja Id'et for den sag (hændelse), som Case Management Agent skal køre på.
Eksempel: "3895d023-a353-f011-877b-6045bd062e87"
msdyn_actions Strengiseret JSON-matrix Ja Definerer, hvilke handlinger/egenskaber sagshåndteringsagenter der skal udføres. Se detaljer nedenfor.

msdyn_actions matrixobjekt

Egenskab Type Påkrævet Beskrivelse
aktion String Ja Definerer den sagsbehandlingshandling, der skal køres.
Værdier:
  • resolve: Løs sagen ved hjælp af løsningsfunktionerne i Case Management Agent.
  • enrich: Udtrækker oplysninger fra en kildeenhed, f.eks. en mail, og opdaterer sagen med relevante oplysninger.
    Kildeenheden skal være tilgængelig og indeholde relevante sagsoplysninger
automationLevel String Nej Definerer automatiseringstilstanden for handlingen. Dette gælder kun for sagsløsning. Hvis denne værdi ikke angives, bruger agenten den tilstand, der er konfigureret af administratoren.
Værdier:
  • Fuld: AI-agenten løser sagen automatisk uden indgriben fra en kundeservicerepræsentant (servicerepræsentant eller repræsentant).
  • ,
  • Semi: AI-agent udarbejder løsningsmails, men kræver servicerepræsentantens gennemgang og godkendelse
sourceContextEntity String Ja Dette er en påkrævet værdi for sagsberigelse og valgfri for sagsløsning. Kildeenheden, f.eks. en mail eller en samtale, der skal bruges til at opdatere sagen.
Eksempel: "emails(0e20cf92-f663-f011-bec1-000d3a3622ba)"

Prøveanmodning

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

Respons

  • Lykkedes: Returnerer HTTP 204 No Content med en tom brødtekst.
  • Fejl: Standard-OData-fejlsvar.

Eksempelkode

I eksemplet nedenfor kan du aktivere Case Management Agent fra Dataverse-plug-ins eller brugerdefineret kode ved at udføre organisationsanmodningen msdyn_invokeCaseProcessingAgent . Agenten bruges til at opdatere sagen ved hjælp af en relateret mailenhed og derefter løse sagen med fuld automatisering.

Eksempel 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);
}

Eksempel 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();