FlowRunner
PricingContact
Theme
Start Free

Cin7 Omni

ERP

Connect AI agents to Cin7 Omni inventory and order management. Agents read products, stock levels, sales and purchase orders, and branches, create sales orders from storefront events, and onboard customers and suppliers as contacts.

10 actions Basic auth available
Cin7 Omni website ↗ Platform Documentation ↗ Capability data verified 2026-07-27
A new storefront order arrives with three line items
List Contacts filters on the buyer's email to find their Cin7 Omni member record, and Create Contact adds them if new
Agent resolves each line to its product option ID via List Products, matching on SKU
List Stock confirms available quantity at the fulfilling branch for every line
Lines that fail to resolve cleanly, an unmatched SKU, a quantity beyond the usual range, hold for an operator to confirm before any order is written
Create Sales Order writes the order with member ID, line items, and delivery address
The order ID posts to the fulfillment channel and hands off to the shipping system

What This Integration Enables

Cin7 Omni holds the operational truth of a product business: what exists, where it sits across branches, what has been promised to customers, and what is inbound from suppliers. The recurring failure is not in Cin7, it is in the seams: the storefront that does not know branch stock, the spreadsheet report that aged out a week ago, the wholesale order typed in with a transposed quantity. FlowRunner agents work those seams. They pull products, stock, orders, and contacts out with OData-style filters, and they write sales orders and contacts in with every reference resolved first. The connector's stance: an order should never enter the ERP less verified than a human would have entered it, and it should get there faster than a human ever could. - Storefront and marketplace orders become Cin7 sales orders with members and product options resolved, not guessed - Stock reports per branch, available, held, incoming, on-order, publish on a schedule to the tools people actually read - New customers and suppliers onboard as contacts from checkout and CRM events, typed correctly as customer, supplier, or both - Purchase order visibility flows into planning, so inbound inventory is data instead of folklore - Branch data anchors every stock read and order write to a real location Physical goods make errors expensive in freight, and that is why FlowRunner's [human-in-the-loop](/concepts/human-in-the-loop) gate sits before the order write, not after the shipment.

Without FlowRunner

Channel orders are re-keyed into the ERP Storefront, marketplace, and wholesale orders each get typed into Cin7 by hand, with typos shipping as pallets
Stock questions get yesterday's answer Available quantity lives in a report someone exported, so channels oversell what a branch no longer has
Inbound inventory is a surprise Purchase orders sit in Cin7 while sales plans are made without knowing what is arriving or when

With FlowRunner

Orders flow in resolved and verified Agents match buyers to members and SKUs to product options, checking stock before the order exists
Stock levels travel to where decisions happen Available, held, incoming, and on-order per branch sync to sheets and dashboards on a schedule
POs feed the demand conversation Agents report inbound quantities alongside stock, so sell and buy decisions share one picture

Use Case Scenarios

The storefront order that arrives already reconciled

An order lands in [Shopify](/integrations/shopify). The agent finds or creates the member with List Contacts and Create Contact, resolves each SKU to its product option through List Products, and verifies branch availability with List Stock. Clean orders write straight through Create Sales Order and hand off to [ShipStation](/integrations/shipstation) for labels. The order the warehouse picks is the order the customer placed, because the reconciliation happened before the write, in seconds, on every order including the 2am ones.

One stock truth for every channel and every meeting

On a schedule, the agent walks List Stock with a modifiedDate filter, joined to List Branches so quantities carry their location. The result lands as rows in [Google Sheets](/integrations/google-sheets): available, held, incoming, and on-order per product option per branch. The same sweep flags options where availability dropped below threshold and posts them to [Slack](/integrations/slack) alongside inbound quantities from List Purchase Orders. The Monday planning meeting starts from one dataset instead of three exports that disagree.

New customers exist everywhere at once

A first-time buyer checks out. The agent creates the Cin7 contact with full address and account type, then syncs the same person to [Klaviyo](/integrations/klaviyo) for lifecycle email. When a wholesale account signs on in the CRM, the agent creates them as a customer contact with their price column noted for review. Every downstream system, fulfillment, marketing, finance, refers to a customer record created once, correctly, at the moment the relationship started.

Human-in-Loop Highlight

Create Sales Order is where data becomes freight. Once an order enters Cin7 Omni and the fulfillment handoff fires, a warehouse picks real goods and a carrier takes them away, and unwinding a wrong order costs return shipping, restocking labor, and a customer who received the wrong thing. The dangerous cases are exactly the ones automation is tempted to push through: a SKU that fuzzy-matched instead of exact-matched, a quantity of 100 where the customer history says 10, a B2B order at a price column the agent cannot validate. FlowRunner routes those to a person: the agent presents the unresolved line, its candidate matches, and the stock picture, and the operator confirms or corrects before the order is written. Exact-match orders flow untouched. The gate is not on order creation; it is on order creation the agent cannot fully verify, which is the honest boundary of its competence.

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

10 actions

Products

2
  • List Products Retrieves a paginated list of products from the Cin7 Omni catalog. Supports server-side pagination (page and rows), OData-style filtering via a "where" clause (e.g. "Status='Active'" or "modifiedDate>'2024-01-01'"), and sorting via an "order" expression (e.g. "modifiedDate DESC"). Returns core product fields including ID, name, style code, brand, category, and option/variant details.
  • Get Product Retrieves a single product by its Cin7 Omni product ID, including its full detail such as name, style code, brand, category, and all product options (variants) with their SKUs, barcodes, sizes, colours, and prices. Use List Products or the Products dictionary to find a product ID.

Stock

1
  • List Stock Retrieves current stock levels for product options across branches. Supports pagination (page and rows) and OData-style filtering via a "where" clause (e.g. "modifiedDate>'2024-06-01'" or "productOptionId==67890"). Each record reports available, held, incoming, and on-order quantities for a product option at a branch.

Sales Orders

3
  • List Sales Orders Retrieves a paginated list of sales orders. Supports pagination (page and rows), OData-style filtering via a "where" clause (e.g. "Stage='New'" or "createdDate>'2024-06-01'"), and sorting via an "order" expression. Returns order headers with member/customer details, stage, totals, dates, and line items.
  • Get Sales Order Retrieves a single sales order by its Cin7 Omni order ID, including the full header (customer/member, stage, currency, totals, tax, shipping and billing addresses) and all line items. Use List Sales Orders to find an order ID.
  • Create Sales Order Creates a new sales order in Cin7 Omni. Requires a member (customer) ID and one or more line items referencing product option IDs. Optional fields include the order stage, reference, currency, and delivery address. Line items are passed as an array of objects; each should include the product/option IDs, quantity, and unit price. Returns the created order's ID and status.

Purchase Orders

1
  • List Purchase Orders Retrieves a paginated list of purchase orders raised to suppliers. Supports pagination (page and rows), OData-style filtering via a "where" clause (e.g. "Stage='New'" or "createdDate>'2024-06-01'"), and sorting via an "order" expression. Returns PO headers with supplier details, stage, totals, dates, and line items.

Contacts

2
  • List Contacts Retrieves a paginated list of contacts (members/customers) from Cin7 Omni. Supports pagination (page and rows), OData-style filtering via a "where" clause (e.g. "email=='[email protected]'" or "isActive==true"), and sorting via an "order" expression. Returns contact records with name, company, email, phone, addresses, price column, and account status.
  • Create Contact Creates a new contact (member/customer) in Cin7 Omni. At minimum provide a name or company plus an email. Optional fields include phone, company, and a full address. The contact type controls whether it is treated as a customer, supplier, or both. Returns the created contact's ID.

Branches

1
  • List Branches Retrieves the list of branches (locations/warehouses) configured in Cin7 Omni. Branch IDs are used to interpret stock levels and to target orders and dispatches. Supports pagination (page and rows).

Frequently Asked Questions

What can FlowRunner do with Cin7 Omni?

FlowRunner agents can run List Products, Get Product, and List Stock in Cin7 Omni, plus 7 more actions.

Does connecting Cin7 Omni to FlowRunner require OAuth?

No. Cin7 Omni connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.

Can Cin7 Omni trigger a FlowRunner workflow automatically?

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

Start building with Cin7 Omni

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