During the summer – physical button

We are going to develop 2 new automator capabilities in Summer 2017.

  • Physical button
  • Automator audit report (will be a another blog post)

Physical button

Everyone can push a button right? We are connecting the physical button to ITRP.


Well, but what could be a purposeful function?

An Example

One example is printer maintenance. Some companies outsource printer maintenance completely i.e. the vendor is changing, maintaining everything except adding paper. Right now, without the button a toner change request could work like that:

  • User goes to the printer
  • Printer is low on toner
  • User contacts the Service Desk
  • User uses another printer
  • Service Desk looks for the Printer Serial No.
  • Service Desk calls the printer company or writes an email

With the button it will work like that:

  • User goes to the printer
  • Printer is low on toner
  • User pushes the button
  • A Service Request in ITRP will be created automatically and an email including Serial No. etc. goes to the printer company, of course automatically


Time and nerves saved for Service Desk staff.

Other Examples

There are many other examples for using such a button. The spectrum goes from ordering Pizza, creating a request because the vending machine run out of coffee to automate orders of spare parts.






Lift the CMDB to a completely new level


The CMDB (Configuration Management Data Base) in ITRP can not only be used for ITIL’s definition of a CMDB but also to provide configuration parameters for automator packages. That way you can specify the specifics of your automations in ITRP.

Business case

Especially service forms add major capabilities to ITRP’s Self Service. Recently I released the Service forms blog post. There the automator provides a simple wizard and saves the customer entries in the request module and provides a couple of other automations like adding the person if the person can not be found in the people module and so on.


Advantages of that approach

There are several advantages for ITRP administrators:

  • Configure the behaviour of Service forms within ITRP
  • No coding necessary
  • Maximize the business value with one automator package

Real world examples

  • Structured surveys
  • ITRP wizard – step by step easy to use Request Fulfilment front end for customers
  • CI based Self Service form


Automator service forms can be configured for different purposes by using the ITRP CMDB. That way business benefits can be maximized in an easy way.


ITRP projects and Kanban


Project implementation teams and maintenance teams certainly benefit from agile methodologies because it mainly reduces confusion and offers transparency. The benefits of Kanban are:

  • transparency in the context of project progression
  • transparency in the context of pressing problems
  • faster task completion
  • lower resistance during adoption
  • faster non bureaucratic response to changes

Kanban itself is not a full project management method – it is more of an idea of how projects could be managed by the team itself.

IT people appreciate that they can respond to changes quickly, that they can easily iterate and that they select what to do, so it gives them more autonomy.

On the other hand, a flexible system like Kanban can make it difficult to focus and push a project to completion if not careful enough. There is less set in stone, and no process to make sure the project is continuing smoothly – so it easily happens that a project loses direction.

Combine traditional project management with agile

To have more control over projects it might be a good idea to combine traditional project management with agile.



That way the business or business representatives in IT control the input and output factors of the agile development and can make sure to not loosing direction.

IT people can work with their Kanban system and appreciate the flexibility.


Agile alone might not be enough. Traditional alone might not work either, because IT people work not at their best if too much control is enforced. So combining both, might be worth a try.







During our first automator steps we introduced a “JavaScript – like” language to script automation packages. This was a necessity because of our execution engine back then.

After a year of automator experience we decided to adapt a different by far more powerful execution engine and pure JavaScript in its version V2016.


What does it mean from a business perspective?

  • Every JavaScript developer can write automation scripts after a short introduction.
  • If you decide to cancel your automator subscription, you can simply take the automation scripts and use them in your own environment. Only small parts have to be added by your JavaScript developer.

What does it mean in technical terms?

JavaScript developers can make use of the following possibilities:

  •  Base language features
    -> Variable declaration with var, let, const
    -> if and else with {} Blocks
    -> let x={}; Blocks to create new data objects
    -> for, for of, break
    -> while, do.. while
    -> switch
    -> regex
    -> template Strings
    -> Block and line comments
    -> functions (named, anonymous, self calling, nested)
  • Base functions like
    -> isFinite, isNaN
    -> parseFloat, parseInt
    -> decodeURI, decodeURIComponent
    -> encodeURI, encodeURIComponent
  • Base objects like
    -> Math, Number, Date
    -> Infinity, NaN, undefined
    -> true, false
  • Standard Operators like
    -> Logical Operators (==, !=, <, >, <=, >=, ===, !==, ||, &&)
    -> Math. Operators (+, -, *, /, %)
    -> Ternary Operator (condition?then:else)
  • Default set of functions:
    -> stringify and parse – for JSON handling
    -> log, logError, logVerbose an logDebug
    -> date and moment – to create a Date and Moment object
    -> newMap and newSet() to create the Map and Set Objects
    -> setProperty and getProperty to access a property by its name
    -> isNull, isArray, checkNull
    -> uuid, atob,btoa, encodeHTML, decodeHTML
    -> formatdate, formatDateTime, formatNumber, …
  • HTTP, REST, GRAPH, MAIL, Proxy functions
    -> http functions that can be used e.g. for SLACK integration
    -> rest functions can be used e.g. for JIRA integration
    -> graph functions can be used for Office 365 & Sharepoint integrations
    -> proxy functions that can execute powershell scripts on premise
    -> In detail:
    -> http_get, http_post, http_put, http_patch, query_stringify
    -> rest_get, rest_post, rest_put, rest_patch
    -> graph_get, graph_post for office 365 access
    -> sendMail
    -> executeOnProxy
  • ITRP functions
    -> fetch, fetchAll, fetchFilter
    -> update, create, deleteItrp for Itrp Accounts
    -> addNote, addApprover, link, mergeAudit
    -> isUserTokenValidInAccount, hasUserTokenRoleInAccount
    -> exportPromise, importPromise, waitForPromise
  • Template Management
    -> templates now support the smart {{variable}} style
    -> templates allow ASP style development (<%=variable%> and <% /* code */ %>)
    -> templates can only access global package variables
    -> text in variables can be used as template now
    -> in detail:
    -> createTemplateTextMail, createTemplateHTMLMail, createTemplateText
    -> textFromTemplate, subjectFromTemplate,
    -> bodyFromTemplate, bodyFromTemplateText
    -> useContentAsTemplate
  • NOT implemented
    -) Use of classes, and therefore no use of the “new” keyword
    -) Asynchronos calls or use of functions – all is handled synchrone
    -) continue is not allowed in loops
    -) All elements that are not listed above


Every JavaScript developer is now able to develop automation packages within the automator framework. Workflow automation is now easier than ever.