Automation

Planning Revit Automation with Dynamo

Dynamo is a visual programming environment commonly used alongside Revit to build repeatable operations on model data. Automation can reduce repeated manual steps when the inputs and rules are stable. It can also multiply errors quickly when assumptions, units, exceptions, or model conditions are misunderstood.

Project preparation guidanceConfirm requirements with the appointed project team
01

Select a suitable task

Good candidates are frequent, bounded tasks with explicit inputs and a result that can be checked. Examples may include organizing data, applying a stated naming rule, preparing a schedule, or creating a repeatable report. Tasks that require ambiguous design judgment or incomplete information may not be suitable for full automation. First document the manual workflow, its decision points, exceptions, and user needs. Automation should improve a defined process rather than exist because a scripting tool is available.

  • Describe the task and its users
  • Identify repeat frequency and failure consequences
  • Keep judgment dependent steps with qualified reviewers
02

Specify inputs and assumptions

A graph depends on assumptions about model categories, parameters, naming, units, views, worksets, and software versions. Document these before development and decide how the script should behave when an expected value is absent, duplicated, or invalid. Test against representative project models, including difficult cases rather than only a clean demonstration file. The user should know what the graph reads and changes. A script should not silently alter project information outside its declared scope.

03

Design safe execution

Automation should make consequential actions visible. Consider a preview, a summary of intended changes, confirmation before writing, and a way to cancel or restore from a controlled copy. Limit the operation to selected elements or a clearly named scope where practical. Log inputs, version, execution time, warnings, and affected records if the task requires traceability. Protect work through normal project backup and change control. Never assume that a successful run means the output is correct.

  • Preview significant changes before writing
  • Use a controlled test model and backup
  • Report skipped elements and errors clearly
04

Verify results independently

Define expected results before testing. Compare output against known examples, inspect edge cases, and review counts or values with an independent method where appropriate. Testing should include empty selections, missing parameters, unusual geometry, duplicate identifiers, and unsupported versions. If the graph creates geometry or documentation, a qualified discipline reviewer still checks design intent and project requirements. Record the test cases and known limits so another user does not mistake a narrow script for a general purpose tool.

05

Manage versions and dependencies

A graph may depend on Revit releases, Dynamo versions, packages, node behavior, and project templates. An update to any dependency can change results or prevent execution. Maintain a version record and identify a responsible owner for testing changes. Avoid relying on undocumented package sources or personal file paths. If the script is shared, provide clear installation, input, output, and troubleshooting guidance without exposing confidential model information.

06

Measure productivity honestly

Time saved in one step is not automatically net productivity. Include setup, testing, correction, support, training, and review time. Compare like tasks with consistent complexity and count rework or errors as well as execution time. Distinguish time released from a cash saving unless staffing or cost actually changes. A small repeated improvement may matter to a team, but the case should be based on observed workflow data, not a generalized claim about automation.

  • Measure total task effort, including checking
  • Track error and rework rates
  • Label forecasts separately from observed results
07

Assign ownership and handoff

A useful automation handoff names the maintainer, supported context, inputs, outputs, version, tests, limitations, and route for reporting defects. The project manager or model owner decides whether the tool may be used in a live project. The discipline professional remains responsible for reviewing work products and making design decisions. If assumptions change, pause use until the graph has been reviewed and retested. Treat automation as controlled project logic, not an authority independent of its users.

08

Retire tools that no longer fit

A graph may become unsuitable when authoring versions, project standards, data structures, or responsible staff change. Give each shared tool a review date or change trigger and identify who can suspend its use. Preserve a known working version while a revision is tested, and communicate retirement clearly so old copies do not continue circulating. Where the task is infrequent or the support burden exceeds its value, returning to a documented manual method may be the safer choice.

Discuss the inputs and handoff.

Tell us which source information is available, what needs to be produced, and who will review the work.

Start a project enquiry →