Binnen onze organisatie hebben we op verschillende vestigingen een balie waar mensen langs kunnen komen met een vraag.
Vaak zijn dit gebruikersvragen die ter plekke opgelost worden. Die vragen werden vaak niet geregistreerd (want registratie duurt langer dan de vraag zelf).
We hebben dit opgelost met een knoppendoos: een eenvoudige stream deck met een aantal knopjes waarmee je een melding kunt registreren. De stream deck hadden we nog liggen, dus kosten waren er niet.
Op zo'n streamdeck kun je json code koppelen aan een drukknop. Met een druk op de knop wordt een melding aangemaakt, voorzien van een aantal standaard waardes, en afgesloten.
We doen dit nu een tijdje, en het geeft ons hele waardevolle inzichten in wat het aantal vragen die aan de balies langskomen en het soort vragen dat daar gesteld wordt.
Goed, hoe ziet dat er dan uit? Dat zie je hieronder. Elke vestiging heeft een eigen kleurtje, met de pijltjesknoppen ga je naar een andere vestiging. We zijn een onderwijsinstelling, dus dat zie je terug in de knoppen.

De json erachter is super eenvoudig, hieronder zie je de code achter de knop 'Vraag’ met laptop plaatje.
Wil je die aanpassen, maak dan een voorbeeld incident aan, haal die via een get-request binnen en vis de juiste id's er uit. Dat is hoe ik het heb gedaan, als daar slimmere manieren voor zijn leer ik graag bij.
<# met dit script wordt een melding aangemaakt in Topdesk via een API user.
Het script maakt gebruik van id's om bepaalde velden te vullen.
Hieronder vind je een overzicht van de id's zodat je het script eenvoudig kunt aanpassen.
Veld caller:
id ... = gebruiker ...
Veld callerbranch:
id ... = vestiging ...
Veld briefDescription:
category:
id ... = category ...
subCategory:
id ... = subCategory ...
callType:
id ... = callType ...
entryType:
id ... = entryType ...
#>
#hieronder wordt de authorisatie van de API user in Topdesk ingesteld.
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Content-Type", "application/json")
$headers.Add("Authorization", " ") <# vul hier je autorisatie methode in #>
#hieronder worden de velden gevuld met de juiste informatie. Zie begin script voor de id's
$body = @"
{
`"request`": `"Gebruikersvraag over een laptop, een 'hoe doe ik' vraag`",
`"action`": `"Uitleg gegeven.`",
`"caller`": {
`"id`": `" `"
},
`"callerBranch`": {
`"id`": `" `"
},
`"briefDescription`": `"Laptop vraag`",
`"category`": {
`"id`": `" `"
},
`"subcategory`": {
`"id`": `" `"
},
`"callType`": {
`"id`": `" `"
},
`"entryType`": {
`"id`": `" `"
},
`"duration`": {
`"id`": `" `"
},
`"operator`": {
`"id`": `" `"
},
`"operatorGroup`": {
`"id`": `" `"
},
`"processingStatus`": {
`"id`": `" `"
}
}
"@
$response = Invoke-RestMethod 'https://URL.topdesk.net/tas/api/incidents' -Method 'POST' -Headers $headers -Body $body
$response | ConvertTo-Json
Feedback is welkom, dit was mijn eerste API automatiseringservaring, dus kom maar door!
