Back to Nodes

MicroLab Prep

Last updated Jul 21, 2026

n8n community nodes to control the Hamilton MicroLab Prep (NimbusLite) liquid handler via its onboard REST API

349 Weekly Downloads
349 Monthly Downloads

Included Nodes

MicroLab Prep
MicroLab Prep Trigger

Description

n8n-nodes-microlab-prep

This is an n8n community node package. It lets you control a
Hamilton MicroLab Prep (NimbusLite) liquid handler from your n8n workflows
via the instrument’s onboard REST API.

n8n is a fair-code
licensed workflow automation platform.

Installation
Credentials
Nodes & operations
Compatibility
Resources

Installation

Follow the
community nodes installation guide
in the n8n documentation.

In n8n: Settings → Community Nodes → Install, then enter the package name:

n8n-nodes-microlab-prep

Credentials

The nodes authenticate against the instrument’s onboard REST API with a single
credential type, MicroLab Prep API:

| Field | Description |
| ——– | ———————————————————————————————– |
| Base URL | HTTP base URL of the instrument, no trailing slash (e.g. http://192.0.2.10). |
| Username | Instrument API username. |
| Password | Instrument API password. Stored encrypted; masked in the UI and never exported in workflow JSON. |

> Transport is plain HTTP with no TLS. Credentials cross the lab network
> unencrypted, so use these nodes only on a trusted internal subnet. The node
> exchanges the username/password for a short-lived JWT at request time; the
> token is never persisted to workflow JSON.

Create one credential per instrument.

Nodes & operations

MicroLab Prep (action node)

The action node exposes five resources — Run, Protocol, Run Data,
Instrument, and Errors. Operations marked Destructive change
instrument state or physically move it, and carry an in-editor warning notice.

#### Run

| Operation | Notes |
| — | — |
| Create | Starts a protocol run (only from a fully idle instrument). Simulate and Recompile toggles, plus opt-in Enable Worklist (below). Destructive. |
| Get State | Reads the current run state, decoded to a human-readable name; includes progress (currentStep) and ETA (estimatedEndTime). |
| Get Load Instructions | Reads deck-loading instructions for the current run. |
| Load Complete | Confirms the deck is loaded and starts pipetting. Destructive. |
| Pause | Pauses a running protocol. Destructive. |
| Resume | Resumes a paused run. Destructive. |
| Abort | Aborts the running protocol; the instrument returns to Idle. Destructive. |
| Cleanup | Post-run deck cleanup (after a normal finished real run). Destructive. |
| Submit Hit-Pick File | Submits a hit-pick worklist to a run step (before Create). Destructive. |
| Submit Reagent From File | Submits a reagent-from-file worklist. Destructive. |
| Submit Normalization File | Submits a normalization worklist. Destructive. |
| Get Normalization File Errors | Reads validation errors for a submitted normalization worklist. |
| Submit Barcodes | Submits deck barcodes for a run. Destructive. |
| RTSA | Runtime sample assignment for a step. Destructive. |
| Get / Set Simulation Speed | Reads / sets the simulation speed (SlowLudicrous). Set is Destructive. |

Enable Worklist (on Create): when enabled, Create submits a hit-pick worklist
to the protocol’s HitPickingStep (auto-detected, with an optional manual **Step
ID override) before** starting the run. Provide the worklist as either a
structured array of {sourceSite, sourceWell, targetSite, targetWell, volume}
rows or a ready CSV string with the header
SourceSite,SourceWell,TargetSite,TargetWell,Volume.

#### Protocol

| Operation | Notes |
| — | — |
| List | Lists protocols available on the instrument. |
| Get | Reads a single protocol by ID (includes its steps). |

#### Run Data

| Operation | Notes |
| — | — |
| List | Lists all run-data records. Choose a Summary (id + key metadata) or Full projection. |
| Get | Reads a single run-data record by its UUID. |
| Get PDF | Downloads the run-data report PDF as a binary property. |
| Get Pipetting CSV | Downloads the pipetting-detail CSV; fails with a clear message when the record’s pipetteDataAvailable is false. |

Each record exposes a stable normalized runDataId (derived from the wire id)
alongside the raw fields.

#### Instrument (read-only)

| Operation | Notes |
| — | — |
| System Ready | Server / firmware / auth readiness — a preflight before starting a run. |
| Global Run State | Instrument-wide run state. |
| Sensor Status | Door, enclosure, fan, home, and channel sensor states. |
| Door State / Has Tips / Is Parked | Individual safety/status reads. |

#### Errors

| Operation | Notes |
| — | — |
| Check Pending Errors | Lists unhandled pending errors. |
| List | Lists instrument errors (paged via offset/limit). |
| Get | Reads a single error by ID. |
| Answer Runtime Error | Responds to a runtime-error dialog (e.g. Retry). Destructive. |
| Clear Errors | Clears pending errors. Destructive. |

Numeric run-state values are decoded into human-readable names in the output, with
the raw values passed through unchanged. A non-2xx status — or a truthy hasError
flag on an HTTP 2xx response — is treated as a failure (honoring **Continue On
Fail**).

MicroLab Prep Trigger (polling trigger)

Fires a workflow when a protocol run changes state. Coarse polling of the
protocol-run state, with three optional transition filters (with none enabled,
every transition is emitted):

  • On Load Ready — emits when the run enters Loading (state 20).
  • On Finished — emits when the run enters CleanupPending (state 45), the
  • real-run finish signal, and **enriches the item with the finished run’s
    runDataId and summary so a downstream Run Data → Get PDF / Get Pipetting
    CSV** can retrieve the report directly. A simulated run never reaches state 45.

  • On Aborted — emits when an active run returns to Idle (state 0).
  • > Simulate mode caveats. A simulated run does not return the REST run-state to
    > Idle — it stays at Running with isRunInProgress: false once finished (treat
    > isRunInProgress: false, not state 0, as the sim-completion signal). **Abort
    > idles the run but does not dismiss the simulation view**; use the instrument’s
    > on-screen Stop to close a simulation.

    Compatibility

  • Requires n8n with Node.js >=22.
  • Built and tested against n8n-workflow@2.22.x.
  • Targets the Hamilton MicroLab Prep (NimbusLite) onboard REST API over plain
  • HTTP with JWT (username/password) authentication.

    Resources

  • n8n community nodes documentation
  • Hamilton MicroLab Prep

License

MIT