Release notes
Trigger Nash on your own events
Highlight
Trigger Nash on your own events. Your operation has milestones Nash doesn't define on its own, a quality check clears, a customer confirms a delivery window, an item comes back damaged. Until now you could react to Nash's built-in delivery statuses, but not to the events specific to how you run.
Now you can. Post a custom event to an order, the event name is yours, and a workflow that listens for it runs. Build the workflow around your event with an event trigger, then let it do the work: branch on the order's attributes, apply a dispatch strategy, modify the order, send a notification, hand off to a Nash Agent to investigate and act, or emit the next event in your own process. The events that used to live only in your systems can now drive Nash automations end to end.
New & improved
Nash Agent
- Agent settings as code. View, edit, and download a custom agent's full configuration as JSON from the agent editor, preview the diff before you save a change, and create or share an agent by pasting a definition back in.
- Agent run notifications now carry an attribution footer that links the agent and the exact session that produced the message, across email, Slack, and webhook destinations, with a per-agent toggle to turn it off. *(On by default.)*
- Org skills now appear in the chat slash menu, and skill error messages read in plain language instead of raw error text.
- Custom agents show their chosen icon in the sidebar, so a workspace with several agents is easier to scan.
Workflows
- The order-modified trigger now lets you choose exactly which order fields fire it, pickup or dropoff time, location, contact, instructions, items, tip, or order value, instead of firing on every change.
- Filter workflows on driving distance for an order or package, and reference a delivery's own ID as a workflow variable.
Integrations
- Added Autolane as a delivery provider, including live status updates over webhooks.
Portal
- Choose which route metadata fields appear in the route side pane and as columns in the routes table, with suggestions drawn from the open route's own metadata and a live value preview.
- The Activities page has a new Skipped filter.
- Product details now show a product's dropoff service time alongside its handling specs.
Tracking
- A new Driver Location After Delivery setting keeps a delivery's last-known driver location visible on the public tracking page after it completes, useful for support teams confirming a driver arrived. *(Opt-in; off by default. The return-to-store leg stays hidden either way.)*
Fleet
- Driver app: in routes mode, a single barcode scan can complete the whole delivery, accepting all of its items at once. *(Opt-in, per driver group.)*
Fixes
Nash Agent
- When a tool returns an unexpected result, the Agent reports the real cause instead of inventing one, it no longer, for example, falsely blames a permissions problem.
- The Agent side panel no longer carries a previous chat session into a new one.
Orchestration
- A delivery that falls back to a backup dispatch strategy now switches on every reassignment, not only the first, so repeated provider cancellations keep escalating to the configured backup.
- Optimizing orders whose contract has no eligible vehicle types now returns a clear "no eligible routes" error instead of failing opaquely.
Tracking
- A batch delivery with a single remaining stop and no live driver location now shows an ETA estimated from drive time, instead of perpetually reading "arriving now."
Integrations
- Shopify orders build the dropoff address from Shopify's structured address fields, so apartment and suite numbers are preserved instead of being dropped during geocoding.
- Shopify packing slips reflect order discounts in line totals and the subtotal, reconciling to the order total.
- The Toast dining-options selector keeps your selection instead of resetting it.
- Purolator shipments that haven't been scanned yet refresh cleanly and fetch the shipping label, instead of erroring until the first scan lands.
- Fulfilld deliveries that fail are reported as failed, not as completed.
- Uber pick-pack-and-pay orders with a $0 pickup payment now dispatch instead of being rejected.
- Provider-reported wait fees are kept when a delivery completes, instead of being overwritten to zero.
Portal
- A slow or unreachable region no longer freezes the org picker or sign-in.
- Large CSV uploads that hit a transient database drop on the final write retry and keep their summary and failed-rows download, instead of being marked as a timeout with the counts lost.
- The refund requests table shows the correct page count.