Business Intelligence with Workday

As part of my current project at Georgetown University, we have a requirement to extract large volumes of data for business intelligence purposes from Workday.  We’ve been running Workday HCM for about 2 years and plan to go-live with Workday Financials this July.  Historically, the university has been largely an advocate of on-premise solutions – and Workday represents one of the first large steps we’ve taken to move ERP data “into the cloud”.


What does this mean for business intelligence?  Let’s dive a bit deeper.

Provided that Workday is a SaaS (software-as-a-service) vendor, a direct on-premise database connection isn’t an option.  That being said, we had to explore options to get data of out of the Workday platform – and to do it quickly and efficiently.

Below are a few data extraction methods which we considered:

  1. Utilize Workday Studio and leverage the web services-based Workday API
  2. Join required Workday objects in a custom report and expose them as a RaaS (report-as-a-service)
  3. Utilize Informatica Cloud

We quickly ruled out option #3.  We enjoy using Informatica and thought this might be a quick win.  Unfortunately, when aligning the data options available in Informatica Cloud with our requirements – we had several gaps (i.e. missing data, data was not defined down to the appropriate grain, etc).  Informatica offered to partner with us to expand capabilities (much appreciated), but unfortunately our timelines did not permit this to occur for our current project.  We continue to use Informatica PowerCenter as our best-in-class data integration tool.


So – which option was better #1 (API) or #2 (RaaS)?  This question was kicked around for quite some time.  After much deliberation, we decided on option #2 (RaaS).  You’re probably already asking why.  Isn’t the API faster?  Below were the results of our analysis:

  1. The Workday API was hitting a governor limit for our tenant.  This may have been a specific configuration setting for our tenant but it was prohibitive to pull large amounts of data out of the API.  The API was timing out for certain data pulls at the 2 hour mark.  It also required an API developer to manage.  Workday has done a nice job of documenting their API.  We found this to be extremely helpful along the way.  I’m sure we’ll have a future use for the API.
  2. Custom Reports allowed us the flexibility to join multiple objects that met our requirements.  The API calls were limited to what is publicly available in those calls.  We have a bit more flexibility to combine objects which support our requirements in Custom Reports.
  3. Custom Reports are built using the Workday GUI.  This is an added benefit at it did not require a developer to maintain the API calls.  We can have a functional resource maintain the custom reports which are used for data extraction.
  4. Custom Reports (so far) have been able to support the large data extraction that we require – without timing out.  An example is that we have been able to extract about 200K bi-weekly payroll records in about 12 minutes.  We will use this Custom Report-delivered-by-EIB mechanism to support incremental loads to our Finance and HCM data warehouses.


Using Workday’s Enterprise Interface Builder (EIB), we have been able to schedule the Custom Reports and have them output to a text file format which is conducive to load into our business intelligence platform.  The Workday Enterprise Interface Builder (EIB) tool provides an easy-to-use graphical and guided interface to define inbound and outbound integrations without requiring any programming. Used by the majority of Workday customers, the EIB can be used by both business and IT users to address a variety of integration needs.


Our project is still underway.  I’ll write another post with more details as our project moves further toward completion.   If you have any thoughts or suggestions regarding Workday data extraction / integration, please feel free to comment.  Suggestions and comments are welcome!

Enhance the way you do business in the cloud with Intuit’s Quickbase


My recent experiences with Intuit’s QuickBase product led me to write this article.  I found it to be a great tool for project management – and beyond my needs, several departments adopted it as a means to build custom, cloud-based applications.  Here are a few quotes from my former team.  I’ve also reviewed the application on TrustRadius for any of you that may be looking to purchase.

Quickbase allowed our professional services team to fine tune our delivery processes, reduce delivery time, and ultimately improve our margins.

We felt more connected as a team due to the workflow and notification capabilities.  We felt in-sync!

Quickbase allowed us to quickly adapt and keep pace with our ever-changing business.

I felt more empowered to write my own reports and see data the way I needed to in order to run my business unit.

The flexibility of Quickbase’s platform allows for almost limitless use for the product.  If you are considering a similar tool (i.e. SalesForce), here are a few features that we enjoyed.  Disclaimer: I do not get paid in any way by Intuit.

  1. Get started quickly with best practice templates.  My favorite?  The Project Management template.
    • QuickBase provides numerous out-of-the-box templates.  On many occasions, we thought up a concept and then realized that Intuit already had a template available that solved 75-80% of our needs.  We were then able to quickly customize this template to build our “custom” application.  It was simple to add fields, modify forms, etc.
  2. Easy-to-use reports, charts, and graphs.
    • Not only is it easy to setup reports around your data, it is also easy to view and modify the data directly from your report.  The QuickBase platform allows you to drill into the data from the reporting elements.  You can then use ‘Grid Edit’ mode in many cases to directly edit the data that you’ve drilled into.  This assumes that you have the appropriate access to that data, of course.

  3. Control access easily through customizable roles.
    • Access and security is sometimes an afterthought.  Quickbase allows you to setup custom roles and then secure that data that resides in your application tables down to the data element.  You can choose the basic functions of view, add, modify, delete.  This flexibility allows you to setup complex security in your application to reflect the unique needs of your business community.  You can also nest roles for individuals that may be in more than one.

  4. Easily add custom fields to support your business need.  There are a variety of data types which you can select.
    • Be it a custom application, or the customization of an existing QuickBase template, it is tremendously helpful to be able to add custom fields to your application.  This is done easily by the ‘Add New Fields’ feature.  Intuit has made it really easy by predefining a number of logical data types.  You can even use their scripting language to create a derived or calculated field.  Personally, I’ve found that calculated fields come in extreme handy.  In terms of project management, I’ve used calculated fields to determine the variance between two dates.   This helped me to analyze how long a certain activity was taking to complete across several projects.

  5. Subscriptions and notifications are a powerful way to keep your users engaged and target communication to them at the right time.
    • QuickBase has an excellent built-in feature to handle notifications.  These are helpful when setting up complex workflows.  They are also very nice for prompting users to take action on particular pieces of data when it has changed.  We were able to reduce our delivery timeframes by notifying different functional groups when activities were completed ahead of schedule.  This had a direct impact on our business and helped us to achieve better margins.

Don’t take my word for it.  Quickbase offers a free 30-day trial (no credit card data required).  Sign-up with your email address and let me know what you think!  In the trial, you’ll have the ability to use all of the features above and get a look at the available templates.  If you’re looking to build a pilot ‘business case’ for your boss – this is the spot!

Management via Email? Think Again!

Even with the proliferation of online tools, SaaS software providers, and free Google apps, I constantly see teams that attempt to manage projects via email.  When joining a team or project midstream, below are some of the questions that I often ask:

  • How many requests have been made for certain types of data?  Are you seeing any patterns?
  • How many requests are you receiving per day, per week, per month, or per quarter?
  • On average, how long does it take the team to respond to these requests?  Do you have an SLA and are you meeting it?
  • How long does it take the end-users to test once the change has been loaded in the UAT environment?
  • How many requests have we seen that are really “training issues” (i.e. where the report or data already exists, but the user was unaware)?
  • Are we seeing more custom report-related requests, or requests to modify the underlying data model?

Are you able to answer these questions from email alone?  The answer is maybe – but it will take a long time to sift through your emails and arrive at the appropriate answer.

Why not track this information in a system and manage these types of statistics daily via a dashboard?  Oh – and by the way – if you setup your tracking system in the right way, it can become intelligent.  You’re probably wondering what I mean by that statement.  Well, let’s look at an example:

  1. Request is made for a new custom report (System notifies the team that a new request has been received)
  2. Team member is assigned to “own” the creation of this new report (System notifies team member which is assigned)
  3. Team member works with the end-user to create a functional requirements document (System has the ability to store this document inline with the original request)
  4. Team member creates the report and writes an accompanying technical specification (System has the ability to store the technical document inline with the original request and functional requirements document)
  5. Team member places report in the UAT environment (System notifies the end-user that the report is available in UAT and provides a link to accept or deny)
  6. Report is approved and placed into production environment (System notifies the user community that the report is available)

This is a very basic example, but this is what I mean by having an “intelligent” system.  Your system should be designed not only to capture the right pieces of data for your project, but also the associated workflow.  Many systems have email notification and basic reporting functions built-in as well.  Throughout my career, I have used many systems to manage a process through technology.  Depending on your budget and how quickly you need the environment available, you may prefer different vendors.  Here are a few of my favorites with a bit of my personal analysis:

PM Tool Comparison

PM Tool Comparison

If you are looking for a recommended tool, I will provide the following analysis based upon my own experience.  You should always carefully consider your requirements and procure the right tool for your organization.

Robert’s Quick Recommendations:

  • Intuit Quickbase:  I recommend Quickbase for projects that require a solution to be in place quickly – and one that requires a great deal of flexibility around workflow and notification.  I have used Quickbase very successfully to manage three separate business intelligence projects.  It is a great tool that is flexible and easy to setup.  It also doesn’t require programmers like a sophisticated application on the platform might.  My favorite Quickbase feature:  The ability to control the data model and write your own Excel-like functions.  Built-in report features are nice, too!  Please see my previous post, “Technology isn’t everything, there is PROCESS too!” for additional screen shots of a pre-configured instance of Quickbase.

Function in Intuit Quickbase

Standard Report in Intuit Quickbase

  • Basecamp:  I recommend Basecamp for projects that require a high degree of collaboration.  I’ve used Basecamp successfully to manage iterative web design projects.  It’s a great tool to keep communication centrally located, store documents for the team to share, and to track critical milestones.  My favorite Basecamp feature:  the mobile app!  I like the “latest updates” feature, too.
Basecamp iPhone App

Basecamp iPhone App

Basecamp Latest Updates Feature

Basecamp Latest Updates Feature

  • Microsoft Sharepoint 2013:  I recommend Microsoft Sharepoint 2013 for more mature shops.  I have used Sharepoint successfully to manage the development of software projects.  Combined with the functionality of Microsoft’s Team Foundation Server, Sharepoint can become an invaluable tool.  If you are working with a business intelligence project, Sharepoint also has components such as PerformancePoint and PowerView that may interest your data guys.   Sharepoint requires the right hardware and technical expertise to setup and maintain, but it is feature rich and integrates seamlessly with the Office suite.  Microsoft now offers Sharepoint Online if you’d like to offload the technical headache and put it in the cloud.   My favorite feature of Sharepoint:  As I BI guy, I love PowerView and PowerPivot.  Very cool!


  • Smartsheet:  I recommend Smartsheet as a replacement for Microsoft Project/Project Server in start-up shops.  Smartsheet is an excellent collaborative project management tool.  It’s not fancy, but it is an effective way to track work, collaborate, and ensure that critical projects stay on time and on budget.  My favorite Smartsheet feature:  The ability to setup automatic alerts when items in the project plan are changed.
Smartsheet Alerts

Smartsheet Alerts