Expand my Community achievements bar.

The Community Ideas review for H1 2025 is out now, see which ideas our Product team prioritized and let us know your thoughts.

Power BI and Workfront

Avatar

Level 7

Hi All,

I'm new to both Power BI and API calls (I've used the Custom API Call module in Fusion but nothing much beyond that), and I have a couple of questions for folks who have used both with Workfront.

I started experimenting with WF API calls in Power BI. After reading Rick's reply in this post, I was able to build a successful search query in Power BI Desktop (passing along the key name in the query and entering the actual key only in the credentials dialog box). This worked, and I was able to publish a chart I built from the query to the Power BI Service. However, I received an error when attempting to refresh the data directly from Power BI Service and discovered that there is no option for entering an API key there (it can only be entered from Desktop).

In WF's API Basics documentation it states "The preferred method of authentication is to pass a request header named SessionID containing the session token." I was able to build another query using sessionID authentication, and I was able to refresh it directly in Power BI Service without an error.

My question is this--will the sessionID throw a refresh error when it changes? I don't see a way (at least in Power BI Service) to change the sessionID for a published semantic model. The same WF documentation states "The API uses the same cookie-based authentication that is used by the web UI to the system. Where, if a client logs into Workfront using the web UI, any AJAX calls made from within the same browser uses the same authentication." Is this just explaining how the sessionID authentication works--i.e., my calls will no longer work/refresh once that sessionID expires?

Has anyone tried refreshing Power BI data using the Fusion PBI Refresh a Dataset module? I haven't yet created a Fusion connection to Power BI (I see that it's going to require approval from my company's IT department).

I can always refresh queries in Power BI Desktop and then republish, but I'm trying to determine if there's a way for refreshes to be initiated by others on my team (or automatically through Fusion).

I know there are also OAuth2 authentication possibilities, but that's beyond my current knowledge/skill-set (and would likely require our IT department for permission and development).

Just trying to get an idea of what other folks have been able to do. Thanks!

1 Reply

Avatar

Level 7

Hmmm... I submitted an access request to create a connection for the Power BI modules; I got a confirmation email after my submission, but the request seems to have gone into a black hole after that.

I was correct in assuming that my sessionID would expire (I think it took a day or two) and throw an error when attempting to refresh.

I was playing around today, and I created a parameter (housing the sessionID) that I used to replace the hard-coded sessionID in my M query.  I published a table/semantic model to Power BI Service and was able to refresh both there.  My first refresh was done using the sessionID I had gotten in Fusion using a WF Custom API Call module with a connection to my user profile.  I switched the Fusion module to a connection that uses a service account we created in WF in order to get a different sessionID.  I entered that into the parameter settings in the PBI Service, and I was able to perform a second successful refresh.

This looks pretty promising.  I'm thinking of creating a custom field where I can house the updated sessionID for the service account (maybe with a second field--check box, radio button, or dropdown--whose value can trigger a Fusion scenario to check for the current sessionID and update the first custom field with the new value).