Set up & import with AI
Use a connected assistant to build your organization structure and load your data - the build order, the bulk tools, and the guardrails.
If you are comfortable working with an AI assistant, you can stand up an entire AssetLab environment through a conversation - classifications, sites and buildings, the asset register, PM program, and the historical records that go with them. Every write the import wizard performs is also available as an MCP tool, so the assistant reads your source files, asks about the parts that are ambiguous, and creates the records.
This is an alternative to the wizard, not a replacement for it. Pick the door that matches your data.
| Your situation | Better door |
|---|---|
| Clean spreadsheets, one sheet per record type | Import wizard - mapping, validation, and re-import updates rows in place |
| Messy sources: a PDF condition study, five inconsistent exports, a consultant's report | An assistant - it reads, normalizes, and asks before writing |
| Structure to design, not just data to load (classifications, PM program, forms) | An assistant - it drafts the hierarchy with you and creates it |
| Repeatable nightly sync from another system | REST API + webhooks |
| GIS features - roads, water, sewer | Esri sync, which stays current instead of loading once |
What you need
- Administrator access to create the key.
- An API key with the write scopes for what you are loading - Settings → API Keys. A build key is a temporary key: name it "Onboarding - temp", give it the scopes the build needs (or
*:*if you are loading everything), set a short expiry, and revoke it when the build is done. See API keys. - A connected assistant - Claude or ChatGPT.
- Your source material in the conversation - spreadsheets, exports, a scanned inventory, the consultant's PDF.
The build order
Records reference each other, so build outward from the things nothing depends on. This is the same order the import wizard uses, and it is the order to walk with an assistant:
- Foundation - asset type groups, asset types, asset statuses, work categories, part categories, manufacturers, vendors, parts.
- Places - sites, then buildings, then locations (building types and location types first if you use them).
- Classification - system classes, then system groups, then systems. See classifications.
- Assets - the register itself, referencing the places and systems above.
- Extras on assets - custom fields (definitions, then values), condition assessments, costs, replacement plans.
- Maintenance program - form templates and their items, PM templates, PM schedules, then open work orders.
- Finance and delivery - budgets, contracts, invoices, purchase orders, expenses, projects and their tasks and milestones.
Ask for one step at a time and confirm it before moving on. A wrong system class caught at step 3 is a two-minute fix; caught after 4,000 assets reference it, it is a cleanup project.
Loading records in bulk
Two tools do the heavy lifting: bulk_create and bulk_update, each taking up to 100 records per call for the resources they support - assets, sites, buildings, locations, systems and their groups and classes, asset types, statuses, work categories, manufacturers, vendors, parts, custom fields, PM schedules and templates, form templates and items, work orders, projects and their child records, costs, contracts, invoices, and more.
Three behaviors to expect:
- Lookup before create is enforced. The assistant resolves your real site, building, and system IDs with
list_*tools before creating anything that references them. Malformed IDs are rejected with instructions to look up first - it cannot invent a building. - Creates create. Unlike the import wizard, where a re-import updates matching rows in place,
create_*andbulk_createmake new records every time. If a load is interrupted, tell the assistant to list what exists before resuming, or you will get duplicates. - Rate limits apply. Keys default to 60 requests per minute (configurable to 1,000). Bulk tools exist so a 1,000-asset load is 10 calls, not 1,000 - a well-paced assistant will batch rather than loop.
Documents and photos
Files go up through the storage tools and then get attached to records:
upload_filesends the bytes inline - practical up to roughly 1 MB, which covers most photos.create_upload_urlreturns a direct upload URL for anything larger.
Either way you get back a path, which the assistant passes to the record it belongs on - an asset image, an asset document, a work order attachment, or a project or contract document. Both need the upload_urls:write scope.
What the assistant cannot set up
Deliberately outside the API, so a key can never widen your organization's access surface:
- Users, invitations, and roles. There is no user-creation tool. Invite people and assign roles in Settings → Users.
- Organization settings. Currency, timezone, date format, module toggles, notification rules - all in Settings.
- SSO, domain access, plan and billing - Administrator-only screens in the app.
- GIS features. Infrastructure features can be created through the API, but a one-shot load of a network goes stale immediately. Use Esri sync.
A worked sequence
"Here is our equipment list from the old CMMS (attached). Before creating anything: list our existing sites, buildings, and system classes, then tell me which values in this file don't map to something that exists."
"Create the 6 missing system classes and the 14 system groups under them, using the naming in column D. Show me the tree before you write it."
"Now load the 312 assets. Match site and building by name against what exists, map 'Install Yr' to installation date and 'Repl Cost' to replacement cost, and skip rows with no asset name - list those separately so I can fix them."
"Build the PM program: for the 18 rooftop units, a quarterly inspection PM using the checklist in this manual, with an inspection form that has pass/fail checks and number readings where the manual gives ranges."
Guardrails
- Pilot with 20 rows. Same discipline as the wizard - a small batch surfaces most mapping problems at a fraction of the cleanup cost.
- Review before each write step. Ask the assistant to show what it will create before it creates it. Assistants propose; you confirm.
- Scope the key to the build. A key that can create assets does not need
users:read. - Check totals afterward. Open Dashboards - portfolio counts and replacement value make systematic errors obvious, the same way they do after a wizard import.
- Revoke the build key when the build is done, and mint a smaller one for day-to-day use. Revocation is instant.