Skip to main content

Labs

caution

Everything under Labs is experimental. These features may change or be removed at any time without notice, and they are not covered by the same support commitments as the rest of the product.

What is Labs?​

Labs is a section of the web application where early, in-progress features are made available for preview before they are considered finished. It sits in the main sidebar, between Reports and Form Inbox, marked with a beaker icon.

Click path: sidebar → Labs. URL: /labs.

Sidebar with the Labs nav item, and the Labs dashboard showing stat cards and charts

Who can see Labs​

Labs is not a per-user permission or a per-role setting -- it is an instance setting your Appello administrator or Appello support enables, and it decides whether the feature exists on your instance at all.

  • On: every user on that instance sees the Labs item in the sidebar, and it opens the dashboard.
  • Off: the nav item isn't shown at all, and going straight to the Labs URL returns you to the Dashboard instead of rendering the page.

Because it is an instance setting rather than a permission, there is no screen in the product -- for admins or anyone else -- where you turn Labs on or off.

note

Ask your Appello contact whether Labs is enabled for your instance -- there is no in-app setting to check or change it yourself.

On the demo instance on 2026-09-08, opening Labs rendered the dashboard directly (stat cards, both bar charts, and the empty Labor Distribution Curve card) with no redirect, which confirms Labs is on there.

Labs dashboard​

Where it is: sidebar → Labs. URL: /labs.

What it's for: a read-only, at-a-glance summary of your jobs and projects -- four count cards and two status breakdown charts, plus one chart area reserved for a labor visualization that isn't populated yet.

Sidebar with the Labs nav item, and the Labs dashboard showing stat cards and charts

Cards and charts​

Card / chartShows
Total JobsCount of non-archived, non-deleted jobs.
Active JobsCount of those jobs that are active, with "of N total" shown underneath.
Total ProjectsCount of non-archived, non-deleted projects.
Active ProjectsCount of those projects that are active, with "of N total" shown underneath.
Jobs by StatusBar chart of your jobs grouped by job status.
Projects by StatusBar chart of your projects grouped by project status.
Labor Distribution CurveA chart area reserved for a labor distribution visualization.

If your user role is scoped to project-based visibility, all four counts and both charts are limited to jobs and projects where you are the project lead. There are no filters, date ranges, or drill-down clicks on this page -- it is a fixed, non-interactive summary.

note

On the demo instance used for these screenshots, the Labor Distribution Curve card rendered empty. Whether it shows a curve likely depends on the labor data available on a given instance.

Permissions and flags: gated only by the Labs instance setting described above. The stat-card and chart counts additionally respect your existing job/project visibility scope (project-lead-only roles see a narrower count), but there is no separate Labs permission.

Drawing Viewer​

Where it is: /labs/drawing-viewer (linked from nowhere in the product's navigation -- see How to open a drawing below). The same underlying component also opens inside a flyout panel from the Request For Information form's Associate Drawing Reference button -- see Linking a drawing markup to an RFI.

What it's for: viewing and marking up a PDF drawing or reference document -- zoom, pan, rotate, page through a multi-page sheet set, draw shapes/callouts/photo stamps on top of it, and export the result back out as an annotated PDF. It is also the entry point for tying a specific marked-up area of a drawing to an RFI.

Supported file types​

The Drawing Viewer only opens PDF files. There is no support for DWG files or plain images -- if you point it at a non-PDF file, it has nothing to render.

How to open a drawing​

The Labs dashboard does not link to the Drawing Viewer -- there is no button for it. Opening it requires a specific PDF file's asset ID, passed in the URL:

  1. Go to a job's Files section and find a PDF file.

  2. Note the file's asset ID -- shown in the URL when viewing that file's details.

  3. Navigate to:

    /labs/drawing-viewer?assetId=YOUR_ASSET_ID&jobId=YOUR_JOB_ID

    The jobId parameter is optional. Supplying it enables the Select Area for RFI button (see below); without it, the viewer opens in plain markup mode with no RFI integration.

If you open /labs/drawing-viewer with no assetId in the URL, you instead see a placeholder screen with these same instructions:

The Drawing Viewer Test placeholder page shown when no assetId is provided

note

The demo instance's seeded jobs (Bay Street Tower — RTU Replacement, Mercy Hospital — Chiller Plant Retrofit) had no PDF files in their Files tab at the time of writing, and the Request For Information list had no existing records either -- so a live screenshot of an opened drawing with markup on it could not be captured on the demo instance (which is also read-only: no file can be uploaded to create one). The tool and data descriptions below are described rather than captured from exercising the loaded viewer.

Zoom, pan, rotation, and pages​

ControlWhat it doesKeyboard shortcut
Zoom in / outSteps through preset zoom levels from 25% to 400%.+ / -
Zoom level selectorJumps directly to a preset level (25%, 50%, 75%, 100%, 125%, 150%, 200%, 300%, 400%).--
Fit to widthScales the page to fill the viewer's width.W
Fit to pageScales the whole page to fit within the viewer.F
Pan toolDrag to scroll the page instead of drawing.H
Select toolClick/drag to select and move an existing annotation.V
Rotate left / rightRotates the drawing 90° at a time. The chosen rotation is saved per document (see below) and applies for every viewer, not just your session.Shift+R / R
Page gridOpens a thumbnail grid of every page for jumping around a multi-page PDF.G
Next / previous pageMoves one page at a time.↓/→ and ↑/←
Next / previous fileIf the drawing has sibling PDFs open alongside it (e.g. other files in the same folder), switches to the next/previous one.] / [
Rename a pageSets a custom label for the current page (desktop only); shown in place of the default "Page N".--

Undo, redo, and delete-selected are also always available (Z, Shift+Z, Delete/Backspace), and Esc cancels the current tool or closes an open panel.

Markup tools​

When the drawing is open in Markup Editor mode (as opposed to read-only PDF Viewer mode), the toolbar offers:

CategoryTools
ShapesRectangle, ellipse, line, arrow, polygon (click points, double-click to close)
FreehandPencil, highlighter, eraser (click an object to remove it -- not a drag-erase)
Cloud markupRectangle cloud, freehand cloud, cloud callout (points + a text label)
Text & calloutsText label (click to place editable text), arrow callout (drag an arrow with attached text)
MarkersPin marker, in numbered, circle, square, or star style
Sticky notesA colored square note (yellow, pink, blue, green, or orange)
PhotosAttach a new photo (upload or camera capture), or browse and stamp in an existing Appello photo already attached to the Job or Project

Each drawn object can be styled before or after placement, from options that appear in a tool-specific strip under the main toolbar:

OptionApplies toChoices
ColorShapes, freehand, cloud markup, text, pinsRed, orange, yellow, green, blue, purple, black, white
Stroke widthShapes, freehand, cloud markup1, 2, 3, 5, 8, or 12 px
Font sizeText labels, arrow callouts10-48 px, in preset steps
Cloud arc sizeCloud rectangle / freehand / calloutSmall, medium, large
Pin stylePin markerNumbered, circle, square, star
Sticky note colorSticky noteYellow, pink, blue, green, orange
Photo borderPhoto stampNone, thin, medium, thick, or a white border

There is no separate concept of layers in the Drawing Viewer -- every annotation, regardless of tool, is one object on the same flat page canvas. Objects can be individually selected, moved, and deleted, but there is no grouping, hiding, or reordering by layer.

Saving annotations and where they're stored​

Annotations save themselves as you work -- there is no explicit Save button:

  • Each markup object is auto-saved about 1 second after you stop editing it (adding, moving, or resizing it resets that timer).
  • Deleting an object saves immediately.
  • Undo/redo, and switching pages, force an immediate full-page reconcile rather than waiting on the per-object timer.

Every annotation is saved on the server, one record per drawn object, tied to the drawing and the page it sits on. Deleting an annotation marks it deleted rather than removing it outright.

Two related pieces of drawing state persist the same way, but separately from the markup objects themselves:

  • Rotation -- a per-document (not per-page) manual rotation override, shared by every viewer of that drawing, saved whenever you rotate with the toolbar or R/Shift+R.
  • Page labels -- a custom name for an individual page, saved when you rename it. Pages without a saved label fall back to the default "Page N". Renaming is only available from the desktop viewer; the mobile app can display a saved label but not set one.

Linking a drawing markup to an RFI​

When the viewer was opened with a job (see How to open a drawing above), a Select Area for RFI button appears in the toolbar. Using it:

  1. Click Select Area for RFI, then drag a rectangle over the relevant part of the drawing. The selection can be moved and resized before you confirm it.
  2. Confirming opens either the Create RFI form (for a brand-new RFI) or an Attach to RFI picker (to add the area to an existing RFI), depending on how you got there.
  3. A thumbnail of the selected area is generated and uploaded, and the reference is saved.

The saved reference records the drawing, the page number, the area you selected, the generated thumbnail, and optional title/description text. Each RFI can hold only one drawing area reference; attaching a new one replaces the previous one.

This is the same flow as the RFI form's Associate Drawing Reference button, which opens the viewer in a flyout instead of the standalone Drawing Viewer page -- see Attaching a drawing reference for that end-to-end walkthrough (creating the RFI, viewing the reference from the RFI, and removing it).

Export and print​

The toolbar's Download button is always available, in both viewer and editor mode:

  • In read-only PDF Viewer mode, its tooltip reads "Download" and exports the PDF as-is.
  • In Markup Editor mode, its tooltip reads "Download with annotations" and exports the PDF with every markup object burned into the page.

There is no separate print button or print preview -- printing a drawing means downloading the (optionally annotated) PDF and printing it from your PDF reader.

Permissions and flags​

GateControls
Labs enabled on the instanceWhether Labs (and therefore the standalone Drawing Viewer page under it) exists at all.
A job supplied when opening the viewerWhether the Select Area for RFI button appears.
Request For Information → CreateRequired to see Select Area for RFI (creating a new RFI or attaching to an existing one).
Request For Information → EditRequired to open an existing RFI's drawing reference for editing from the viewer.
Request For Information → ViewRequired to view an existing RFI's drawing reference from the viewer.

Beyond those RFI-specific checks, opening a drawing and marking it up is not gated by a separate permission -- if you can open the underlying PDF file at all (i.e. you have normal access to that Job's Files), you can annotate it, undo/redo, and rotate it. The product's own code comments note this is deliberate: adding a permission check to the Annotate toggle would only break rotation persistence for read-only entry points, without adding real protection.