tl;dr: Does your company use Workday? Ever wish you could see your company’s entire org chart in a single view? You can use OpenTree to fill this gap.

Background

We use Workday at Shutterstock and it serves as one of the key sources of employee data within our company. Though employees are able to view their immediate reporting hierarchies (i.e. to whom they report and who, if any, reports into them) and can navigate up and down the hierarchy one level at a time, there is no way to visualize their entire organization in a single, all-inclusive view.

We, however, wanted a tool that allowed us to do exactly that—to view the entire company in a single glance while also being able to drill down as needed and to filter based on location, title and/or department. At the same time, we didn’t want to fuss with a store of employee data that had to be managed independently of our employee data source, Workday.

Fortunately, Workday provides the ability to define API endpoints that return preconfigured reports in various formats, so we’re able to utilize that functionality to extract the data we need for purposes of building our own org chart.

OpenTree Project

Last week, we released an open source, Java-based project called OpenTree, derived from an internal application we developed, and currently use, at Shutterstock, that leverages a Workday reporting endpoint to generate an organizational chart from flat, CSV data. Provided the necessary data in a Workday report to link rows (e.g. parent/manager id), OpenTree handles the construction of the hierarchy and displays it on a web front-end.

This is the sample data set provided with the project, which defines reporting relationships through ID mappings:

EmployeeID Name ManagerID ManagerName Location Title WorkEmail Type CostCenter CostCenterHierarchy
000001 John Doe 000001 John Doe New York City Chief Executive Officer jdoe@superbigmegacorp.com Employee Office of the CEO Administration
000002 Zack Jones 000001 John Doe New York City Chief Technology Officer zjones@superbigmegacorp.com Employee Office of the CEO Engineering
000003 Charles Montgomery Burns 000001 John Doe New York City Chief Financial Officer cburns@superbigmegacorp.com Employee Office of the CEO Administration
000004 Valeria Dumont 000001 John Doe New York City Chief Operating Officer vdumont@superbigmegacorp.com Employee Office of the CEO Administration
000005 Chris Fraser 000001 John Doe New York City General Counsel cfraser@superbigmegacorp.com Employee Office of the CEO Administration
000006 Cleo Gubbins 000002 Zack Jones New York City VP Engineering cgubbins@superbigmegacorp.com Employee Office of the CTO Engineering
000007 Bobby Alexrod 000002 Zack Jones New York City VP Engineering baxelrod@superbigmegacorp.com Employee Office of the CTO Engineering
000008 Homer Compson 000003 Charles Montgomery Burns New York City VP Finance hcompson@superbigmegacorp.com Employee Office of the CFO Finance
000009 Haruki Garcia 000003 Charles Montgomery Burns New York City VP Sales hgarcia@superbigmegacorp.com Employee Office of the CFO Sales
000010 Gabriel Yamakaza 000004 Valeria Dumont New York City VP Product gyamakaza@superbigmegacorp.com Employee Office of the COO Product
000011 Calista Krishnamurthy 000004 Valeria Dumont New York City VP Product ckrishnamurthy@superbigmegacorp.com Employee Office of the COO Product
000012 Maureen Montevideo 000005 Chris Fraser New York City Assistant General Counsel mmontevideo@superbigmegacorp.com Employee Office of the General Counsel Legal
000013 Jackson Berini 000005 Chris Fraser New York City Senior Counsel jberini@superbigmegacorp.com Employee Office of the General Counsel Legal
000014 William Gatos 000006 Cleo Gubbins New York City Senior Director, Engineering wgatos@superbigmegacorp.com Employee Front-End Engineering Leadership Engineering
000015 Tracey Gastelum 000006 Cleo Gubbins New York City Senior Director, Engineering tgastelum@superbigmegacorp.com Employee Front-End Engineering Leadership Engineering
000016 Yingshao Hong 000007 Bobby Axelrod New York City Senior Director, Engineering yhong@superbigmegacorp.com Employee Infrastructure Engineering Leadership Engineering
000017 Morgan Lydstrom 000007 Bobby Axelrod New York City Senior Director, Engineering mlydstrom@superbigmegacorp.com Employee Infrastructure Engineering Leadership Engineering
C00001 Jeremy Hoosegow 000014 William Gatos Remote Software Engineer II jhoosegow@superbigmegacorp.com Contingent Front-End Engineering Engineering
000018 Shaula Elle 000014 William Gatos New York City Software Engineer II selle@superbigmegacorp.com Employee Front-End Engineering Engineering
C00002 Margaret Rosen 000015 Tracey Gastelum Remote Software Engineer III mrosen@superbigmegacorp.com Contingent Front-End Engineering Engineering
000019 Wilford Hopkins 000015 Tracey Gastelum New York City Principal Software Engineer whopkins@superbigmegacorp.com Employee Front-End Engineering Engineering
C00003 Arturo Li 000016 Yingshao Hong New York City Infrastructure Engineer II ali@superbigmegacorp.com Contingent Infrastructure Engineering Engineering
000020 Amanda Higginbotham 000016 Yingshao Hong New York City Infrastructure Engineer III ahigginbotham@superbigmegacorp.com Employee Infrastructure Engineering Engineering
C00004 Bruce Waymo 000017 Morgan Lydstrom Remote Cloud Platform Engineer bwaymo@superbigmegacorp.com Contingent Infrastructure Engineering Engineering
000021 Danforth Hamptons 000017 Morgan Lydstrom New York City Infrastructure Architect dhamptons@superbigmegacorp.com Employee Infrastructure Engineering Engineering

NB: each employee must be unique (e.g. there can only be one employee identified by a given ID) for the data structure to be properly constructed. In other words, matrix (non-hierarchical) reporting lines are not currently supported.

The following is the output:

OpenTree front-end


Feel free to report issues, contribute enhancements to the project or let us know in the comments below how you’re using this in the wild.