FlowRunner
PricingContact
Theme
Start Free

ShipHero

Logistics

Run warehouse and fulfillment operations from AI agents through ShipHero's GraphQL API. Agents list and create orders, browse the product catalog, check per-warehouse inventory before fulfilling, and reach any part of the schema with a raw GraphQL query.

6 actions API key available
ShipHero website ↗ Platform Documentation ↗ Capability data verified 2026-07-28
A new order lands in the sales channel outside the native sync path, a wholesale form, a marketplace, a B2B portal
Get Product Inventory checks each line item's SKU for available stock across warehouses before anything is promised
The agent validates the shipping address, flags SKU mismatches, and confirms quantities against sellable stock
Orders that fail validation, insufficient stock, ambiguous SKU, freight-scale quantities, go to the fulfillment lead with the evidence attached
Create Order pushes the clean and approved orders into ShipHero with order number, customer, address, and line items
List Orders confirms the order registered with the expected fulfillment status
The operations channel gets the intake summary: created, held, and why

What This Integration Enables

A warehouse management system is only as good as what reaches it and what escapes it: orders have to arrive complete and correct, and fulfillment problems have to surface before customers do. ShipHero's single GraphQL endpoint makes both programmable, and this connector puts it inside FlowRunner flows. Agents list and create orders, browse the catalog, read per-warehouse inventory down to allocated and reserve quantities, and reach the rest of the schema, returns, shipments, purchase orders, through raw GraphQL when the dedicated actions stop. - Push orders from any sales channel or form into the warehouse, stock-checked first - Look up an order's line items and fulfillment status for support in seconds - Read on-hand, available, allocated, backorder, and reserve quantities per warehouse - Sweep for pending and stuck orders on a schedule - Reach any query or mutation in the schema via Run GraphQL Query Fulfillment automation carries a stake most software automation does not: the output is atoms, not rows. A bad database write gets corrected; a bad order gets picked, packed, labeled, and driven away. That asymmetry is why FlowRunner treats the warehouse boundary as a governed edge rather than just another API. Reads flow freely because information is cheap; writes cross through validation and, where the stakes warrant, a [human-in-the-loop](/concepts/human-in-the-loop) checkpoint, because recalling a shipped box costs more than approving an order ever will. The warehouse gets the speed of automation with the error rate of a careful human.

Without FlowRunner

Off-channel orders queue for re-keying Wholesale and portal orders wait for someone to type them into the WMS
Stock answers require a dashboard "Do we have 40 units in the east warehouse?" means logging in and drilling down
Unfulfilled orders surface on complaint Pending orders age quietly until a customer emails asking where their box is

With FlowRunner

Every channel feeds the warehouse Orders flow into ShipHero validated, with stock checked before the promise is made
Inventory answers live in the flow Per-warehouse on-hand, available, and allocated numbers arrive where decisions happen
Aging orders announce themselves Pending-status sweeps flag stuck fulfillment every morning with order numbers attached

Use Case Scenarios

The morning unfulfilled-order sweep

At 7am, List Orders filtered to Pending pulls everything not yet moving, and the agent ages each order against its creation date. The digest posts to [Slack](/integrations/slack): fourteen pending, three older than 48 hours, order numbers and customer emails included, with Get Order detail on the stuck ones showing which line items are pending fulfillment. Operations starts the day knowing exactly which orders need a human shove, instead of finding out from support tickets.

Low-stock detection that feeds reordering

A nightly agent walks the fast-moving SKUs and calls Get Product Inventory on each, logging on-hand and available per warehouse to [Google Sheets](/integrations/google-sheets). SKUs that cross their reorder threshold get flagged with their allocation picture: 12 on hand, 10 allocated, 2 sellable is a very different situation than 12 on hand and 12 sellable. The purchasing lead reviews the flagged list with real allocation context, and reorders happen before the stockout, not after the backorder emails start.

Every sales channel lands in one warehouse queue

Orders from [Shopify](/integrations/shopify) sync natively, but the wholesale portal and the B2B order form do not. The agent picks up each off-channel order, validates SKUs against List Products, checks stock with Get Product Inventory, and calls Create Order with the customer, address, and line items. Where the flow needs schema the dedicated actions do not cover, holds, tags, shipment queries, Run GraphQL Query fills the gap. One warehouse queue, every channel, no re-keying backlog on Monday mornings.

Human-in-Loop Highlight

Create Order sets a physical process in motion: once an order lands in ShipHero, pickers pick it, packers pack it, and a label gets bought for it, so a bad automated order costs real labor and real postage before anyone notices, and a duplicate one ships a second box that has to be clawed back from a confused customer. Run GraphQL Query deserves the same caution for a different reason: it executes mutations against the whole schema, which means an agent with a plausible-looking document can modify orders and inventory far beyond what the dedicated actions expose. FlowRunner flows draw the line accordingly. Validated orders from trusted channels create automatically; anything anomalous, a quantity ten times the SKU's daily volume, an address that fails validation, an order number the flow has seen before, stops for the fulfillment lead with the evidence laid out. And raw GraphQL documents containing mutations always stop for review, exact query and variables shown, before they touch the system that moves physical goods. Reads run all day. Writes that mobilize a warehouse get a human signature.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

6 actions

Orders

3
  • List Orders Retrieves orders most recent first with id, legacy id, order number, fulfillment status, customer email, and total price, filterable by fulfillment status and paginated with Relay-style cursors. The backbone of pending sweeps and channel reconciliation.
  • Get Order Retrieves one order by its ShipHero GraphQL id, with order number, fulfillment status, customer email, total price, and line items showing SKU, product name, quantity, and quantity pending fulfillment. The support lookup and the stuck-order diagnostic.
  • Create Order Creates an order with order number, shop name, customer email, shipping address, and line items with SKU, quantity, and price, plus optional billing address, total, and profile. Returns the created order's id and number. The operation this page's human gate governs for anomalous orders.

Products and Inventory

2
  • List Products Retrieves the product catalog with each item's GraphQL id, SKU, name, barcode, and kit flag, cursor-paginated. The validation reference for order intake flows.
  • Get Product Inventory Retrieves a product by SKU with per-warehouse inventory: on-hand, available, allocated, backorder, and reserve quantities. The stock check that runs before any order is created or promised.

Advanced

1
  • Run GraphQL Query Executes an arbitrary query or mutation against ShipHero's public GraphQL endpoint with optional variables, returning the raw response. The escape hatch to the full schema, gated by a person whenever the document mutates.

Frequently Asked Questions

What can FlowRunner do with ShipHero?

FlowRunner agents can run List Orders, Get Order, and List Products in ShipHero, plus 3 more actions.

Does connecting ShipHero to FlowRunner require OAuth?

No. ShipHero connects to FlowRunner with an API key, no OAuth flow required.

Can ShipHero trigger a FlowRunner workflow automatically?

ShipHero doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with ShipHero

$100 in credits. No card required. Connect in minutes.