Skip to Content

Start here

Custom tools

Keep the scripts you trust in a folder, and your AI assistant gets each one as a tool of its own. Instead of writing new code every time, it runs your checked script by name.

How it works

1

Save a script

Put a script in Documents\AEC Pilot\Custom Tools. Each file is one tool.

2

The assistant sees it

The assistant sees it as custom_ plus the tool's name and runs it with the arguments you describe in the file.

3

You approve it

The approval window shows the whole file before it runs.

4

It runs in your app

Your checked script runs in Revit, AutoCAD, Navisworks or whichever application you work in.

  • It works with Claude, ChatGPT / Codex, Cursor and other MCP clients, and in Pilot Chat.
  • Changes to the folder are picked up while the application is open.
  • Settings > Security > Custom tools lists what is loaded, says why a file was not, and opens the folder. The first time it creates the folder with a short how-to file.

Which language

C#

RevitAutoCADCivil 3DAdvance SteelNavisworksInventorRobot

MAXScript

3ds Max

Python

Fusion

The script is written the same way as the code the assistant runs in that application, with the arguments in args.

One file, one tool

The first lines of the file are comments that describe the tool. This Revit example lists the sheets whose number does not start with a given prefix:

// tool: check_sheet_names
// description: Lists the sheets whose number does not start with the given prefix.
// products: revit
// readonly: true
// param: prefix string required - The sheet number prefix, for example A-
string prefix = (string)args["prefix"];
return new FilteredElementCollector(doc).OfClass(typeof(ViewSheet)).Cast()
    .Where(s => !s.SheetNumber.StartsWith(prefix))
    .Select(s => s.SheetNumber + " " + s.Name).ToList();
  • tool: the name, 3 to 40 lowercase letters, digits or underscores, starting with a letter.
  • description: what the tool does, in any language, up to 400 characters. The assistant reads it to choose the tool.
  • products: where it runs: revit, autocad, civil3d, advancesteel, navisworks, inventor, robot, 3dsmax, fusion. autocad also covers Civil 3D and Advance Steel.
  • readonly: true when the script only reads the model.
  • param: one line per argument: name, type (string, number, integer, boolean), required or optional, an optional default, and a short text.

The assistant sees it as custom_check_sheet_names, with a prefix argument.

Let the assistant save it

When a script works, ask the assistant to save it as a custom tool. AEC Pilot checks the file and shows you all of it, and saves it only when you choose Save. It asks every time, and it writes only to your own folder.

In Fusion

The file to save has to fit Fusion's question box, 40 lines. A longer tool can be put into the folder by hand.

Safety: a custom tool is code

Settings > Security > Allow custom code must be on. When it is off, custom tools do not run.

Before a custom tool runs, the approval window shows its arguments and the whole file, unless you chose Don't ask again.

Only the file you were shown runs. If it changes while the window is open, the call is refused and asked again.

It goes through the same checks as any code from an assistant. In the applications that have a security check, risky calls such as deleting files or starting programs are refused.

In read-only mode custom tools are switched off.

For IT: one shared folder for the office

Set the policy value CustomToolsFolder (REG_SZ) under HKEY_LOCAL_MACHINE\SOFTWARE\Policies\7Dimensions\AEC Pilot, or under HKEY_CURRENT_USER, to a folder everyone can read, for example a network share. Environment variables are expanded.

Office folder

Set by IT, read by everyone, for example a network share.

Your folder

Documents\AEC Pilot\Custom Tools

Your assistant

Sees the tools of both folders.

Same name: the office tool wins

  • Tools in the shared folder are marked as shared for the assistant.
  • When a shared tool and a user's own tool have the same name, the shared one is used.
  • Saving from the assistant never overwrites a shared tool.

Limits

40

custom tools per application

64 KB

per file

12

arguments per tool

400

characters of description

  • Every tool is sent to the assistant with each request, so the list is kept short.
  • Only the top level of the folder is read; subfolders are ignored.
  • A file that does not fit is not loaded, and Settings says why.

New tools and your assistant

Pilot Chat sees a new or changed tool from its next message. An outside assistant keeps the tool list it was given: reconnect it to AEC Pilot to see new tools.

Connect your AI client · How to ask · For IT administrators