Automating/Scheduling Organisational Model Audits - Rates and Quantities - Revit/Power BI

Objective: We have developed a proof of concept to send data to speckle from Revit and receive the data in Power BI over key milestones. Using commits (at milestones) under separate branches we would like to scale this across all our projects to remove the manual sending data to Speckle. We can set up a scheduled task to update Power BI.

Issue: How could we automate sending commits to branches on all our Revit projects?

Example: See attached Power BI example dashboard. Currently published with a single project and two milestones. We would like to extend this to all projects for all major structural elements.


I set the speckle scheduler to trigger “On File Export” and used Revit Batch Processer to run a script to export a pdf from the files I wanted to trigger. Unfortunately, the once the pdf had been created from each model, Revit closed before the data had streamed to Speckle.

Does anyone else have a way they are automating scheduling regular updates for multiple models?

Hey @BIM_Wash ,

Great to hear that you are making use of our Revit and Power BI connectors!

Regarding your query on batch sending Revit models, I would like to inform you that we are currently working on it and hope to release the first version of the Batch Uploader in the next release. Once it’s live, you will be able to send multiple Revit files to Speckle models effortlessly.

As for the Scheduler (alpha), you will first need to send your Revit model to Speckle and define where you want to send it in the Scheduler dialog to use it. So, I’m afraid it wouldn’t be suitable for your requirements.

However, as a workaround, you can try batch sending your Revit models using Dynamo.

1 Like

HI @gokermu thanks for the tip. I’m getting close. With Revit Batch Processor I can run this dynamo script across all my speckle streams and filter out the one that matches the Revit project information parameter. I cannot see a way of sending the revit data. I stream. Update appears to update stream parameters not update an existing stream, and send appears to only let me send dynamo data. Is there a way I can feed in the selected element categories in the last session?

Hey @BIM_Wash ,

Our default Send node in Speckle has a button on it, which serves various purposes. However, in your case, since you are planning to batch-send data, it’s more appropriate to use the AutoSend node. Instead of a button, this node has an enabled input that accepts a boolean value. When you set this input to ‘true’, the data will be sent to a specified Speckle model when the script is executed.

I hope this explanation helps you.

thanks @gokermu, what do I feed into the “data” input as I just want to resend the same setting as when I am in Revit. i.e. all floors, structural columns, walls, structural foundations, structural framing.

From the demo I saw on youtube, it was feeding dynamo data, not revit data.

Is this possible?

Revit Batch Processor will be used to open all the Revit models in a certain windows folder sequentially, then send the stream from each model to the corresponding stream name. I hope this makes sense. The data I want to send from Dynamo are all the categories I have filtered using the Speckle add-in within Revit.


hey @BIM_Wash @gokermu :wave:t3:

Its been a while since I touched dynamo, but the Dynamo Revit plugin should be capable of converting objects referenced from Revit (using the normal Dynamo nodes to do so)

Just plug them into a sender and they should make their way to speckle. If that doesn’t work, I’m afraid we broke something :sweat:

You won’t be able to access the filters you selected from the Revit Speckle panel in Dynamo, but you can easily re-create that category list with default nodes.

Hope this helps!