Latest projects

Here are some of our previous projects, just click on the area of ​​interest  on the right to see examples.


1. Script for the creation of new AD Users

User creation, assignment of attributes, phone number, membership, email alias etc., all dynamic so user creation is quick and easy.

2. Removal of licenses and disabling of the user

Removes or changes licenses in various systems via integrations. Also disables the user in various systems based on the required flows for each system.

1. License handling

Assignment and removalof Office licenses via integration with Active directory, following user creation/disablingAs well as automatic license changes when changing membership in Active Directory.

2. Automatic auto-reply on resignation

An auto-reply is automatically set and forwarded if desired in Office, based on a standard form and the immediate manager’s contact information.

3. Teams

Creation of phone numbers in Teams which is then associated with the given user, as well as licensing so that the number works internally and externally.

1. License allocation and removal 

Assignment and removal of licenses, most often via integrations with Active Directory. Automatic change of license based on user status or group membership.

Was combined with UIPath (RPA), to also handle systems that couldn’t be directly integrated via an API etc.

2. Automatic mails when licensed

Sends emails to various responsible and relevant people when a user changes their license or status.

1. Approval flow and automatic task creation

An approval flow was set up that went through to both the manager of the employee and the relevant department.

Tasks were then created automatically for various departments, as well as emails regarding tasks, depending on what was chosen in the entry/resignation form, and the wishes of the various departments.

2. Automatic process creation

When an employee’s resignation date is registered in the HR system, a standard resignation process with various tasks was automatically created.

Data management

1. Automatic reporting based on membership changes

When there is a change in membership, a report is created for UIPath (the RPA robot) in the form of an Excel sheet with the desired data, as well as emails that are sent to those responsible for the system if desired.

2. Active Directory users reports

Reports are created from Active Directory user data with all desired attributes and other info, combined and formatted to get a complete list.
Used for e.g. cleanup of old users & licenses, as well as general user changes.

3. Mass editing of Active Directory users

Updating large parts of AD users in the environment, by e.g. adding an email alias or changing address.

1. Office license reporting

More in-depth report on Office licenses, user’s latest activity time and more than Office itself can generate.
Was used to clean up licenses and see who needed which licenses based on activity.

1. Monitoring of user activity in systems

Constant monitoring of user activity in systems, which triggers the removal or change of licenses if the user has not used the system for x number of days.

2. Monitoring for UIPath (RPA robot)

Monitors data that UIPath needs to respond to that UIPath may not be allowed to look directly into, such as Active Directory.

Based on changes in data, a file/excel sheet is created for UIPath, with the information it needs to process it further.

This is done when there is no possibility to make the changes directly with scripts or integrations.

1. Advanced mail flows

A long list of mail flows is set up to respond to e.g. resignation dates or other changes in user data.
This is used both to send emails to the person it concerns, the manager and relevant departments.

2. Updating of personal data and changes

Dynamically updates personal data and changes in TOPdesk, depending on what is entered/changed on the person or change.
This ensures that, for example, There is no double process on the same person, and there is always documentation of what has changed.

3. Automation for change activities

Automation set up for change activities, the sub-tasks for changes, where a long list of rules has been set up for what should trigger what.
This avoids the human errors and is better able to trigger activities at the right time, regardless of when the change is created.



Integration between Jira / TOPdesk, where TOPdesk acts as the master that controls the data.

In Jira, cases from TOPdesk can be viewed, and priorities can be set which are sent back to TOPdesk, to help manage the order of tasks.

In this way, it is easier to control who can see and prioritize what, and it is easier to manage/limit permissions.

This was continuously expanded as more feature requests came in.

Office/Active Directory

Creation and synchronization as well as management of mailboxes, mail groups and resources via Active Directory.

Office license management via membership in Active Directory.

API calls

API calls via PowerShell to Topdesk, to integrate it with various resources that want to retrieve data from there, as well as update data in Topdesk.

Eg. done with JetAdvice API (Printer monitoring) + Topdesk API to gather the data on devices in both systems. 


1. Creation of shared mailboxes and resources

Creation and synchronization of mailboxes and resources for Office.

2. Office licensing via Active Directory membership

Licenses are managed via membership in Active directory, and synchronizes to Office where the license is changed automatically based on the memberships.

3. Permission management via Active Directory membership

Permissions for resources, mailboxes etc. are controlled via membership in Active Directory , thereby providing an easier overview and easier addition/removal of permissions, especially on large scale.

This means that you can avoid restrictions on how many people have rights to e.g. a resource, as the right can be added through groups.

1. Automatic license management

Licenses are automatically removed if the user has been inactive for a long time, or is downgraded to a lesser license.
Upon resignation, this can also be used to automatically remove the license, e.g. 30 days after the resignation date, so that it does not have to be remembered and done manually.



In the case of the on-/offboarding of employees, there was a lack of structure and overview, over what was done in the creation/closure of the user, as well as a lack of notifications to those who had to carry out the process, leading to users either being onboarded to slow or begin left open after their resignation. 


First, the current process was reviewed, from which we made a list of what was currently working well, as well as what they had experienced as shortcomings.

Various departments who were given tasks when people were on-/offboarded were also involved and asked what and what information they needed, for it to be a work flow that works for them.

After clarification of requirements and wishes, we made a list of them, in a prioritized order, as well as a plan for when it should be implemented and various departments notified + trained in the new solution.


In order to build up the structure and standardize the on-/offboarding process of employees, a form was made that the person’s superior fills in when on-/offboarding employees.
This form contained mandatory fields, as well as optional fields regarding user creation/removal in various systems.

This way it is ensured that all the necessary information is always available and easy to find for those who carry out the tasks.

After the form was created and the data it should contain was chosen, a standard email-/template was created for the tasks that had to be carried out to create/remove the employee in systems.
This form was made so that it covered most people’s needs, but could still be easily adapted to those who wanted different or additional information.

Then a script was created that could perform all the standard changes to the Active Directory user, as well as dynamically add or change more depending on what was selected/entered when the script was run.

In the end, a mail flow was created, which notified managers that they should create these processes, if, for example, a resignation date was registered. As well as sending out automatic emails to various departments about tasks that had to be carried out.

In this way, there was more structure and standardization for how this process should be carried out, plus the documentation and notifications were improved.


Overview and handling of all assets was spread across many systems, and did not have a centralized place where you could find and correct the information.

It was everything from computers in the company to mobile subscriptions and coffee machines.

This meant that departments often came up with their own solutions, which were not always appropriate, e.g. an Excel sheet attached to a single employee which was a vulnerability.


We started by the current assets that existed in the organization, as well as who could benefit from being included in this project.

Then we got hold of those who were responsible for the given assets and found out what they needed, both in terms of what information should be available on their asset, as well as who should be given what permissions.

Once this was in place, we created a standard template that could be used to get the existing assets imported easily and simplify the process when new ones had to be created.


We started by collecting lists from various departments with their current solution, as well as all the information they had entered, so that we could create the fields that needed to be used and import them into the new system.

After the assets had been created and imported into the system, rights were delegated so that the given department could only see/edit its own assets + possibly others if wished for.

Automation was created that updated information either based on the site/person linked, or when specific changes were made.
Mailflows were set up to notify various responsible parties when an asset they were responsible for required an action. This could, for example, be when a machine had to be serviced based on a date entered or an agreement was about to expire.


Order handling slips, which was to be used to correct sales, ran in a very outdated and manual way, where there were often many errors in them and they required a lot of handling time from the employees.

They wanted this to be modernized so that it did not take so much of the employees time and it became easier for the employees to fill out.


Based on the current way of handling these order slips, we held a meeting with the department that handled them and listened to their requirements and wants.

After identifying the requirements and wants, we created dummy processes and involved responsible parties as well as users until we found one that worked all the way around. 

After finding this, we found out what other wishes there were, such as reports to be created in the future and special requirements for large sums.


We created a form that made it easier for employees to fill in order handling slips and submit them, as well as follow the process.

This also ensured that all the necessary information was always entered and avoided various human errors.

Based on information filled in the order handling slip, it went to an approver who had to approve the slip before it was processed.
After approval of the order handling slip, the sum entered was checked to see if it should be approved an extra time higher up.

When the order handling slip was approved, it was passed on to finance, who were then given a task.

In addition to the task itself, a mail flow was also set up, which notified both the user who filled in the order handling slip when the status is updated, the approver of the order handling slip, and finance who had to carry out the task.

In this way, we ensured that order handling silps were filled out properly and did not have the problems that were there before and formed a database that could be used both for documentation of what had been done and for creating reports.


There were 2 systems that talked to each other via API calls and csv files, sometimes there would be errors in these API calls or csv files, which meant they did not contain the correct data.

This caused errors later in the process when the systems needed to use this data.

You had to manually enter and correct these files, or create them anew, before the error was corrected. 


We started by identifying the cause of the error, after we found out it could not be fixed directly, we looked into the files that were created.

In these files we could see when the error occurred, which made it measurable.

Based on this, we chose to go for restoring the files, if they had errors, until they contained the expected data.


Monitoring was established over the files generated by the systems, checking whether data matched expectations.

If they did not match, we made API calls to create csv files again and checked once more if these were correct.

This ran automatically in a fixed interval before the systems had to use the files, which ensured that it did not cause problems.

In this way, virtually all errors were corrected and the manual action was avoided, apart from when there were too many errors in a row, which was a sign of something else and sent an alarm instead.


Here you can see some of our previous TOPdesk projects, just click on the area of ​​interest below to see examples.

1. Setting up forms

Setting up new forms and associated technology behind them.
Eg. on-/offboarding forms, hardware forms, and license request forms.

2. Automation for existing forms

Review of existing forms, and the creation of automation linked to it, to avoid human errors, as well as expanding what the form can do and what it integrates with.

1. Advanced mail flows

A long list of mail flows is set up to respond to e.g. a resignation date or other changes in user data.
This is used both to send emails to the person it concerns, the manager, and relevant departments.

2. Approval flow for Changes

The mail flow for approvals sends a message to the approver for the task, or the person who must create it based on a deadline entered into a system.
Continuous reminders are also sent if it has not yet been approved/created, and escalation to the immediate manager if the task has not been approved/declined/created within a certain time frame.

3. Mail flow for the Change responsible

Both a standard template/flow for various managers and departments for their tasks, as well as unique emails containing specific data they need it to contain.

1. Approval flow and automatic task creation

An approval flow was set up to go through both the manager of the employee and the relevant department.
Tasks were then created automatically for various departments, as well as emails regarding tasks, depending on what was chosen in the form.

2. Automatic process creation

When an employee’s resignation date is registered in the HR system, a standard resignation process with various tasks was automatically created.

3. Automation of change activities

Automation set up for change activities, the sub-tasks for changes, where a long list of rules has been set up for what should trigger what.
This avoids the human errors and is better able to trigger activities at the right time, regardless of when the change is created.

1. Creation and import of assets

Creation and setup of asset templates, as well as compilation of existing data that was then imported to create assets.
This was used to transition from old sheets in e.g. excel in various departments, and bring it all together in Topdesk to standardize across the organization.

2. Automatic updating of info

When creating assets and linking a person/site, additional information from e.g. persons information, to give a more complete picture.
This was updated every time the linked person/site changed.

3. Mail flows in Asset actions based on linked persons/assets

Events were set up which were triggered when an asset had a specific field changed.
After this, asset handling checked which info was now associated, and sent emails based on what was changed.
This ensured that departments and people were informed when something they had to do with was changed.

Order handling slips

In Topdesk, we have set up a flow for order handling slips, this flow includes all of the following:

  1. Approval flow that changes dynamically depending on what is entered (in this case the sum).
  2. Mail notification to user and person in charge.
  3. Form that adapts according to what is chosen.
  4. Simplified process for both the user and order handling slip approver, as well as a better overview of the history of the changes in Topdesk.

This took the creation of order handling slips on the user side, as well as handling on the responsible side, away from an outdated and slow process to a more fail-safe and easier one for both parties.

Integrations and API

We have a lot of knowledge about integrations to and from Topdesk, as well as the Topdesk API.

This is e.g. used in our order handling slips project, or our integration with Jira.

We have often used PowerShell in combination with Topdesk to circumvent some of the limitations that may exist in Topdesk, and create a completely dynamic and reliable process.

Action sequences

We have set up a large number of action sequences in Topdesk, which support both simple and long complex solutions that play together with several other action sequences.

These action sequences support, among other things, that which is described in the other tabs, including Topdesk.

These are both set up on the person, changes, assets, incidents and more, or a combination of them, depending on the needs of the individual task and the overall context of the existing setup.

We are well known for long complex solutions and challenging tasks, especially when it comes to Topdesk and action sequences, as we have set up some of Denmark’s most complex therein.


You are always welcome to send an email or give us a call, then we will take a look at it with you and find a solution together, or send you in the right direction if we cannot solve the task.