Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

Engine Works

Under the hood of Alteryx: tips, tricks and how-tos.
RobertZiegl
8 - Asteroid

Using the Alteryx License Portal API can simplify many typical reporting requirements regarding licenses and governance and can support understanding the usage of Alteryx in larger organizations better.

 

License API.png

 

Alteryx License API Tool

 

Combining the exports of the License Portal can be challenging and time-consuming when you have multiple accounts, multiple licenses or license types, or the need to report license usage across the company.

 

We automated the download of the license information to have an on-demand app to generate the latest license statistics for the over 200+ users at the company. Before this solution, the reporting was challenging due to the multiple accounts and various licenses with different expiring dates.

 

The Alteryx Marketplace offers a download of the tool License API Tool here.

 

image001.png

 

The tool enables us to get relevant information for the account, licenses, and machines. Additionally, it also allows users to push information towards the license portal.

 

Download relevant information on the account

 

image002.png

 

At first, we are taking the API keys from the License Portal to authenticate to the API and configure the tools – the text input contains fields like:

 

image003.png

 

The data can then be used in all License API Tools in the workflow by using the option to “Use Values from Fields.” As the first step, the account information is pulled, which returns some meta information and the account ID. The account ID is then used in the following API calls. As the account ID is duplicated in the output, we use the unique tool to get only the unique values for the account ID to avoid duplicated requests afterward.

 

Secondly, with the knowledge of the account IDs, the endpoint licenses can be used to pull the licenses for each account. It returns the different Alteryx products, the available seats, total seats, and the start and expiration date. By filtering on the active licenses (current date needs to be within the start and expiration date) and by summarizing the licenses by product, the available seats across all accounts can be calculated.   

 

This allows us to generate a license statistic across all accounts:

 

image005.png

Breakdown by product type (seat information replaced for privacy)

 

The same can also be shown for each license key, product, and account.

 

Thirdly, we collect the machine information for all accounts, returning all users, devices, products used, and additional metadata for the users. The list also includes the already expired licenses and keys, so again, by filtering on the active licenses, an easy overview can be created.

 

Utilizing the latest modify timestamp of the user gives an indication of when the user has recently worked with Alteryx. For us, we are clustering our user group by “has used Alteryx within the last 7 days,” “within the last 30 days,” and others. With this, we already have a rough indication of the usage of Alteryx across the company.

 

image006.png

 

Additionally, the machine information allows us to check whether a user uses multiple devices. For us, this is quite a common behavior as users do not actively deactivate their Alteryx when changing the device. With this information, we are able to clean up old and non-used devices.

 

image007.png

 

Combining the machine info with internal data

 

To really understand the tool usage across the organization, we are combining our internal user metadata with the device information of the license tool. With this, we can display the number of users in each department, each office, and region and thus give insights into the distribution of the tool at the company. As the Alteryx Intelligence Add On is also listed in the output of the machine info, we can break this down to the departments utilizing the machine learning or text mining features of Alteryx.

 

image008.png

Breakdown by department (legend removed for privacy)

 

One challenge in this process was that to make this work, the email address or the name of the user needed to be connected to the internal data. However, the data entered by the user in the registration form does not have any validation, so the email address or even the name sometimes does not match the internal data.

 

Overview and outlook

 

The License API tool provided by Alteryx in the Alteryx marketplace simplifies access to the API and makes it straightforward to pull data out of the license portal. With this, simple statistics on the licenses can be generated. Bringing in internal data to add further user dimensions, like the department, enables a great overview of the usage of Alteryx in the company.

 

In the future, we would also like to explore more of the user statistics, like the frequency of the usage of Alteryx in the company.

 

Comments
caltang
17 - Castor
17 - Castor

Do you have a sample of the workflow without sensitive information? The setup is interesting, and I think it will benefit from a community wide pool of ideas / upgrades. I am also keen t know the data better - for example, the last used is interesting. Does the data differ with Telemetry data in any sense?

esoden
8 - Asteroid

Great post! This API is very valuable!

 

We've used the API extensively inside of Workflow Admin Manager (WAM), which is available from Alteryx. We've used it to create dozens of reports and also built a GUI to allow Alteryx admins an easier way to manage licenses, including activations, deactivations, changing roles, etc. It's also been integrated with the data in Mongo and CMT. Combining this API with the Gallery API and Mongo allows some very powerful management that's not in any single interface natively. 

 

Props to Alteryx for creating APIs we can use to enhance our user experience!