Description
Key Learnings
- Learn how to create and manage Data Exchanges and initiate data exchange using Autodesk Docs and Power Automate.
- Learn how to implement workflows in Revit for publishing design data to the cloud.
- Learn about building automated, scheduled, or button workflows in Power Automate to exchange design data.
- Learn how to use design data in business applications.
Speakers_few
- Nauman MysorewalaI am an Autodesk Expert Elite & a Services Marketplace-approved provider with more than 25 years of experience with the Autodesk® family of products including 3ds Max®, AutoCAD®, AutoCAD Architecture, Revit®, BIM 360/Collaborate Pro® & Navisworks®. I am a Registered Architect, Revit Architecture and AutoCAD Certified Professional, and LEED® AP. I have presented at AU since 2008 and numerous Autodesk Build your IQ webinars for AutoCAD and Revit in collaboration with Autodesk. I love being an Educator and have taught at University of Cincinnati & Mount St. Joseph University teaching design technology applications. I have a wealth of experience troubleshooting complex architectural, computer, connectivity, and software issues. I enjoy discovering new products and technologies and implementing them in the built environment. My latest passion is gardening and have been experimenting with propagating and grafting fruit trees. https://servicesmarketplace.autodesk.com/provider/public/bimologist Links to class material that I have co-authored for Autodesk University in 2017, 2019 and the award-winning Superb Guide to Easy Revit. Dr. Revit’s Ultimate Diet and Exercise Guide to Keeping Your Revit Models Ripped!! Link to latest Handout, data-set and presentation http://bit.ly/DrRevitAU2019 It covers topics of Revit file corruption, recovery, and guidelines to prevent issues in future. BLD125158 - Code Blue Dr Revit - How to Resuscitate Corrupt Revit Models Presentation https://autode.sk/2ZTNM4R Watch it at au.autodesk.com The Superb Guide to Easy Revit https://autode.sk/32qGdDT Sneak Peek for “Superb Guide to Easy Revit" - Autodesk Community https://autode.sk/3lo6QQX
- RINA SAHAYRina Sahay is an Autodesk Expert Elite Team member, a Revit Certified Professional, and a Revit and AutoCAD Subject Matter Expert. As the Architectural BIM Manager at Fishbeck, she is responsible for creating and maintaining BIM standards; project support and troubleshooting; training and onboarding; and production of construction documents for a variety of entertainment, retail and commercial projects. She has previously taught Revit and Architecture at Kalamazoo Valley Community College been a judge at Skills USA State Architectural Drafting competitions; and served on the Kent Career Technical Center Advisory Board. She champions tools for digital delivery and communicates her passion at venues like Autodesk University; is a BIM Hero and presenter at BIM Coordinators Summit. She is passionate about the German Shepherd Dog breed and is currently owned by her two pups Renzo and Ragnar.
NAUMAN MYSOREWALA: Hello. Thank you so much for joining me on the unleash BIM project data with Revit and Microsoft Power Automate. My name is Nauman Mysorewala. I'm a BIM director at JGM in Los Angeles, as well as I do some tech support for Kellar Pacific as needed. And my co-presenter is Rina Sahay. I'm going to hand it over to her for a second, and then, hopefully, she'll be able to talk about--
Wait. Hold on. She is actually in Ireland presenting at a BIM coordinators conference, so you are going to be getting a ride with me today, but Rina has been very essential in getting this together as well and our other presentation, which is the superb guide to Revit.
I am an Autodesk expert elite, and I have about 25 years of experience with Autodesk family of products. Of course, my bread and butter, I guess I should say, is Revit these days and the Autodesk Construction Cloud.
I have always loved to think around with the various things, so when I heard about this Power Automate with Revit, I was just excited to go through that and bringing that knowledge to you guys, what I learned. And my personal passion now is grafting fruit trees and propagating them. So I have multiple trees that have multiple types, about 10 varieties of pear on a single tree. So I've just been experimenting with that. And Rina is also an Autodesk expert elite, and I will move on.
So what our goals are for today, well, we going to learn about the prerequisites, how and where you are going to use Data Exchanges and Power Automate, what they are exactly, understanding of what they do within the ecosphere of Autodesk Construction Cloud or the Forge data system and how you can access through that, then we'll learn about Revit and how you can publish the design data to the cloud and create these Data Exchanges. And next, we'll learn about Power Automate. That's been my favorite tool.
It had tremendously reduced my headaches when I have to approve users in the past. They fill out the form and everything else gets done by Power Automate for me to send messages and all of those. Then we'll go over briefly just to give you some examples. I'm not going to dwell on the Power BI and other tools itself or analyze, but we will connect it to a database. In this case, it'll be Excel.
So the summary of the class, I've just mentioned that already. And just to make sure we have the expectation set, I'm going to cover two main topics, understanding and creating Data Exchanges from Revit as well and extracting the information from those Data Exchanges using Microsoft Power Automate.
I will not go into detail how to utilize that data in Power BI or other application. I'll just give you a quick demo of it, but there are many other classes that deal with Power BI. I wanted to focus on those two items, is Data Exchanges and unleashing that data through Microsoft Power Automate from Revit.
The other part of it is that my Microsoft Power Automate connector for Autodesk for Data Exchanges and Revit Data Exchanges Publisher is in preview and beta. So there will be some kinks during this presentation, so please bear with me on those. I will have some workarounds to go through those as well. I will teach you how to get around some of the errors that I have been encountering.
So let's talk about what it's needed and the prerequisites of it. So what is a Data Exchange? Data Exchange basically, what Autodesk has done is the shared subset of model. So you have seen shared views in the past. Basically, it's leveraging the same similar technology. What it does is basically you have a 3D view and you basically show certain elements that you want to share with somebody else. In this case, we are doing it for leveraging the data and extracting the data.
So I have broken it down into parts and pieces that makes it easier, but what that does for me is that from Revit, I publish it to the cloud, and from the cloud I create the Data Exchanges, and the Data Exchanges-- just if you open up a Revit file in Autodesk cloud model browser, you get all the data as well.
This Data Exchange, it just gives a subset of it. Not only that you can do it from Revit, but you can also do it from CAD as well. I think 3D Studio is hopefully going to be doing that.
You create that Data Exchange that's hosted up in the cloud, and then you can use the data in Power Automate, as well as that data can be sent to Inventor as well or other third-party products too. So the sky's the limit on this one because that data can be-- both the graphical and the nongraphical data can be leveraged very quickly.
So what that makes is that I talk about the unleashing that data itself. So we can publish, as I mentioned, from Revit, Navisworks, even AutoCAD with those plug-ins, and then there is this collaborative environment where you just share.
So we are also having issues where we don't want to send the whole Revit model. So here you can send just a model that they can use to create off of it but not necessarily share all your sensitive information to. And I'll go over all the information as to how it works.
In general, basically, you have these Autodesk apps, and then you have the Data Exchanges. That Data Exchange goes through the cloud and the third party apps or Microsoft Power Automate, even Autodesk apps like Inventor, they all basically talk to the cloud through the Data Exchange and import the data out of it.
Let's look at how it works. So I'll start with Revit. I just shared a subset of this stairs. I can take that into Inventor. I can take it into basically Power Automate or other tools as well, but once it reaches, I can connect to it and utilize that data and send it further down into Teams or Excel, Power BI. There are many other database tools, or even many other connectors for your custom applications that you can use.
However, as I said, we will be concentrating on the Revit and the Microsoft Power Automate ecosphere. So what do we need? I'll go over in detail on all these, but the main items that we'd really need to think about and to get started, what are the basics here and the prerequisites, I should say, licenses of different tools.
We need to make sure that the permissions are correct. We need the data from Revit actually, which is a 3D model mostly, and a Data Exchange itself. Then we need to connect with Power Automate as well as the Data Exchanges through Forge basically. And then we need a place to store this data.
So one of the storage would be Excel, SQL, OneDrive, cloud. Many, many other tools that you can use to store that data and send it out. However, at the end of the day, what we are also doing it is those outputs, we can notify if something on a Slack or Teams or through email saying, oh, this data has been created or there is an issue with this data, please fix this, or you can use it to analyze it in Power BI or Tableau or other BI analysis tools as well.
So licenses, first and foremost, you need Revit '23 onwards. It doesn't work prior to that, so you need Revit 2023. license or AEC Collection license. You also need the BIM Collaborate Pro/-- you need that for synchronizing the data from Revit onto the cloud.
From Microsoft, you need the Power Automate premium license. I think it's about $15 per user. My recommendation is to use a service account instead of a personal account. That way, whichever schemes you are creating, when you either leave the company, those do not get stopped. So a service account rather than a personal account is always better.
You also will need access to Office 365 if you are using the Excel tools and other licenses depending on where you want to use the data itself, but the key here also is this premium Microsoft Power Automate.
So permissions, for setup, you need account admin access in Autodesk Construction Cloud. Next is basically the Power Automate account connection. You need to have View plus download access for the Data Exchange to read the Data Exchange from Power Automate. So if you are using a service account, make sure that service account is added to the project as a member and it has view and download permissions.
You do need the Revit Edit the permission so that you can publish the model, and those Data Exchanges update as it basically evolves. So those are the permissions that you need.
So the data, so where does the data come from? So the data comes from Revit '23 onwards from a 3D view. So in our case, I have set up these 3D views with the naming convention like a DE so I know what these are exactly. I will also need BIM 360-- sorry-- BIM Collaborate Pro. I apologize. Too many changes in the system here.
Autodesk Construction Cloud, so here is the caveat. Before we go there, to be able to host that project, that project must be a Autodesk Construction Cloud project, not BIM 360. If it is a BIM 360 cloud, it will not work.
The Data Exchanges do not work with that system, the older system. You'll need the new unified system, which is Autodesk Construction Cloud. And make sure that these views are published through the publish settings. And the reason why you want that is if there are updates, when you synchronize and publish the model, they automatically update.
So once you synchronize and publish, basically you have it in the cloud itself. You open up the 3D model, look at the sheets and views. That's why this publishing is necessary. And if it is a ACC project in the Docs files area-- again, as I mentioned, not BIM 360-- you select the 3D view and create a Data Exchange online.
They recently have a open beta program for the Data Exchange, so you can create this Data Exchange directly from Revit, but I would also recommend that the view, you have it set up for publishing. You can also update the Data Exchange through the other plugin as well, then basically, that goes into the cloud as a Data Exchange and then to Power Automate.
So what's the connections needed? So install Power Automate connector. That's what you need to do. That's why you needed that account admin permission, whoever is going to ask your account admin, to install that under apps and install the Power Automate connector in your project. Or actually, it's for the whole tenant, as a matter of fact.
So you do that, and then what you need to do is also, in Power Automate, you will need the Autodesk Forge Data Exchange Connector itself. I we'll go over in detail. You need the connections, which are basically your signed in account.
So you need that Data Exchange account signed in from Autodesk account, as well as you have these Excel or wherever other third-party items-- other tools you are using for this data. You will need to do that.
So what else-- then we need to make sure that we have a connection through the Power Automate system, and that's where you use these triggers as well as actions that are specifically developed for this, accessing the Data Exchanges.
So what do we get out of this Data Exchange, so the storage? So storage by default, what comes out of it is JSON file. And it's not one JSON file. It's pages and pages of it. I'll get to that in a minute, but there is a lot of information coming, so both metadata mostly for Power Automate. So that's the only thing we can handle it in Power Automate right now.
So what that does is the Data Exchange, through the connector, sends a JSON file into Power Automate, and then Power Automate connect the actions that Autodesk has provided to extract this information and put it in a meaningful format, let's say you want to send it to an Excel sheet or a CSV file, onto OneDrive.
So outputs, well, there could be many, many outputs, but the outputs, you can utilize it for analysis like the Power BI. Thanks, Philip, for providing me this slide. But it gives you information directly from your Revit model into the Power BI by pushing it, and then you can even push a update through that even to the system.
So saying that if, oh, the Data Exchange updated, you updated the data in your storage, then you can trigger Power BI to refresh the data and utilize it further.
So data prep now, what do you need to do to get this data working and how we go about doing that. So what we need to do is basically-- sorry-- Revit is launching. So model prep in Revit. Set up a 3D view with only the systems that you want to export.
In this case, I would try to limit-- don't send the whole model as one Data Exchange. That will take a long time for the system to process. That's why I broke it down into Core & Shell, Interiors. I can just even do Doors, Windows, depending on what the need is, or Parking Site stuff.
Right now, I just use my work sets to break it up for the time being, but I'm just sending out these 3D views, and I create this Publish Settings. So under Public Settings, I create the Select Set, and then basically select these 3D views so they update in the future as well.
So how do we create the Data Exchange? There are two ways I mentioned before. One is basically through the Data Exchange Add-in, which is basically downloaded through the beta.autodesk.com.
I would highly recommend you sign up for beta. Actually, there is a Revit preview beta that you can sign up for as well as AutoCAD community council and Inventor. All have where you can look at and provide your feedback to Autodesk.
So one of the item is this, Data Exchange Revit Connector Public Beta, which means you don't have to have any special permission or you have to beg and plead anybody to get that. As soon as you log into your account on beta.autodesk.com, this is called open opportunities, and you can access that.
Basically, switch to a 3D view setup, which is already set up for Data Exchange. You have to switch to a 3D view. Otherwise-- of course, I was banging my head why doesn't work. And the thing was is that make sure the 3D view drawing space is active, not even project browser is active.
Launch the Data Exchange Add-in from Revit, and then basically what you do is you select-- it automatically will pull up your project here. It takes a little bit to pull up depending on the amount of projects you have, and then this project file is associated with this. It will pull up that project automatically, and what you have to do is just click on Create Data Exchange.
Once you do that, you have to select where you want to save the Data Exchange. My recommendation is create a separate folder for Data Exchanges. That way you can monitor if there is a new Data Exchange created, or there is modifications or update to those Data Exchanges. You can leverage that, and rather than putting it all over the place, it's highly recommend that you create a data exchange folder.
Then basically you can say, you have the current view. You can select other views. If you select another view, you will have to rename this. It doesn't work like the web browser does, where if you change the view, it will update the name. Then all you have to do is click Create Data Exchange. And cross your fingers, and hopefully it works.
Just before the class today, it wasn't. Actually for me, it was kept airing out, so I basically send a feedback to the Autodesk team and say, hey, hey, I have a class and you know-- so hence that's why I did it this way.
If you are to look at creating a Data Exchange, the next way was to do it from ACC Doc files, so Docs Files folder. Switch to Docs then click the files tool. So Docs, files. You can do it through Build too actually as a matter of fact. Once you open this file-- this is my architecture file-- click on the model, and then look at open-- so this is the icon for sheets and views.
Once you have that, you'll need to click on the three ellipses next to the view that you want to create a Data Exchange from. This way, you don't have-- as soon as somebody updates the model, somebody else and the team can also create these Data Exchanges.
It doesn't have to be the person that is running the Revit, as long as they publish the models or publish the 3D views for Data Exchanges. Then basically what you have to do is create the Data Exchange, and you have to specify the location.
So the location is, as I said, pick a folder and the name. I prefer to keep the name the same as the view that I have, and that just helps me keep track of things. Otherwise, it just gets-- it doesn't work-- trying to figure out, OK, which view is what? So that's why I try to keep it the same name. Just so quickly take a look at how this works online, which, as I said, Files under Docs Files, and I'll go to the Work in Progress.
I can switch to MFP model or I can do the structural model, and open this up, and I look at the 3D view. Next, I will click on the Sheets and Views. So next, I have these foundation, so I'll create a Data Exchange right here. Saved usually by defaults to the same folder as the project file is.
I will pick this folder called Data Exchange and select that, and create Data Exchange. So Data Exchange was created into the system. So what did that do? Nothing for me yet, but if I look at the Data Exchange, notice that it is processing right now, but let's look at some other ones that have already processed.
So let me look at the interior one. If you notice that-- oh, this is up to version 6 because I've been synchronizing and things have been updating. It only updates if there has been an instance.
Currently, if you change instance parameters or add things or move things, it will push out the update and recreate that Data Exchange. If you change type properties only, it will not activate that change, the current limitations what they have for the tool basically.
So next, this basically has all the details. It looks like your model has the data as well here just as a browser. I'll just quit that and switch back to my project. Actually, let's look at the structure one, whether it has processed.
So this one got processed right now as well, and I'm hoping that I get a notification. I didn't. That's the bug part that I was talking about. Sometimes, you have to babysit the system. Otherwise, I would have gotten a notification here automatically. I'll go over that a bit later.
So it's pretty fast for smaller data objects basically. So let's switch back to the presentation. Let's see what else. What else? So yeah, just pick the folder, create the exchange I just showed you, and then--
So diagnostics, this is the Forge example on GitHub. I have the QR code here. It'll be in the handout as well, but Denis Grigor, back from Autodesk helped me out a lot with this. Because I was having a hard time getting data out into the Power Automate, and he walked me through that process of creating this tool--
They have created the tool, which is called the Data Exchange Explorer. So I can check what properties are coming out of the Data Exchange as well. This is the button right there, which is, you can analyze the Data Exchange.
It shows you-- these are the naming conventions that they use for the different types of groups design, like Rooms assets. Basically, these are all assets, instance-based assets, geometry assets. So can have multiple geometries in it, different rendering tools in it.
I don't know what binary is for. The other next part is basically you downloading these assets and relationships so I can understand how to extract the data. And if I want to extract certain things, I can easily do that here.
So one of them is this Rooms_ DR OFFICE. You can see that the name where it's coming from, it's at autodeskdesigncomponents.base. So this helped me understand and craft my data extraction as well.
So flow, let's get into the flow here. What is Power Automate? Let's understand that first, and then we will build a flow. A flow is basically-- it's just a-- well, it's a flow chart but with commands. So I don't know what else I can call it that.
So anyways, the idea is that you can create multitude of things to do. As I mentioned, in the past, I have done-- was where I had to process manually a person where I had to send an email to IT for access to the servers, then I had to send access to this area, online BIM 360 access to this access, that access.
It just took me like-- then I had to fill out these forms manually, and it just took me a long time. All I did next was basically create a form and then let Power Automate take care of the whole sending of emails and formatting it and whatnot.
Anyways, so what does that do? For Power Automate, it's just a service that helps you create automated workflows between those applications we talked about. Our favorite app is Revit. Well, at least mine is, so one of them actually, not the favorite. And then you synchronize the file, send notifications, collect data, et cetera, and it can automatically run as well.
And we'll talk about, in general, what that is. So it helps nondevelopers to work. You can create a simple-- There are so many templates. I don't know if you have ever used IFTT-- oh, I forgot what the acronym is like. The routines that you have, basically, that's what you're doing. And it's very dynamo-type application, if you want to say that.
So what is a flow in Power Automate? There are multiple types of flows. One is called the cloud flows. That's where we are going to concentrate on. Within the cloud flows, you have automated flows, where you have an event trigger.
So if, let's say, you got a form-- somebody fills out a form or somebody creates a Data Exchange in the folder, you can get notified for that or you can extract the data as soon as it's created. So that's an automated. You don't have to be there. It just runs in the background basically.
Instant Flows basically are triggered manually. So you have a button that you can say, OK, run this flow. You can do it through a mobile device where it's presented nicely through our Power Automate app. In the past, it used to be called Flow App. And you can also ask users to fill in some information to trigger that manually as well. And then schedule. So just run on a defined schedule how you want to set it up.
So the next are Desktop Flows. We're not going to concentrate. Basically, instead of running in the cloud, it's running on your computer, and all you have to do is-- it's similar to automated instance, but you can do processing locally.
And then the last, our Business Process Flows. I'm not going to get into that, but they are basically interactive workflows where you do this, do this, do this, and it walks you through step by step process.
So as I mentioned, we will be concentrating on this Automated and the Instant Flow cloud flows. So what can you do with the flow? There are multiple templates.
Automatically, if you get an email with attachment, save that attachment into OneDrive in this case. Send a customized email when a new SharePoint list item is added. And this one is showing you that. Or you can send a Team's notification on exchange creation.
So if a data exchange gets created, I get notified. That's why I was checking when I created that Exchange. Data Exchange should have been notified, but there is a bug in there that I have to walk you through that process and see why it is, or extract data on exchange model.
So if Data Exchange gets updated in the system, it will automatically get a message from Autodesk that, hey, this data has been updated, and let's update. Power Automate kicks in this automation for you at that point.
There are multitude of connectors, what they are called. What the connector does is basically it connects you from one service to another service for input, output, that type of-- or you can even-- I cannot even tell you how many connectors there are.
Some are free, which is standard, which you don't have to have a full-blown license for, like the premium license for it. Any of them that says-- this one says standard connectors. Premium connectors are like the Autodesk or custom API. Connectors are typically premium. So that you will need to purchase a license for.
And in this case, if you are doing that, there is a 90-day trial on the Power Automate premium, so you can try that out. So what does a Autodesk Power Automate connector does? So they are basically available to all the AC collection subscribers for Revit 2023.
They're automated process to connect specific design data. Basically, you create those data exchanges from Revit 3D views or you can send that data to Inventor to other apps, but we are concentrating on our Power Automate to Excel. So the connector allows you to connect Power Automate to the Data Exchange in the cloud basically.
So how do I get started? Well, if you need to get started, there are multitude of templates. So even Autodesk has some examples of it. In the beginning, I banged my head on the wall trying to get that to work, but luckily, the engineering team was kind enough to walk me through the process step by step, and hopefully, now I have a better understanding of how this works, and then I'm sharing that knowledge with you.
I stumbled where it was working correctly. My favorite is one of these, the send form responses for approval. I use that feature set. Approvals are awesome in this tool, but there are templates that you can just use to start, and then you can customize them so you don't have to start from scratch. But we will work on those though.
So what are the components of a flow? So the first thing that you need a flow-- yes, we need the connector. We got the connector. Now, once we have the connector, what do we do? We create a flow. What different type of flows? So in this case, you need a trigger.
So what is a trigger? A trigger could be manual trigger or automatic. So in this case, this is an automatic trigger, when a Data Exchange is created, in the background, Autodesk monitors sends the message to the system Power Automate through the connector, and it notices that if in this exchange folder, if there is a exchange created, do something with it. That's something called a trigger.
Next, you need the action. So what is the action? Well, now I know that this exchange has been created, what do I do? Well, I need to get details about that exchange. So what are the properties of that exchange?
So an action could be defining a variable. An action could be setting a variable. An action could be generating a CSV file on the fly, in the memory system, in the cloud basically. Rather than sending it to Excel, you can just do it in the system on its own, and then put that file onto OneDrive.
There are other actions in terms of conditional controls, loops, all those, that are there for us. And we'll go over those in this session. Again, this is another action, and this is what we will create today.
So when a Data Exchange is created, get the details about that Data Exchange, and send a message through the chat or channel, or basically I'm saying, OK, chat with Flaubert, and then who do you want the recipient to be or recipients to be can? You can use even groups for that purpose as well.
So all I'm doing is just saying, this is plain text, and then I'm using fields that were received from this details of the Data Exchange, who created it. So I did talk about the connector that we need that upfront.
So then basically the connection. So the connection is basically your access, basically, the token that you need to access the data on for. So you need to log in through that connection before you can access the data on that side. So you will have to log in with your Autodesk ID. In the case of post a channel on Teams, I have to have a connection to one of my company accounts, business accounts. So I logged in, so I can access the Excel files. And we'll go over those in the session as well.
Let's see. So preparing storage for data. So how do we do that? In this case, I'm using an example of an Excel spreadsheet. Just keep it simple for us. And I'm just using Excel online just to create an Excel online file, basically adding the column headers for the data and basically creating a table. So I basically created this file right here with the headers right here. And once I have that, I will need to do is make sure that I create this table.
So select those headers and say Create a table under the Insert tab, and you will have to say, OK, my table has headers. And once you do that, I typically will rename the table itself, so I can see it in Power Automate much easier. So let's take a quick look at that.
So I have this Excel file right here. I'll create a new one quickly. So go to File, in this case new, and I'll just use a blank one, and I'll rename this. And instead of Book 4, I'll just call it BIM-- oh, I always have a hard time. Unleash. Ah! I don't know why it does that for me, but I apologize. Unleash.
I can choose where do I want to save this, and I'm going to save this in a separate Autodesk folder for myself, right here. And then once I have done that, I am going to cheat-- sorry-- because I don't feel like typing again and again. Sometimes I have that. So I will select these headers here, and I will go back to this and just paste it here, these headers.
Now, this is not a table at this point. All it is is basically just column headers or just text inside a column. So what we need to do is first go to Insert and click on Table. We need to say my table has headers, and you will see why it is critical assets.
So you can basically do that. Now it is a table. So what table? It's called table 1. It doesn't help me too much here, but I will call it room data in this case, so that way I have easy access to it through the-- you can name the sheet if you want to. You don't have to, but I'm picky about keeping things clean as such so-- sorry-- keep repeating myself on this asset, so I'm trying to reduce that. I created that. Now we will learn later how we can leverage this and store the data inside it in a bit.
So getting started with the Autodesk connector for Power Automate, first you need to go to the Power Automate website, which will make powerautomate.com, the QR code. Once you are there, you can start multiple ways, but I can say if I am under my flows, I'll just say new flow and template.
Once you start template, you basically do a search right here, not right there. This is an overall search. This is just for the templates. I just did Autodesk Forge. It will pull that up. It says, extract data on Exchange modification, Teams notification on Exchange creation. So this is the template I am going to use.
So type there basically, and then select that one. Once you do that, it says OK, Team notification on Exchange creation. It is using this data connector, and it's going to send the data through the Exchange and Microsoft Teams.
There is, again, a premium element right there, which is the Autodesk part. If you do not have a premium license, it will ask you to sign up for a trial, as I said, 90 day free trial with that, and then you just have to say Continue here. Once you continue there-- so we will do the-- I'm just going to give you an overview here, and then we'll walk you through step by step how we will do that.
So when a Data Exchange is created, like I did before, you define the hub, the project, the project files, which Exchange folder I need to monitor. So basically, you will click on this icon right there, and it will open up whichever folders are available within that project files folder. So I'm going to pick Data Exchange.
Next, basically, what we need to do is add an action. What type of action? Post a message in a chat or channel. By default, it comes as a channel in the template, which is not working if I wanted to send a chat to myself and not to a channel it acquired. So what I will do is, in that template, I'm going to delete this action right there, and I am going to recreate it afterwards.
So next, what I need to do is add another action, which is basically called get details of Data Exchange. So what information I need from that? So yeah, this Data Exchange we got created, but I need to know what's in it.
So that Exchange you are in, basically you are getting that from here. And I'll show you some tips how to get around some of the issues that I ran into. So you add a new step basically, and you go choose an operation. It says Teams. It'll say, post message in a chat or channel, then once we have that created, then I will create this quick bot saying chat with Flaubert.
Basically, fill those out. And then let's look at how I compose the message. So this is the text, but these are-- it says, insert parameters from previous steps. So what I'm doing is, basically, it's nice to see that they have all these fields that it pulls from the system available to just pick and choose, because there is some coding behind it that you can't just type in project name.
There is some code behind that. And this is my favorite tool on Windows 10 onwards, which is the window key, V as in Victor, which is your multi clipboard. I love that.
So next is basically, after we do that, we'll save it, and we'll test it. See if it works hopefully. So saving it, and we're going to test the flow manually. And we'll have to wait till the system goes on, and I will walk you through this again. So I have recorded it, and I'll just quickly we'll go over that in case things don't behave in the system directly.
So I just opened that up. I created the Data Exchange that I talked about earlier, pick the folders, and this folder has to be monitored on the other side on the Power Automate. Once I create that, it will churn for a few minutes.
Once its Data Exchange has been successfully created, notice that on their side, it kicks in, because it notices that there is a new Data Exchange created, and it's going to post a message for me in Teams. Sorry, there is a little bit glitch in the video here, but what it does is it says, hey, new Data Exchange has been created. Exactly what I said before.
So next, let's look at the demo, how we do this. That's the fun part here. So I created this Excel file. That's step number one. We did that. Next, what we need to deal with is going to Power Automate and creating another flow for us here in Power Automate.
I just want to give you a quick overview of what Power Automate available to us here. Number one, that's your home page. It gives you some of the learning as well. It's really good tools here. I would highly recommend if you want to understand the simple-- you can also use AI on your data set as well.
So if you are feeding it information constantly, you can use machine learning. And again, it's a premium thing as well. Approvals are very awesome. That way I don't have any approvals in this system. Then I look at my flow. So you can see how many times I have been constantly trying it, trying it, trying it, and banging my head on the wall to get the wall data out. Sorry.
And Create basically allows you to start from blank. Automated Flow, Instant, Scheduled, we'll not talk about that. This is something that it can help you reduce. It optimizes your flows if you want. But these are many other templates that are available. And you can connect start from a connector as you're all connectors.
If I showed you that a little bit ago what connectors are available to us, you can see that-- if you see the premium, that means you need a license. Otherwise, you can say, OK, I want standard connector. So there are plenty of standard connectors. Even you can do translations on an email automatically.
There are plenty of them. But what we need is make sure that what connectors I have in the system would be under this, Custom Connectors-- oh, no there. Connection-- sorry. My bad. I showed you this, which connections I need. My business is going to add the Microsoft Office connection as well.
So let's go under My Flows, and we'll create a new one. And I will start from the template just so you understand how to do it from a template. So I will search Autodesk, and let's see. Where'd it go? Oh, Team's notification on Exchange [INAUDIBLE].
This one parameter compliance, this basically puts on a Trello board notification or issues on there. You can see that this has been used 37 times. This is 102 times. So once I click on this notification one, I'll hit Continue. And right here is what you have to put in the hub and other information in it basically. So my hub is this JDM, my AU 2022 project. Project files is the main folder, then I click right here, which folder I want to--
The key is that if you click right here, it'll show you the content, but in this case, there are no folders. It's looking for a folder, so you will have to click right there to get that folder. Next step is, basically, once it gets that Data Exchange, it'll say, oh, I know that this Exchange was created. It gives you this URN which is the link basically.
Notice, if I click on this area, it gives me outputs from the last commands that I have in the system, so time modified, Exchange file name, Exchange URN. Since it's monitoring it, I get details. Basically, you need to have that.
This was a problem. I didn't want to put it in a channel. So when I go here to say chat with Flaubert, it starts putting these ID numbers, and it would not save the file. So that's why I had to go in and say Delete. I'll say Delete that step and add that back into the system here, again, just to show you how an action works.
So Teams, I'll search that. And it says-- let's see-- Create, Add a member to the Team, doo, doo, doo, doo, doo, doo, doo, doo, where is that? Post a message in chat or channel. Post as flow bot, which is, basically, it gives you that notification that I had showed you, which is, it's coming from Power Automate.
This was this flow bot. That's what that is. Post in a channel, group chat, or chat with a flow bot. So I am going to say, chat with a flow bot. That I just want to get notified or certain people that I want to notify, I put that in.
So I'll just type my name in and select myself, and then message. So this is where I compose the message. The output of these details is being shown here. So I will say new Data Exchange. And what was the Data Exchange here? Right there, Data Exchange file name has been created in project. And I'll pick-- this is the dynamic content right here.
So project name. I can also say folder name if I wanted to, or I can go in and say, OK, let's see-- project name by-- who it was created by. So notice that Created By. You can do Last Modified By, whichever, so Created By. And let's see what else. I think that's good. So once I have that I can save this. And notice it says your flow is ready to go. We recommend you test it.
If there was any errors, it will not let you save till you fix those errors. If you walk away from this page, you will lose the changes that you have done. So make sure you are able to save them prior to walking away from this. So let's test this. If I test this, I'll test it manually. Hey, come on, test. And this is what you have to do constantly. You have to do testing on it and walk through that step by step here.
So right now, I'm waiting for it. It doesn't do anything, but what it's doing is, it's waiting for me to create a new Data Exchange in the system. So to do that, I will go ahead and go back to my file right here, the structure one.
Let's see. If my luck is good, it will work. If not, then-- so I'll just do this, create a Data Exchange. Which folder? Make sure it is in the right folder. Otherwise, it's not going to be monitoring it. Select and create an Exchange.
So this Data Exchange was created, and let's see if it does anything on this side. Oh, the flow is running. See that? I got a notification at the bottom right automatically right now. See, new D has been created in project by Nauman Mysorewala. So this is where you can look at if there were any errors. This is a debug as well. So I am going to look at what the outputs are, get the details about the Data Exchange-- so this is all the data we got from it-- and post a message in the channel, and it went through it successfully.
Let me just quickly create another one just so that we have it. Sorry, just a second. Let's see. I think that one's good. So create a Data Exchange, switch to the folder, Data Exchange, select it, and create. So I did that again. I just wanted to show you another one. I'll go back to this flow itself.
So notice, it says-- oh, there is another one that ran 6 seconds ago, and it says it's running right now. It's waiting for it, and work, work, work, work. Oh, there we go. I got a notification. So you can email it however you want to use, any number of outputs.
If you want it to do another type of output, I can quickly show you that. In this case, new step, or if I wanted to add another step in the middle, I could do that as well by just clicking this plus sign, insert a new step, add an action.
These are your built-in conditions, standard ones. I'll do Office Outlook, and in this case, send an email. And once you send an email, you have a choice whether you want to compose it with the HTML or whether you want to do it differently. You can select that option set here, whether it's HTML mode or you are using the fancy built-in formatting in it. And then you specify the email addresses, and then it'll do the same process.
So let's look at further itself. So that was the demo in creating that. Now let's create one from scratch. Rather than creating it from a template, I'll just show you from the template, which is the Autodesk. It says, extract data on Exchange modification. I will model it similar to this one, but I will explain to you what this does so you have a better idea of what's going on.
We just did that when a Data Exchange is updated. So it's the same folder, but in this case, instead of specifying the folder, you are specifying the actual data exchange.
This is critical. I'll get a little bit more detail later, but I have to initialize a variable first before I can do something with it later. This is a do until loop, so what I'm saying is that it will receive all the information constantly, and you need this cursor.
The cursor holds the-- what's it called? A link to the next page of information because the JSON data return, there is not one JSON file, multiple of them. So what I need to do is iterate through them, as such, and then once I'm iterating through it, every one of them, I want to have the properties. And the next page of properties, I have to say cursor. That way I have the next step.
I need to set the cursor back to the value, I'll go in a little bit, and then apply to each. So I have this whole property list that comes out of it, which I showed you earlier, but what do I do with it? Well, I need to apply-- and there are so many properties. So for each property, I need to basically create a-- this is for the category, so I need to go in and say, OK, for each category, equal to what category?
And this is further down the road. They are asking what row table. So let's build this one from scratch. I'm going to say, no, I don't want to save it. So I will do that quickly, just a second. So I can do it through here or new flow, and I can say Automated Cloud Flow. Rather than doing that, because sometimes it takes a little while to do, I'll just do an Instant Cloud Flow, so basically, manually-triggered cloud flow right here. So I'll create that.
You can, in this, add input. So you can say yes, no text. Just allow the user to input something. But what we need to do is set up the next step. So next step would be to initialize a variable. So if you go to-- type in initialize, so right there.
So this is your variable initialization. This is called cursor. I don't know why, but that's what Autodesk calls it. It should be a string, and the initial value should be null. Otherwise, the next steps will stop automatically because it--
So what is that? So dynamic content, I don't have null nor I can type in null, like that. Well, that's just a string called null. What I need to do is get into this expression. So you can process the data that you get with all kinds of functionality, whether it's string manipulation, logical functions if functions.
Tremendous amount of programming you can do, but in this case, I need to type in this function called null, and hit OK. Notice that it is a function rather than--
So next step, what I need to do is add Get Details about Exchange. So I will type in Autodesk. It's a function right here, which I need, is get details about a Data Exchange. So get details about a Data Exchange. This is what I'm getting information just for the Data Exchange.
So select the Data Exchange in the Docs, go to that, and Project Files, and the Data Exchange, and let's look at the one that's called ST Foundations. I have that, and next, I need to do is click on Next Step.
So the next step is, once I have that, I need this loop to iterate through all the different JSON pages that Autodesk sends us so we can get all the information. So what I need is do until-- ah, do unit-- until. Come on. learn to spell, right there, which is called a control actually. So you can look at the controls, apply to each. We'll use that. We'll do do until scope. I have also used in the past, which is also there, but in this case, we'll just do do until.
Do until, what is the value? Is we need to add the cursor right there. Do until the cursor is blank. So what does that mean? Well, when you run this-- oh, that was the error-- but there is something called a cursor right here, which is blank. If there are no more pages, it'll turn into blank. So that's what we need to do is it will iterate through it as long as it needs to.
The other part I need to make sure is this Edit in change the limit. So it says, how many counts you want to do? How many loops you are going to do before it will quit? So either a cursor ends or a maximum of 60. Some bigger data set can have more, so you can do more here.
And the time out. So the time out is critical. So sometimes it will run into errors, and so either it reaches 100, either it reaches a blank cursor, no more pages or 100 loops, or timeout. You need the time out there. Otherwise, it won't quit, and it'll keep running on the system. So this is PT. In this case, I'll do a-- maybe-- doo, doo, doo. I'll just kill it at 10 minutes.
So PT is there, 10m. If I do 10s, would be 10 seconds, which we don't want. By default, it's an hour. I will save that just so that I have-- so you notice it's saved. I'll undo the change limits, and the next step I need to do is make sure that we get the properties.
So in here, inside this loop, we need properties from the Data Exchange. So we'll do again Autodesk, and right here it says, get properties of a Data Exchange. Notice it says preview, that's why it has both.
The Data Exchange, which Data Exchange? I would highly recommend, while you are doing it for the first time, don't use the URN. The URN basically can be pulled from there, but what I would recommend is just go ahead for the first time so that you understand how this works, and so you get those properties automatically. I will go into this. Select that specific set.
Next it says, OK, what do you want to do? Get all the properties or just the latest properties? I can do latest properties because it will do all the stuff anyways. And this is what? Next page of properties. So now I pulled all this, what is the next page? It is my cursor. That cursor that I got from there is how we will do that.
Next step I need to do is set the cursor again. So this is called set variable because this property, when you dump it, it will have at the end, the cursor. And what I need to do is set the variable right here. I know it's getting boring because I have to explain step by step, but I was banging my head on the wall trying to understand how this worked.
The prior help documents in the Build Help right here did not have any of this at all. It just walked you through the process where it didn't work. So luckily, I was able to talk to the Autodesk team, and they updated this. And what I am doing right now step by step is also available on the Build Help Excel automate data.
And I just wanted to share this with you. If you go to the Build Help, populate Excel with Data Exchange properties. And let's talk about, afterwards, what are the limitations in here.
So the cursor value, what is the cursor value? So the cursor value in here would be the next page of properties. So next page of property link will be cursor. And then that automatically becomes that. So now what we have to do is we set that. Now I got properties, so what do I do with those properties? And next I will do is, I have all those properties, and I will do apply to each. And the right here, apply to each, control.
So each property, I'll have to apply to that and say, select an output from the last command. So what I need from this is the whole property list. I can just do a search for property list, right there, and apply to each. So every property it gets, it will do that.
Next I want a condition. What a condition does is, OK, I just want specific types of elements. If you don't want specific type of elements, you want to just dump the whole thing, you don't need this condition. However, let's just-- in the example they use, I believe, the condition. I'm going to skip that right now for sake of time too, or because I've also explained other steps there.
I'll process this, another action. So I'll add another action here. Instead of-- what I need to do is I'm going to dump this data somewhere. So on Excel Online, I will add a row into a table. That's why I needed a table exactly because you just can't easily do that.
So location, so what I need is OneDrive. It'll say OneDrive for business. The other key was, when I did the-- let me just delete this one because it didn't work for me before. When you do search for an action for Excel, you need to make sure which Excel. If you use this Excel Online OneDrive, that's your personal.
However, you are logged in-- in my case, I'm logged into the business one, so I need this business Excel. So just make sure you don't have to worry about that error in this case. OneDrive for business, I'll just do OneDrive. The file is-- where the file is, Autodesk. Remember we created that. Unleash the BIM data, right there. And it asks me which table. So I'd said room data. Oooh.
I need another-- well, I'll just do this right now. I'll just do room data table, but what we need is basically-- and that doesn't work actually. I will need to create a quick new table. Let's see. I'll just create a new sheet here. I'll create element ID. I'll say category, family, and then type. Those are the-- and then-- doo, doo, doo-- oh, DE file name, file name.
So now I do this, create the table, insert table headers there, name the table elements. This will be, hopefully, available to me right now. So I will go back and select this file again, right there, that guy, and then-- oh, it's been refreshed yet, so I'll have to switch the file. Let me just switch the file. Switch the file-- oooh, I know. It's airing out on me because-- unleash the data, and then right here, I can select Elements.
So notice the headers become right here. See that? So I need to do is fill in the category. So rather than me searching for it and hunting for it, category. Next is the family, so I'll just type in family. The next is type. [INAUDIBLE].
DE file name, the DE file name is coming from my properties of that Exchange itself. So DE Exchange file name, this is to track it, and this element ID which is my-- actually coming from element ID. This is good actually.
So next, what I need to do is this, there are certain things that I need to make sure that I set up. So under Settings of my Excel, right here, it has the retry policy, which is like four times [INAUDIBLE] in XX amount of time, and then it will time out.
So what we need to do for most of our functionality is we need to do an exponential interval. How many times? I'll just do three times. The interval is 5 seconds between those tries. Minimum also is 5 seconds. And just for time's sake, I'll just do 45 seconds for the maximum interval, and done.
I need to do that for my Get Properties of a Data Exchange as well. Otherwise, it's going to sit there for a while without timing out. So I, again, did this right here. Right there, settings. So right there. Oh, so Get Properties of a Data Exchange, I will switch that to exponential interval. Three times it counts. Interval between retries, 5 seconds.
By default, that's what Autodesk has done. 5 seconds is the minimum-- aah, if I can type-- and then right there is-- they set it to a minute or so, but I'm just going to-- for sake of time, I'll just do 45 seconds here. Save this. Once it's saved, it'll tell me ready to go. So what I need to do is test it.
And to test it, I need to set that up manually. Hey, come on. Manually test. It says you need to sign in. Yes, a Forge and Excel, continue. Run the flow. It says, oh, flow is running. Oh, it failed right away. No dependent action succeeded, so raw outputs--
Basically, latest properties didn't work. So I'm going to go back and edit, and I'm going to say All Properties in this case, and save it, and test it again. So let's test this quickly if it goes through. If it doesn't, then-- so notice, now it's going through. So first it got the details of the Exchange.
Right here, I created that x amount of time. It is churning through it, and if it is successful, what I should see is data coming through here automatically. Just so that I have-- for quickly as what's it called the recipe here is already made bang. Let's go over and look at that quickly.
So hopefully, I should see some data coming through here soon. That's my prayer here. Otherwise, we will start seeing some-- Let me see. Why is it not doing that? So while that is processing, let's just get into the connect and analyze. So reporting with power BI.
You hopefully know what Power BI is. If not, it's just creating dashboards and reports for review by the team so you can track them. I just quickly put together data from this extraction, which is basically project room finishes by the level. It got the data from the Exchange from Revit.
I can create count the rooms by level, count area square feet by level, different department areas, what those are, and I can tweak those pretty easily if I wanted to. Let me just quickly get to that one. Let's see. Oh [INAUDIBLE]. Let's see. Power BI, Power BI, power BI, Power BI. Here we go.
So basically, I have this data, and then the other data was from the Element categories. What categories I have in the project? There are 355 elements from this pool that I did for the interiors actually. And what I'm also looking for is that for validation, let's say it says elements missing OmniClass number. So if some of those elements are missing the OmniClass numbers, it'll just sort them out.
As I said, I can't get into too much of how this works in Power BI, but what I do need to tell you is that what you can do is how to connect to that data. So Power BI has a lot of functionality built into it. So it has all these data access tools available from various sources. In our case, we will just say, get data from Excel, and all you have to do is just go into the Excel file on OneDrive that you created.
Right here is the one that I worked on recently, and it has the data inside it. And it says, OK, which one do I want to import? These two. So this is how you basically connect with that, and then you manipulate the data in Power BI as needed.
So let's go back to our flows and see if that-- and we're almost done for the day here. Let's see what else I need to do. Let me minimize that and-- sorry.
I got some information from Abdul Karim at DAR in Jordan. He had done a presentation in Middle East on room data sheets. It has been my thing to do in the past. I had tried to do many different solutions at this point, but with the data extraction through Power Automate, I can now easily do that.
So in this case, he is storing the data on Access database. You can do that as well. So it can be any data, and then formulate it into a room data sheet easily. You can do that in actually this thing in Word even through a mail merge. I did that for my students. I taught them, for interior design, how to create this cut sheet from a simple word file and Excel output from Revit, couple other usages that you can have again.
So basically, I wanted to just wrap up the thing. I hope you learned something of the step by step process of how to go through this process and what Power Automate is and how you extract the data from the Data Exchange into a database, in my case, it was Excel, and then use that data inside the other system basically.
So with that, I want to at least check-- this did not work in this case, and it timed out, looks like. And sometimes, there is issues with it, and what I have been told is that it gets-- my authorizations might not work correctly. So what I'll do is I'm going to go back and edit this-- sorry, I keep hitting the wrong edit.
Just to show you what they had recommended, go to your connections and-- this is a troubleshooting tip that I recently got from them, Autodesk-- and go here and delete this connection, and then go back into your flow, right here.
This is the one we just created. And you will see these triangles, and it says, add a new connection. I don't know why it loses that. I think they need to rework that because it loses the token. So what that means is that your Automated Flows may not just work at all.
So now I have that, I can go ahead and save it. And let's try it again, and hopefully this works. Test it, continue, and the flow done. So please work. If not, then-- ah, there it is. See that data coming through now. So if you run into problem where you are not getting any data, delete the connection and bring it back. I think they need to rework that pretty soon because even if I create a new connection, it doesn't work.
So notice that it's pulling the data and it's filling this out right there. Hopefully-- I'm glad I'd ran into this problem so I can demo that to you, how to get around this issue there. I was just banging my head on the wall trying to figure this out why it would timeout and no data would come through.
So let's go back to the presentation. I think you got the idea how this is working between the two. Just another one that I just want to show you quickly is this guy right there where I do sort out the data itself, which has this do until loop, and then I have apply to each, and then I have a condition.
And in this condition I said, hey, if this property category is equal to room, if yes, then go add a row in my room's table. If no, then add it to my element table basically. So that's what I ended up doing with this condition right there.
Let's go back. So let's wrap up the class. Thank you so much for joining. Special thanks for you guys to be on the session and watching it with me. I hope you learned something today. And if you did, please don't hesitate-- if you have any questions-- to ask those via comments in the class, or if you like it, share it with others.
But thank you to the Autodesk team for making this possible. Otherwise, I wouldn't be able to teach this. The Autodesk Expert Elite team, which makes it possible for us to be close to the Autodesk production teams and the other team members also for Autodesk Data Exchange team who I have been bugging for the past two months constantly, and Denis and Greg and Philippe and all of the other team members have been extremely helpful, providing the troubleshooting tips and how I can get around this and also fixing things on the end when I ran into the issue, and it was something on their end, they were pretty quick to fix that.
Thank you again so much and hope you enjoy this year's recordings as well. The classes, they are awesome. I would highly recommend joining another session of mine, which is the return of the superb guide for Revit. I'm teaching that with Rina. So hope to see you on that one as well. And if you are going to AU, I would have seen you today. Thank you.
Downloads
Tags
Product | |
Industries | |
Topics |