Dashboard
Revilutions — manage, understand, and build Revit automation tools
Script Explainer
Upload Dynamo or Python scripts and get plain-language explanations of what they do, what they write, and whether they're safe.
Open →Automation Builder
Describe what you want in plain English. The system generates a validated automation plan and assembles the .dyn file.
Open →Keynote Sync
Sync keynotes and specifications from your Excel data to Revit parameters with dry-run preview before committing.
Open →Plugin Builder
Select reviewed scripts, organize them into categories, and package them as a Revit ribbon plugin your team can install.
Open →Publishing
Export sheets and views using smart presets, office naming standards, and reusable workflows. Smarter than manual export.
Open →Family Audit
Check the health of your Revit families. Find bloated files, imported CAD, wrong categories, and more.
Open →Revit Settings
Configure which Revit categories, parameters, and families the AI knows about when interpreting your requests.
Open →Quick Status
Generated Scripts
Dynamo scripts created by the Automation Builder. Download to use in Revit, or delete if no longer needed.
Loading...
Script Explainer
Understand what existing Dynamo and Python scripts do
What is the Script Explainer?
Your team has working Dynamo graphs and Python scripts that are hard to modify because the logic inside them isn't documented. This tool reads each script and produces a plain-language explanation:
- What it does — A clear description anyone on the team can understand, without needing to read the code
- Inputs — Which Revit categories, parameters, and family names the script expects to find in your model
- Outputs — What the script writes back to Revit and whether those changes are reversible
- Risks — Any operations that could affect large numbers of elements or make irreversible changes
- Dependencies — Whether the script needs third-party Dynamo packages (Clockwork, Archi-lab, etc.)
- Registry candidate — Whether the script is safe enough to register as a trusted building block for the Automation Builder
How to use: Upload your .dyn or .py files below, then click Explain on any script — or use Explain All Scripts to process your entire library at once. Once explained, click a script row to see its full analysis. Explained scripts are also listed in the Script Registry at the bottom of this page — your team's permanent knowledge base of documented scripts.
Batch Explain
Analyze all scripts in one go. Already explained scripts are skipped.
Available Scripts
Drop .dyn or .py files here to upload — or click to browse
Loading scripts...
Script Registry
Scripts that have been explained are saved here. This is your team's knowledge base of documented scripts.
Loading registry...
Automation Builder
Describe what you want — get a validated Dynamo script
How does the Automation Builder work?
This is a two-step process that keeps you in control at every stage:
- Step 1 — Generate Plan: Describe what you want in plain English. The AI interprets your request using your Revit Settings and produces a step-by-step automation plan. If anything is unclear, it asks clarifying questions instead of guessing.
- Step 2 — Assemble .dyn: Once you approve the plan, the system assembles a Dynamo graph from pre-validated, reviewed building blocks. It never invents node structures — only uses trusted scripts from the registry.
Every generated graph is validated before you can download it. The system checks for missing parameters, bulk write operations, and anything that could affect your model unexpectedly. You always see a dry-run summary before running anything in Revit.
Your Request
Keynote Sync
Sync keynotes and specifications from Excel to Revit parameters
What is Keynote Sync?
Your office maintains keynotes and specifications in an Excel file. This tool maps those Excel columns to Revit parameter names and produces a sync payload that updates your Revit model — no manual re-entry.
- Column Mapping — Your Excel column names (e.g.
Spec_Code) are mapped to Revit parameters (e.g.Keynote) via Revit Settings - Dry Run — Always preview what will change before committing. See exactly which parameters will be set and on how many elements
- Commit — Once you've reviewed the preview, commit the changes. The operation is logged with a timestamp
- Validation — The system checks that all mapped parameters actually exist in your Revit Settings before allowing a commit
To change how columns map to parameters, update the keynoteMapping in Revit Settings.
Keynote Data
Paste JSON array of keynote objects. Use your Excel column names as keys.
Sync History
Loading...
Family Audit
Check the health of your Revit families — find bloat, bad practices, and issues
What it checks
The audit scans every family loaded in your Revit project and flags common issues that slow down your model, cause errors, or make maintenance harder:
- Imported CAD/DWG — Hidden geometry from imported files that bloats family size
- Too many parameters — Families with excessive parameters that slow down schedules and editing
- Wrong category — Families placed in Generic Models that should be in a specific category
- Excessive nesting — Too many nested families inside one family, impacting performance
- Type catalog needed — Families with many types that should use an external type catalog
- Too many materials — Embedded materials that should be project-based instead
How to run the audit
Download the audit script — click here to download
This is a Python file that runs inside Dynamo. You don't need to understand the code.
Open a Revit project
Open the project you want to audit. The script will check all families currently loaded in that project.
Open Dynamo
In Revit's top menu bar, click the Manage tab, then click Dynamo (or Visual Programming). A separate Dynamo window will open.
Run the script
In the Dynamo window, click File → Open and select the downloaded audit-revit-families.py file. Then click the Run button (play icon at the bottom of the window). The script takes 30 seconds to a few minutes depending on how many families your project has.
Upload the results
When the script finishes, it creates a file at C:\Temp\family-audit.json. Upload that file using the area below. Your audit dashboard will appear immediately.
Want to test without Revit? Load sample audit data to see how the dashboard looks.
Drop your audit JSON here
or click to browse
Previous Audits
Loading...
Publishing
Export Revit sheets and views using office standards, smart presets, and reusable workflows
Describe your export
Tell the system what you need in plain language. It will configure the export settings for you.
Output Purpose
What is this export for? This determines the recommended formats, quality, and naming.
Export Formats
Recommended formats are pre-selected based on your purpose. Toggle to add or remove.
File Naming
Advanced Settings
Saved Presets
Loading...
Plugin Builder
Package your Dynamo scripts as a Revit ribbon plugin
What is the Plugin Builder?
This is where you turn your reviewed Dynamo scripts into a proper Revit plugin — a custom "Arrow" tab in the Revit ribbon, just like DiRoots or other commercial plugins. Your team installs it once and uses your scripts without ever opening Dynamo.
- Select scripts — Choose which reviewed scripts from your registry to include in the plugin
- Organize by category — Group scripts into ribbon panels (Organisation, Keynotes, Sheets, Modeling, etc.)
- Set labels & tooltips — Give each button a clear name and description
- Generate manifest — Export a plugin manifest that the Revit add-in reads to build the ribbon
- Distribute — Share the plugin as an installer (.msi) that anyone can install
Plugin Configuration
Only promoted scripts (Production Ready) appear here. Review and promote scripts in the Script Explainer first.
Loading reviewed scripts...
Publishing Presets
Saved publishing presets appear as buttons in the ribbon. Create presets in the Publishing tab.
Loading...
Ribbon Preview
This is how your plugin will appear in the Revit ribbon.
Add scripts above to see the ribbon preview
Published Plugin Status
Checking...
Team
Manage who has access to your company's Revilutions account
Invite a team member
New members must use your company email domain. Generic emails (Gmail, Yahoo, etc.) are not accepted.
Team Members
Loading...
Deployments
Track which devices have the plugin installed and their activity
Revit Versions
Devices
Loading...
Simulate a device check-in
Test the deployment tracking by simulating a Revit plugin heartbeat.
Revit Settings
Tell the AI what your Revit projects use — categories, parameters, families
What are Revit Settings?
The Automation Builder and Keynote Sync use these settings to understand your Revit projects. When you type a request like "Set the fire rating on all interior walls", the AI looks up the exact parameter name (Fire_Rating) and category (Walls) from here instead of guessing.
These settings help the AI interpret your requests. They don't affect your Dynamo scripts directly.
Do I need this?
Only if you're using the Automation Builder (plain language → Dynamo scripts) or Keynote Sync (Excel → Revit parameters). If you're only using the Script Explainer and Plugin Builder, you can skip this.
How to set up
Choose one of three options:
Export from Revit
We've created a ready-to-use Dynamo script that reads your Revit project and exports all the settings Revilutions needs. You don't need to know what's inside the script — just run it.
What you need:
- Any Revit project that uses your office's standard categories, parameters, and families
- Dynamo must be installed (it comes with Revit by default)
Steps:
Download the export script — click here to download, or copy the code from the box at the bottom.
Open any Revit project
It should be a project that uses your office's standard setup — any active project will work.
Open Dynamo
In Revit's top menu, click Manage → then click Dynamo (or Visual Programming). A new window opens.
Run the script
In the Dynamo window, click File → Open and select the downloaded export-template-profile.py file. Then click Run (the play button at the bottom).
Upload the result
The script creates a file at C:\Temp\office-profile-export.json. Come back here and upload it below.
Show the export script code
import clr, json
clr.AddReference('RevitAPI')
clr.AddReference('RevitServices')
from Autodesk.Revit.DB import *
from RevitServices.Persistence import DocumentManager
OUTPUT_PATH = r"C:\Temp\office-profile-export.json"
doc = DocumentManager.Instance.CurrentDBDocument
categories = [{"name": cat.Name, "builtInCategory": str(cat.Id.IntegerValue)}
for cat in doc.Settings.Categories
if cat.CategoryType == CategoryType.Model and cat.AllowsBoundParameters]
parameters = []
it = doc.ParameterBindings.ForwardIterator()
while it.MoveNext():
parameters.append({"name": it.Key.Name, "type": "text",
"isShared": hasattr(it.Key, 'GUID'), "group": "Custom"})
families = sorted(set(f.Name for f in FilteredElementCollector(doc).OfClass(Family) if f.Name))
title_blocks = sorted(set(Element.Name.GetValue(t) for t in
FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_TitleBlocks).WhereElementIsElementType()
if Element.Name.GetValue(t)))
view_templates = sorted(v.Name for v in FilteredElementCollector(doc).OfClass(View) if v.IsTemplate)
levels = [{"name": l.Name, "elevation": round(l.Elevation * 0.3048, 3)}
for l in FilteredElementCollector(doc).OfClass(Level)]
export = {
"projectInfo": {"name": doc.ProjectInformation.Name},
"categories": categories, "parameters": parameters,
"families": families, "titleBlocks": title_blocks,
"viewTemplates": view_templates, "levels": sorted(levels, key=lambda x: x["elevation"]),
"namingRules": {"sheets": "", "views": "", "families": "", "levels": ""}
}
with open(OUTPUT_PATH, 'w') as f:
json.dump(export, f, indent=2)
OUT = "Saved to " + OUTPUT_PATH
Upload settings file
Upload the JSON file created by the export script above.
Drop your settings JSON here
or click to browse
Don't have a Revit project handy? Load demo data to see how it works.