Release Notes//

A factory deserves more innovation and more engineering skill than the product itself.

-Elon Musk

tl;dr: Run Execution 2.0: Purchasing upgrades, inventory automations, and so much more!

Dear revolutIONaries,

ION is kicking off 2024 with major changes!

We’re excited to beta release a completely new technician user experience: ION’s next-generation Run Execution handles aBOM editing, streamlines redlining, and improves clock-in times!

Purchasing gets much-needed upgrades! Versioning, change order approvals, and a history of Purchase Order changes!

For the developer/admin community, be sure to read to the bottom to understand breaking changes to the aBOM schemas.

Run Execution 2.0 BETA

Two former screens condensed into one, instantaneous performance, and simplified workflows, all wrapped in a clean interface to reliably build your widgets faster.

  • Bulk redline approvals: approving multiple redlines on a Run just went from mundane misery to jubilant efficiency!
  • Merging redlines: insert or overwrite a freshly redlined step onto a (new) step on another Procedure or Run. Agile hardware development has never been easier!
  • Issue creation and navigation: Manage Issues from Runs with fewer clicks: all the fields are available upon creation (including custom attributes), an option to split issues for each inventory, and a perfectly placed shortcut to all the Run’s issues.

Improved accuracy of technician clock-in hours: Tracking  Run-step duration is critical for basic cost accounting, finding bottlenecks, and managing capacity. ION has leveled up how hours are tracked!

  • Auto-checkout automation (downloaded via the ION marketplace): Configure the idle time until a technician is automatically clocked out. Instructions
  • One-click clockout on all steps: technicians can sign off all steps, simultaneously.
  • Andon bar: an indicator on the top of Runs to discern whether the technician is presently (not) clocked in.
  • aBOM agility: we’ve simplified the architecture behind the as-built tree, giving you more flexibility (and a lot fewer bugs). The gif below demonstrates how to increment add/edit new build requirements (beyond the core requirements from the mBOM). Scroll to the bottom of this changelog for breaking database changes behind this this rebuild.
  • Reduce quantities from the mBOM’s default requirements (API-only, for now): Not every part requirement is always needed. It’s now possible to remove requirements, so get yourself to 100% aBOM completion!
  • Rapid sign-offs: Avoid the struggle of logging in a second user to the technician's workstation. Scan a barcode from the run-step to sign-off rapidly using a mobile device. 

Other awesome happenings

  • Analytics ASAP: an enriched pipeline that refreshes hourly AND a fast pipeline that refreshes every 15 minutes. 
  • Purchasing versions, change orders, and history! Track versions, maintain PDF copies of every version, and manage change order approvals as a function of the amount or % increase! You can find it in “Purchase Order Versions” in the ION Integrations Marketplace, and instructions found here!
  • Auto-consume line side inventory (aka backflush): Consumables get... consumed as the Run closes. Link 
  • Min/max order policy, ION style! Cease stock-outs!
  • Inventory transaction history sleuthing a part's journey has never been easier! Load times for inventory transaction history compile in seconds, not minutes! The inventory table view also 10x'd when filtering by status.
  • The full BOM dashboard (clear-to-build) - are you on track to complete your build on time? What's missing? What's constrained? We're dropping the fBOM, a dashboard compiling the mBOM requirements against the as-built aBOM's relative completion, pointing out the status of the allocated supply.



  • AUTOPLAN - “autoplan scheduler” configure how frequently ION automatically runs MRP. Find it in ION’s Integrations Marketplace!
  • AUTOPLAN - ability to soft-delete plan inputs after they’ve been planned
  • AUTOPLAN -  50% faster MRP runs! We rebuilt inventory status architecture to boost platform speeds, LFG!
  • AUTOPLAN - add completed quantity to plan inputs to improve the fidelity of forecasts 
  • AUTOPLAN - tooltip in line of balance clarifies data
  • ISSUES - auto-assign Issue on creation. The responsible engineer (custom attribute) is auto-assigned to Issues based on their respective, associated parts. Find it in the ION Integrations Marketplace!
  • PARTS - mBOM .csv export now splits out revision, UOM, and supplier part number  into separate columns
  • PLATFORM - “warning” type added to dispatchNotification API for clearer toast-banner alerts.
  • PLATFORM - BOM importer now offers clear instructions on level vs. depth notation
  • PLATFORM - custom attributes maintain consistent capitalization behavior throughout ION
  • PURCHASES - define the default supplier, cost, and supplier part number for every part (API-only, for now) via CreatePartSupplierInput mutation. 
  • PURCHASES - assignee surfaced to UI (and alerted when populated), intended to assign owners (e.g. buyers)
  • PURCHASES - internal change history to track who changed what and when on a Purchase Order
  • PURCHASES - part-supplier association, be able to default the supplier and price when ordering supply (e.g. via AUTOPLAN)
  • PURCHASES - allow tools to be purchased and received (upon request, ping us on Intercom in ION)
  • RECEIPTS - receive-all feature is BACK! Click once, instead of the torturous calamity of multiple PO lines. LFG!
  • RECEIPTS - received quantity now defaults to the quantity remaining to be received to streamline keystrokes
  • RUNS - bulk update technician session times across batches through the  updateSession mutation
  • RUNS - one open redline per step allowed at a time, to prevent errors and confusion in workflow
  • RUNS - the exporter is now reliable, radically faster, and now in tar format (instead of zip)
  • RUNS - auto-create linear step dependencies (available in marketplace). Have ION automatically create dependencies instead of manually doing it (Runs with non-linear, parallel paths must be manually edited)
  • RUNS - the ability to use existing inventory at run creation (instead of creating new). Additionally, can also set this feature as the default at Run Creation (feature flag upon request)


We are overhauling our aBOM API and will have big changes hitting in the next few months!


  • Increased Flexibility: Our updated aBOM API will empower you to modify aBOM requirements, even if they originated from the mBOM. This will enable your teams to seamlessly incorporate changes on the fly and achieve 100% installation accuracy.
  • More control: You will have the capability to edit reference designators and substitutes for each requirement separately from the mBOM.
  • Simplified Integrations: The changes will make it significantly easier to listen for install/uninstall webhooks.

Actions needed (for developers)

This project will introduce breaking changes.

  • API: If you are using the API to call any of the below mutations or a query that uses any of the below fields, you will need to update your mutations/queries.
  • Actions: If you have any ION actions (rules) using any of the objects below, those will be disabled when this project is released and you will need to update those after release.
  • Webhooks: If you have any webhooks listening to any of the objects below, you will need to update your webhook listeners after release.
  • Analytics: If you have any queries referencing abom_items or abom_edges those will need to be updated.

Going Away


  • InstallKitOnAbomItemChildren
  • CreateAbomItem
  • DeleteAbomItem
  • UpdateAbomItem

GQL Objects/Queries

  • AbomItems
  • ABomEdges
  • ABomItemReferenceDesignators


  • PartInventory.abomItems
  • PartInventory.abomChildren
  • PartInventory.abomParents
  • PartInventory.allChildren
  • PartInventory.allParents
  • Part.abomItems
  • MBomItem.abomItems
  • MBomItemReferenceDesignator.abomItems
  • AbomItemReferenceDesignator.abomItem

(and any count fields generated from these relationships)

Change summary

  • AbomItems will be replaced by BuildRequirements and AbomInstallations, where the requirement and fulfillment (install) are clearly delineated
  • AbomEdges will be replaced by PartInventoryBuildRequirements

We will reach out to all of those directly affected as we get closer to the project release. Please let us know if you have any questions. Thanks!