Skip to main content
Gerard
Explorer ⭐
May 8, 2026 2:17 PM UTC
Solved

Oude persoonskaarten aanpassen met webhook en powershell

ik heb van uit onze historie heel veel budgethouders en afdelingen.

Om dit te kunnen opruimen moet ik bij alle oude gearchiveerde personen (langer dan 730 dagen geleden) de budgethouder en afdeling veranderen in n.v.t.)

Het script heb ik al gemaakt (eerst de archiveren, afdeling en budgethouder aanpassen en weer archiveren)

Dit werkt prima met een trigger op gearchiveerde personen, 730 dagen na de laatste wijziging.

Maar nu wil ik dit voor alle persoonskaarten doen die ouder zijn dan 730 dagen.

Dit kan met een webhook maar wat voor url moet ik aanroepen in powershell?
De url naar de webhook weet ik wel maar de url om te filteren wil ik weten.

 

This topic has been closed for replies.
Joost Oostindie
Contributor
May 11, 2026 7:22 AM UTC

​@Gerard Excuus, echt vrijdagmiddag!
Deze gaat het beter doen:
/tas/api/persons?query=modificationDate=lt="2024-05-09T00:00:00.000Z";archived==true&page_size=1000

Ook de tijdzone is hier goed geformatteerd voor TOPdesk.

Joost mag het weten, jij ook!

9 replies

Joost Oostindie
Contributor
May 8, 2026 2:53 PM UTC

Als je dit in Powershell wilt doen ziet het er ongeveer als volgt uit:
$Date = (Get-Date).AddDays(-730).ToString("yyyy-MM-dd")

$url = "https://jouwdomein.topdesk.net/tas/api/persons?query=status==""personArchived"";modificationDate<""$Date"""

In TOPdesk zelf als volgt:
/tas/api/persons?query=status=="personArchived";modificationDate<"2024-05-09"&page_size=1000

Translate
Joost mag het weten, jij ook!
Gerard
GerardAuthor
Explorer ⭐
May 11, 2026 6:33 AM UTC

​@Joost Oostindie 
Dank voor je antwoord, maar bij mij werkt dit niet
Als ik /tas/api/persons?query=status=="personArchived";modificationDate<"2024-05-09"&page_size=1000 achter mijn **.topdesk,net zet krijg ik de volgende melding
 

{"errors":[{"errorCode":"query_parse_error","appliesTo":["status"],"errorMessage":"Unknown field status"}]}

Hij begrijpt status niet

Translate
Gerard
Joost Oostindie
Contributor
May 11, 2026 7:22 AM UTC

​@Gerard Excuus, echt vrijdagmiddag!
Deze gaat het beter doen:
/tas/api/persons?query=modificationDate=lt="2024-05-09T00:00:00.000Z";archived==true&page_size=1000

Ook de tijdzone is hier goed geformatteerd voor TOPdesk.

Translate
Joost mag het weten, jij ook!
Gerard
GerardAuthor
Explorer ⭐
May 11, 2026 8:06 AM UTC

​@Joost Oostindie Ik heb de url ingekort en even de datum eraf gehaald maar hij blijft zeuren dat hij status niet herkend

/tas/api/persons?query=status=="personArchived"

de url gebruik ik gewoon in de browser
 

{"errors":[{"errorCode":"query_parse_error","appliesTo":["status"],"errorMessage":"Unknown field status"}]}

 

Translate
Gerard
Joost Oostindie
Contributor
May 11, 2026 8:36 AM UTC

Hi ​@Gerard,

Als je de datum er af haalt, zou hij als volgt zijn:
/tas/api/persons?query=archived==true&page_size=1000

Die error klopt, status=="personArchived" is in TOPdesk niet nodig, archived==true of archived==false werkt!

Translate
Joost mag het weten, jij ook!
Gerard
GerardAuthor
Explorer ⭐
May 11, 2026 8:41 AM UTC

​@Joost Oostindie Top hij doet het, de url met de datum ook
Ik ga verder hobbyen

Translate
Gerard
Gerard
GerardAuthor
Explorer ⭐
May 11, 2026 1:16 PM UTC

​@Joost Oostindie 
Hoi Joost het is gelukt maar wil nog even checken op oude domeinnamen
Ik kan zoeken op een emailadres maar maar niet op het eind 
/tas/api/persons?query=email=sw=pietje
Dan vind ik pietje@puk.nl maar ik wil het eind hebben maar ew (ends with) wordt niet begrepen
Ik wil dus alleen zoeken op puk.nl
Heb jij een oplossing?

Translate
Gerard
Joost Oostindie
Contributor
May 11, 2026 1:55 PM UTC

Hi Gerard,

De TOPdesk query syntax ondersteunt inderdaad geen ‘ew’, je kunt wel zoeken met inderdaad: /tas/api/persons?query=email=sw=pietje, maar voor iets als ew=@puk.nl lijkt geen directe query mogelijkheid te bestaan binnen TOPdesk.
De exacte lijst kan je hier terugvinden: TOPdesk API tutorial

Ik zou daarom zelf eerder alles ophalen waar een e-mailadres gevuld is en daarna bijvoorbeeld in PowerShell filteren op het domein. Bijvoorbeeld:

$persons | Where-Object {
    $_.email -like "*@puk.nl"
}

Translate
Joost mag het weten, jij ook!
Gerard
GerardAuthor
Explorer ⭐
May 11, 2026 5:33 PM UTC

​@Joost Oostindie 
Dankjewel

Translate
Gerard