AVI-SPL

Microsoft Places Integration

Control Center

Sign in with your Microsoft 365 account to manage Microsoft Places resources for your organisation.

AVI-SPL

Connecting to Microsoft Places…

This may take a moment for large organisations

Something went wrong

An unexpected error occurred.

Admin Consent Required

Your Microsoft 365 administrator needs to grant this application permission to read and write Microsoft Places data for your organisation.

Redirecting to Microsoft in 5 seconds…

AVI-SPL
Dev
Places Live › Control Center
Docs Back
Buildings
Help — Control Center

Overview

Control Center provides full create, edit, and delete management for all Microsoft Places resources — buildings, floors, sections, rooms, workspaces, and desks — directly from the browser via the Microsoft Graph API.

Changes take effect immediately in Microsoft Places. No PowerShell or admin portal required.

Resource hierarchy

Resources are organised in a five-level tree matching the Microsoft Places model:

TypeDescription
BuildingTop-level container. Must already exist in Entra ID — cannot be created here.
FloorA floor within a building. Sort order controls display sequence.
SectionA named zone or area on a floor (e.g. "East Wing", "Pod A").
RoomA bookable meeting room. Can sit on a floor directly, or inside a section.
Workspace / Desk PoolA shared open-plan area. Supports drop-in, reservable, or unavailable modes.
DeskAn individual desk. Supports drop-in, reservable, assigned, or unavailable modes.

Creating resources

  • Click the + button beside any building, floor, or section to add a child resource.
  • Fill in the panel fields and click Save. Required fields are marked with *.
  • After saving, the tree refreshes silently in the background — the app stays open.

Editing & deleting

  • Click the pencil icon on any row to open its edit panel.
  • Modify fields and click Save. The tree updates in place — no loading screen.
  • Click Delete at the bottom-left of the panel to permanently remove the resource.

Deletions are permanent and cannot be undone from this tool.

Bulk Import

Click Bulk Import in the toolbar to open the import modal. Two modes are available:

Single type

  • Select a resource type and a parent (building → floor → section as required).
  • Download the CSV template, fill it in, then upload the file.
  • All rows are imported under the selected parent.

Multi-type

  • Each CSV row defines its own type and full parent path by name (building, floor, section).
  • Rows are processed in dependency order (floors first, then sections, then desks / rooms / workspaces) regardless of the order in your file — so you can create a floor and its desks in the same upload.
  • Buildings must already exist — they cannot be created via this tool.
  • Parent names are matched case-insensitively.

Multi-type CSV columns (19 total)

type, building, floor, section, displayName, label, sortOrder, capacity, nickname, teamsEnabled, audioDevice, videoDevice, displayDevice, mode, assignedEmail, reason, heightAdjustable, wheelchair, tags

Accepted type values

TypeAlso accepted as
floorfloors
sectionsections
deskdesks
roomrooms
workspaceworkspaces, space, spaces, deskpool, deskpools, desk pool, desk pools

During import

  • A progress bar with a shimmer animation shows while rows are being processed.
  • The current item name is shown in the progress header.
  • The active row is highlighted in the preview table and scrolls into view automatically.
  • If the API returns a temporary error (rate limit or service unavailable), the row automatically retries up to 3 times — shown as ↻ retry 1 in the status column.
  • Failed rows are marked ✗ with the error reason. The rest of the batch continues.

After import

  • A ✓ X succeeded · ✗ Y failed summary appears below the progress bar.
  • Click Download Log to export a CSV of every row with its status and any error message.
  • Click Done (green) to close the modal. The tree refreshes silently in the background.

Filters

  • Search — matches resource names, labels, and email addresses. Case-insensitive.
  • Building / Floor / Section — cascading scope filters. Each narrows the options in the next dropdown.
  • Type — filters to a specific resource type. Options update based on the selected scope.
  • Expand / Collapse all — toggles the entire tree at once.
  • Clear — resets all filters.

Permissions required

The signed-in user's account must have admin consent granted for the following Microsoft Graph permissions:

  • User.Read — identifies the signed-in user
  • Place.Read.All — reads all Places resources
  • Place.ReadWrite.All — creates, updates, and deletes Places resources

Place.ReadWrite.All requires a tenant administrator to grant consent — individual users cannot self-consent to this permission.

Troubleshooting

  • Save returns an error — check the red message below the Save button. Common causes: missing required fields, or insufficient API permissions.
  • Occasional ✗ errors during bulk import — the API sometimes returns transient errors under rapid requests. The import retries automatically up to 3 times per row. If a row still fails, re-run the import with just the failed rows.
  • Resources not appearing after save — the tree dims briefly and refreshes automatically. If a new resource still doesn't appear, click Refresh — Places can take a few seconds to propagate changes.
  • Admin Consent screen shown — a tenant administrator must visit the consent URL and grant Place.ReadWrite.All before write operations will work.
  • Multi-type import: "Building not found" — building names in the CSV must exactly match the display name in Microsoft Places (case-insensitive, but spelling must be exact).
New Building

Bulk Import

What are you importing?

Multi-type import

Each row specifies its own type, building, floor, and section. Rows are processed in dependency order (floors → sections → desks / rooms / workspaces) so you can create parents and children in the same file. Buildings must already exist in Microsoft Places.

Valid type values: floor, section, desk, room, workspace — also accepts plurals and aliases e.g. desks, spaces, deskpool, deskpools

CSV Template

Download the template for the selected type, fill it in, then upload below.

Upload CSV

Click or drag a CSV file here

Fill in the downloaded template first

Progress

Preview

Sync to Exchange

Buildings to sync

How it works

Check Current State reads each room's existing v1 Exchange data and compares it against Places. Only fields that actually differ are shown as changes — rooms that are already up to date are skipped automatically. Click Sync to apply only the differences.

Rooms without an Exchange mailbox are flagged ⚠ and skipped.

Syncing

Rooms to check