Cora Agent Documentation
Ready-to-use configurations for the Cora Agent platform. Install the Revit plugin, integrate AI tools, customize commands, and leverage automation to enhance your workflow.
Transform Your Development Workflow
Cora Agent is a comprehensive collection of ready-to-use AI tools and commands for Revit. Install the plugin, automate workflows, and integrate external intelligence directly into your models.
Quick Start
Get up and running in under 2 minutes. Install your first plugin and start building.
Browse Components
Explore 237+ agents, commands, hooks, and settings in our catalog.
Installation Guide
Detailed installation instructions, Revit versions (2024-2027), and authentication options.
CLI Reference
Complete command reference with all prompts, flags, and usage examples for the AI.
Installation Steps
Set up Cora Agent once, then reuse the workflow across projects. Four steps to your first tool run.
- 1
Download the Revit plugin
Grab the latest MSI installer for Revit 2024, 2025, 2026, or 2027.
- 2
Install and launch
Run the installer, open Revit, and confirm the Cora panel appears in the Add-Ins tab.
- 3
Create your user
Sign up with email/password or Google OAuth directly from the plugin.
- 4
Run your first command
Open the Cora panel and type a natural language request like "Create 5 levels at 3.5m spacing".
What's Included
Cora Agent ships with 237 tools across 14 categories, spanning the C# Revit plugin and the Python backend.
Key Features
Multi-Model AI
GPT-5 family, Claude Sonnet & Opus, Gemini, and Ollama local models — switch per task for optimal results.
237+ BIM Tools
Modeling, documentation, analysis, views, sheets, GIS, and automation.
RAG Knowledge Base
Upload documents and search with semantic pgvector embeddings.
Hosted Elements
Create doors, windows, floors, roofs, railings from natural language.
Room Intelligence
Room geometry queries and contextual spatial grounding for agents.
AI Media Generation
Images (GPT-Image, Gemini) and videos (MiniMax Hailuo, Google Veo 3.1) from prompts.
Code Workspace
Built-in environment to create, test, and run C# automations with the Roslyn compiler.
MCP Extensibility
Extend capabilities with Model Context Protocol integrations.
Tool Catalog
237 user-facing tools across 14 categories. Click any tool in the sidebar for quick navigation.
Modeling & creation
29Create and edit core model elements quickly.
create_level
Create a new level with the given name and elevation.
create_levels_batch
Create a batch of levels with base elevation, count, spacing, and name format.
create_levels_custom
Create multiple custom levels, each with a name and elevation.
create_grids
Create one or more Revit grids from line axes with idempotent duplicate detection.
create_mass_box
Create one or many conceptual mass boxes.
update_mass_shape
Update an existing mass box or polygon by element id; rebuilds geometry and optionally renames.
list_masses
List mass elements created by Cora, with optional nearest level and bounding box.
create_toposolid
Create a toposolid from points, resolving type and level automatically.
create_line_based_element
Create one or more line-based elements (walls, beams, etc.) in millimetre units.
create_point_based_element
Create one or more point-based elements (furniture, fixtures, etc.) by coordinates.
create_model_lines
Create model lines from line segments in a resolved sketch plane.
create_model_text
3D model text at points with configurable height and depth.
create_surface_based_element
Create floors, roofs, or ceilings from boundary loops.
create_wall_core_batch
Create rectangular concrete structural cores as wall batches.
create_wall_openings
Create generic rectangular wall openings hosted by explicit wall ids.
create_openings_batch
Create safe hosted door/window openings; returns failed instead of falling back to dynamic code.
create_stairs
Create straight stair runs from start/end points, width, and level data.
create_ramps
Create straight ramp elements from start/end points, width, and slope.
create_model_groups
Create model groups from existing elements or place existing group types.
select_elements
Select elements in Revit by element ids.
resolve_model_elements
Resolve ambiguous references to existing model elements, with candidates and confidence.
update_element_dimensions
Update writable dimensional parameters — width, depth, height, length.
update_element_level
Change the level of existing elements when a writable level parameter exists.
update_element_location
Move existing elements by delta XYZ or to a target bounding-box center.
update_parameters
Inspect and batch-update element parameters, returning a detailed report.
rotate_element
Rotate an existing element by a specified angle.
delete_element
Delete an existing element from the model.
change_element_type
Swap an existing element to a different type.
rollback_last_action
Undo the most recent agent-performed action.
Hosted elements
14Create doors, windows, floors, roofs, railings, and curtain walls from natural language.
create_doors
Create hosted door instances, auto-resolving host walls when not provided.
create_windows
Create hosted window instances, auto-resolving host walls when not provided.
create_floors
Create floors from boundary loops.
create_floor_from_room_union
Create a floor from the exterior loop of a room layout proposal.
create_roofs
Create roofs from boundary loops.
create_railings
Create railings from line-segment paths, auto-resolving level and type.
create_curtain_box_perimeter
Create curtain wall perimeter from line-segment paths for glazed envelope boxes.
create_curtain_grid
Add vertical and/or horizontal grid lines to existing curtain walls.
create_curtain_mullions
Add mullions to existing curtain grid lines.
create_curtain_wall_box_batch
Create curtain wall perimeters for rectangular glazed boxes in batch.
create_rectangular_floor_slab_batch
Create rectangular concrete floor slabs for stacked-box BIM concepts.
create_room_surfaces
Create floors, ceilings, or roofs from Room perimeters, using Room Finish data as hints.
find_doors_without_rooms
Find doors not associated with any room.
find_windows_without_host
Find windows missing a valid host wall.
Documentation & sheets
20Build documentation outputs and sheet sets.
create_sheet
Create a sheet with an optional sheet number and title block type.
create_sheets_batch
Create multiple sheets in a single call with a shared default title block.
create_sheets_from_views_batch
Create or reuse sheets for planned documentation views.
create_detail_callout_on_sheet
Create a padded detail callout between two grids and place it on a sheet.
place_views_on_sheet
Place one or more existing views onto an existing sheet, with auto or fit-to-sheet layout.
place_views_on_sheets_batch
Place multiple views across multiple sheets in one batch.
place_views_on_sheets_preview
Preview placement of views on sheets without mutating the model.
list_sheets
List sheets with number, name, title block, and placed view count.
list_sheet_export_context
Read sheet export context: schedules, print setups, revisions, and naming data.
list_titleblocks
List title blocks loaded in the project, including inferred paper size (A0-A4).
resolve_titleblock
Resolve an ambiguous title block request into loaded candidates.
open_sheet
Open an existing sheet by id, number, or name for the user.
export_sheets_to_pdf
Export approved sheets to separate PDF files using previewed filenames.
preview_sheet_export_names
Preview export filenames for sheets, detecting duplicates and invalid characters.
preview_sheet_model_name_updates
Preview model updates derived from sheet export naming.
apply_sheet_model_name_updates
Apply approved sheet naming updates to existing sheet fields or parameters.
suggest_sheet_naming_standard
Suggest sheet export naming templates from a delivery intent.
propose_sheet_name_translations
Generate a structured proposal for translating sheet names.
verify_documentation_package
Verify expected sheets exist and expected views are placed on them.
rename_sheets_by_standard
Batch-rename sheets according to a naming standard.
Views & scope
45Create views, scope boxes, view templates, and camera perspectives.
create_3d_view_by_scope_box
Create 3D views scoped to Scope Boxes for specific levels.
create_level_3d_view
Create a section-boxed 3D view for a target level.
create_elevation_view
Create an elevation view for a level.
create_interior_elevations
Create interior elevation views (N/S/E/W) scoped to a Scope Box.
create_floor_plan_view
Create a floor plan view, optionally with a Scope Box, view template, and scale.
create_floor_plan_views_batch
Create floor plan views for a list of level names.
create_ceiling_plan_view
Create a reflected ceiling plan view for a level.
create_section_view
Create a section view for a level, optionally centered on a Scope Box.
create_documentation_views_batch
Create floor plan and RCP views in batch, with template and scale options.
capture_viewset_for_level
Capture plan, elevation, section, and 3D views for one level and persist screenshots.
create_scopebox_by_room
Create Scope Boxes from Rooms, with optional margin and Z offsets.
list_scope_box
List all Scope Boxes in the project with their full geometry.
create_room_camera_views
Create interior camera (perspective) views for specific rooms.
list_views
List views with template, scope box, scale, and crop state.
list_view_templates
List all view templates available in the project.
list_view_template_properties
List view template properties: scale, detail level, and display style.
resolve_views
Resolve ambiguous view references into concrete view ids.
resolve_view_template
Resolve an ambiguous view template request into concrete candidates.
create_view_template_from_view
Create a view template from an existing view.
duplicate_view_template
Duplicate an existing view template into a new template name.
update_view_properties
Update view template, scale, scope box, and crop region on existing views.
update_view_template_properties
Update view template name, scale, detail level, and display style.
set_view_template
Apply or remove a view template from one or more views.
apply_view_template_batch
Apply or remove view templates across multiple groups of views in one batch.
open_view
Open an existing view by id or name for the user.
rename_views
Rename existing views by id or exact name.
rename_views_preview
Preview old-name to new-name mapping for renaming views.
get_current_view_elements
Return elements from the active view (host and visible links), optionally filtered by category.
analyze_current_view
Capture the active view as an image and analyze it with a multimodal model.
analyze_dimension_context
Capture a 2D view and visible element metadata for dimension planning.
plan_dimension_layout
Plan candidate dimension layouts for a view without mutating the model.
preview_dimension_layout
Preview a dimension layout without creating dimensions.
verify_dimension_layout
Verify dimension preview or created dimensions against the requested scope.
create_dimension
Auto-dimension the active view according to a preset (openings, walls_outline).
capture_active_view
Capture the active view as an image for AI analysis.
capture_3d_view
Capture a 3D view as an image for AI analysis.
capture_sheet
Capture a sheet as an image for AI analysis.
create_view_snapshot
Capture a named view snapshot as an image.
zoom_to_element
Zoom the active view to focus on a specific element.
isolate_elements
Temporarily isolate elements in the active view.
hide_elements_temporarily
Temporarily hide elements in the active view.
align_viewports
Align viewports across multiple sheets.
duplicate_view_with_detailing
Duplicate a view including its detailing.
assign_scope_box_to_views
Assign a Scope Box to one or more views.
rename_views_by_standard
Batch-rename views according to a naming standard.
Analysis & QA
41Inspect the model, validate against standards, and surface warnings or anomalies.
view_warnings
List and prioritize model warnings grouped by severity.
scan_model
Scan model categories, schedules, and warnings for a full inventory.
get_model_metadata
Build a normalized metadata snapshot from a model scan.
export_model_metadata
Export model metadata to JSON for AI context snapshots and audits.
import_model_metadata
Import a metadata snapshot and compare it against a live model scan.
validate_level_composition
Validate one modeled level and return standardized blocking/warning issues.
autofix_level_issues
Apply safe, non-destructive auto-fixes for level composition issues.
model_level_checkpoint
Orchestrate level modeling with capture, validation, autofix, and pass/fail gate.
verify_after_mutation
Run declared read-only verification tools after a mutation phase.
verify_elements_geometry
Verify existence, category, level, and bounding-box dimensions of elements.
verify_bim_geometry_package
Verify expected levels, slabs, curtain walls, and structural core elements.
preview_batch_mutation
Summarize intended batch mutations before approval.
summarize_pending_changes
Combine mutation previews into a single approval summary.
transaction_log
Read recent backend command and run history.
load_office_standard
Load an office-standard JSON payload for later standards validation.
organize_project_browser
Preview or apply office Project Browser organization rules.
get_current_project_browser
Read the active Project Browser organization without modifying the model.
compare_before_after_images
Compare two image payloads and return a deterministic diff summary.
detect_visual_issues
Inspect captured-view metadata and return visual QA issue candidates.
verify_room_layout_program
Verify created rooms against a target room program and area tolerance.
audit_model_health
Run a full model health audit across categories.
generate_qaqc_report
Generate a QA/QC report for the model.
find_elements_without_required_parameters
Find elements missing required parameter values.
find_missing_type_marks
Find element types missing a Type Mark value.
find_invalid_fire_rating_values
Find elements with invalid fire rating values.
find_duplicate_instances
Find duplicate element instances in the model.
find_overlapping_walls
Find walls that geometrically overlap.
find_unassigned_materials
Find elements missing an assigned material.
find_in_place_families
Find in-place family instances in the model.
group_warnings_by_type
Group model warnings by type for triage.
validate_view_names
Validate view names against a naming standard.
validate_sheet_names
Validate sheet names against a naming standard.
validate_family_names
Validate family names against a naming standard.
validate_worksets
Validate workset assignment against a standard.
validate_parameters_against_standard
Validate parameter values against an office standard.
validate_line_styles
Validate line styles against a standard.
validate_material_names
Validate material names against a standard.
validate_browser_organization
Validate Project Browser organization against a standard.
suggest_standard_fixes
Suggest fixes for detected standard violations.
apply_standard_fixes
Apply approved fixes for standard violations.
generate_compliance_score
Generate a compliance score summarizing standard adherence.
Data & lists
37Query model data, manage parameters, and generate schedules.
list_categories
List categories with built-in ids, type, and optional element counts.
list_family_types
List loaded family/type definitions by category, family, and type name.
list_levels
List all levels with their elevations.
list_materials
List materials with ids, names, class, and optional usage counts.
list_model_elements
List elements by category, name, level, type, and bounding box.
list_parameters
List parameters available on selected/filter-matched elements.
get_elements_by_category
Query elements by category and return selected parameter values.
find_elements
Stateless model element search by id, category, level, type, bbox, or parameter filters.
get_schedules
Return schedules with their columns and rows.
create_schedule
Create a schedule with a specified category, fields, and optional grouping/sorting.
filter_schedule
Filter schedule rows by a parameter condition.
sort_schedule
Sort schedule rows by a chosen field.
group_schedule
Group schedule rows by a chosen field.
add_schedule_field
Add a field to an existing schedule.
remove_schedule_field
Remove a field from an existing schedule.
export_schedule_to_excel
Export a schedule to an Excel file.
compare_schedule_versions
Compare two versions of a schedule for changes.
generate_quantity_summary
Generate a quantity takeoff summary by category.
generate_door_schedule
Generate a door schedule with standard fields.
generate_room_schedule
Generate a room schedule with standard fields.
generate_window_schedule
Generate a window schedule with standard fields.
generate_material_takeoff
Generate a material takeoff summary.
get_parameter_schema
Get the parameter schema for a category or family.
find_parameter_by_name
Find elements by a specific parameter name and value.
bulk_set_parameter
Set a parameter value across many elements at once.
copy_parameter_value
Copy a parameter value from one element to others.
map_parameters_between_elements
Map parameter values between related elements.
validate_parameter_values
Validate parameter values against expected rules.
normalize_parameter_text
Normalize text formatting across a parameter's values.
assign_classification_code
Assign a classification code (Uniclass/Omniclass) to elements.
assign_fire_rating
Assign a fire rating parameter to elements.
assign_phase_parameter
Assign a construction phase parameter to elements.
import_parameter_matrix
Import a parameter value matrix from a file.
export_parameter_matrix
Export a parameter value matrix to a file.
get_elements_by_level
Get elements filtered by a specific level.
get_element_properties
Get built-in properties for specific elements.
get_element_parameters
Get parameter values for specific elements.
Media & AI generation
5Generate or capture visual outputs with AI models.
create_image
Generate concept images with OpenAI GPT-Image or Gemini image models, optionally targeting a specific view.
generate_video
Generate a video from an image using MiniMax Hailuo or Google Veo models.
analyze_reference_image
Analyze an uploaded reference image for downstream BIM modeling — scale, rooms, and openings.
generate_render_prompt_from_view
Generate a rendering prompt from view and capture metadata.
generate_design_variation_from_view
Generate design-variation prompts from a captured view.
Rooms & spatial
16Create and query room geometry and contextual spatial data.
create_areas
Place areas by point in a resolved area plan view.
create_area_boundaries
Create area boundary lines from line segments.
create_rooms
Place rooms by point or boundary centroid on a resolved level.
create_room_separators
Create room separation lines from line segments.
create_room_layout_from_program
Create a full room layout from a program: separators, rooms, verification, and tags.
generate_space_layout
Generate a deterministic room layout proposal from a program with target area — preview-only.
list_rooms
List rooms with number, name, level, area, perimeter, and bounding box.
get_room_geometry
Get room geometry summary: area, perimeter, level, and boundary loops.
analyze_spatial_relationships
Read-only spatial relationship analysis for rooms and areas.
query_rooms_contextual
Find and rank room candidates using query text plus current Revit context.
tag_rooms
Tag rooms by id, selector, or active selection.
tag_areas
Tag areas by id, selector, or active selection.
assign_department_to_rooms
Assign a department parameter to rooms.
find_unplaced_rooms
Find rooms that are not placed in the model.
find_unbounded_rooms
Find rooms missing valid boundaries.
sync_room_data_to_doors
Sync room data onto adjacent door parameters.
Knowledge & RAG
2Upload documents and search your organization's knowledge base.
search_knowledge_base
Semantic search across uploaded PDFs and Word docs using pgvector embeddings.
web_search
Search the web for up-to-date information.
GIS & CAD import
10Import and analyze geospatial and CAD reference data.
gis_inspect_dataset
Inspect a GIS dataset, returning layers, CRS, bounds, and schema.
gis_filter_layer
Filter a GIS layer by bounding box and/or attribute.
gis_transform_crs
Reproject a GIS layer to a target coordinate reference system.
gis_analyze_layer
Analyze a GIS layer for bounds, geometry types, and totals.
gis_export_dxf
Export a GIS layer to DXF on a named CAD layer.
gis_prepare_revit_package
Prepare a Cora GIS Revit package (DXF plus manifest).
import_gis_revit_package
Preview or create native Revit model curves from a GIS Revit package.
import_cad_reference
Preview or apply a CAD (DXF/DWG) reference import or link.
cad_inspect_topography
Inspect a topographic CAD file for usable 3D points and contours.
cad_prepare_toposolid_package
Extract normalized 3D points from a topographic CAD file for a toposolid.
Code & automation
3Code execution, saved workflows, and advanced utilities.
send_code_to_revit
Compile and run arbitrary C# against the active document via the Roslyn compiler.
run_saved_workflow
Run a saved workflow template through already-registered tools.
save_workflow_template
Save an agentic workflow template as local JSON without executing it.
IFC interoperability
10Export, validate, and map Revit data against IFC classes.
read_ifc_file
Read a bounded IFC text file and summarize entity classes.
query_ifc_elements
Query IFC text by entity class or name without mutating Revit.
export_ifc
Export the model or selection to IFC.
inspect_ifc_mapping
Inspect Revit-category-to-IFC-class mapping.
validate_ifc_classes
Validate assigned IFC export classes.
find_elements_missing_ifc_class
Find elements missing an IFC export class.
assign_ifc_export_class
Assign an IFC export class to elements.
compare_revit_vs_ifc_counts
Compare Revit and IFC element counts for a consistency check.
map_revit_category_to_ifc_class
Map a Revit category to an IFC class.
generate_ifc_validation_report
Generate an IFC export validation report.
Reporting & export
4Generate reports and exportable documents from BIM data.
export_to_word
Generate a bounded Word (.docx) artifact from report text.
export_to_powerpoint
Generate a bounded PowerPoint (.pptx) artifact from report text.
generate_dynamo_script
Generate an editable Dynamo (.dyn) artifact with a Python Script node.
compose_bim_notion_report
Compose a Notion-ready BIM report from completed read-only tool results.
Utility
1Small utility tools used across workflows.
get_current_datetime
Get the current date and time, with timezone.
Command Library
Use these prompts as starting points. Cora Agent understands multilingual input — type in your preferred language.
Create dimensions for openings on the active view with a 400mm offset.
Create 5 levels from Level 0 with 3.5m spacing.
Analyze the current view and summarize key elements and warnings.
Generate a concept image based on the active Revit view.
Generate a 5s video of this space using Veo 2.0.
Search my uploaded documents for fire resistance standards.
Execute C# code to count all wall elements in the model.
Create a schedule for all doors with width and height parameters.
Search the web for the latest Revit 2026 API changes.
Tutorials
Short, focused walkthroughs to help your team adopt automation quickly.
Auto dimensions with presets
Use create_dimension to tag openings or wall outlines with offsets.
Batch levels in minutes
Run create_levels_batch and verify naming and spacing.
Model health review
Combine analyze_current_view and view_warnings for QA.
RAG document upload
Upload project standards as PDF/DOCX and ask questions using natural language.
Generate project video
Use generate_video to create a conceptual walkthrough with Veo 2.0.
Execute custom C# code
Use send_code_to_revit with Roslyn to automate any Revit API operation.
Support
Need help troubleshooting or planning an automation? Reach the team below.
Updates
Keep track of releases, new tools, and upcoming improvements.
Agent run lifecycle, GIS tools, and IFC interoperability
Agent runs can now resume, be approved, or be cancelled mid-flight, with the plugin UI reflecting live run state. New GIS toolset (dataset inspection, CRS reprojection, DXF export, Revit package import) and a full IFC interoperability suite for export, class mapping, and validation. Continued hardening of the LangGraph orchestration core and MCP connections. Tool catalog now spans 230+ tools across modeling, documentation, analysis, GIS, and IFC.
Revit 2027, Code Workspace, room intelligence, and hosted elements
Full Revit 2027 API support alongside 2024-2026. New Code Workspace for creating, testing, and running C# automations with the Roslyn compiler. Room-grounded context for spatial queries, Ollama provider for local open-source models, and a full hosted element pipeline (doors, windows, floors, roofs, railings, curtain walls). Sheet naming and translation workflows for documentation delivery.
Roadmap briefs
Follow the short roadmap posts to see what the team is building next: DeepSeek integration, voice mode, web dashboard, and advanced analytics.