The Flexe connector links the app to your Flexe warehouses. The app sends shipping requests and inbound shipments (ASNs) to Flexe. It brings back tracking details, inventory levels, and receiving results. Each flow has its own switch, so you can bring a warehouse live one flow at a time.
With this connector, you can:
- Send shipping requests to Flexe as outbound orders, including parcel and freight orders.
- Create fulfillments with tracking number, carrier, service level, shipping cost and ship date for each package Flexe ships.
- Sync on-hand, available, committed, on-hold, damaged and incoming inventory from each Flexe warehouse.
- Send purchase orders and transfers to Flexe in advance, and create receipts from what Flexe actually received.
- Sync cancellations in both directions.
- Pass lot codes, expiry dates and serial numbers on inbound deliveries, receipts and fulfillments.
Setup
Before you begin, make sure you have:
- An active Flexe account with at least one warehouse. Flexe calls each warehouse space you hold a reservation.
- Flexe API credentials: a Client ID and a Client Secret. Ask your Flexe account manager or Flexe support for them, and tell them whether you need Sandbox or Production. Flexe shows the secret only once, so store it securely.
- SKUs on your orders and purchase orders in the app that match the item SKUs in Flexe. If they differ, contact Pipe17 support about SKU mapping before you go live.
Flexe is marked Limited availability in the app. After you add it, the integration page shows a banner to request setup. Click it and Pipe17 support contacts you to help finish the connection. If you are new to Flexe, connect a Sandbox account first and test with a few orders, then repeat the setup with Production credentials.
Connect the app
- In the app, go to Integrations and click Add integration.
- Search for Flexe and select it. The Connect Flexe pop-up opens.
- Select the Flexe environment your credentials were issued for: Production or Sandbox. Sandbox credentials don't work against Production, and vice versa.
- Enter your Flexe OAuth Client ID. Paste it exactly, with no leading or trailing spaces.
- Enter your Flexe OAuth Client Secret.
- Click Connect. The app requests an access token from Flexe. If it succeeds, the integration shows Connected, and the app refreshes the token automatically from then on.
To change credentials later, open the Connection Details tab. To move from Sandbox to Production, change the environment, re-enter both credentials, and click Save.
Set up locations
- Open the Settings tab.
- In the Connection Flow section, under Locations, turn on Create Pipe17 locations from Flexe reservations, and click Save.
- After the next sync, go to Locations and confirm that a location appears for each Flexe reservation.
In some accounts this switch is already on and can't be changed, which means locations are created automatically.
Turn on flows
- Under Connection Flow, turn on the flows you want to use: Pull inventory from Flexe, Pull fulfillments from Flexe, Pull shipment cancellations from Flexe, Push arrivals to Flexe, Pull receipts from Flexe and Push shipping requests to Flexe.
- Click Save.
- Wait 5–10 minutes, then confirm that inventory shows quantities at your Flexe locations and that a test order routed to a Flexe location moves to Sent to fulfillment.
Turn on inventory, arrivals and receipts only after your Flexe locations exist in the app. Turn on Push shipping requests to Flexe last, so no real orders go to the warehouse until you are ready.
Settings
The flow switches are in the Connection Flow section of the Settings tab. The other settings are in the Flexe Settings section below them. Click Save after you change a setting.
| Setting | Description | Options/Default |
|---|---|---|
| Flexe environment | The Flexe account your credentials belong to. | Production, Sandbox. Default: Production |
| Flexe OAuth Client ID and Flexe OAuth Client Secret | The credentials Flexe issued you. Both are masked after saving. | — |
| Process only inventory for specific SKUs | Syncs stock only for the listed SKUs. | Default: all SKUs |
| Process inventory only for specific Flexe reservation IDs | Syncs stock only for the listed warehouses. | Default: all warehouses |
| Only report inventory used since | Keeps sold-out SKUs reported at zero, back to this date. Ignored when specific SKUs are set. | Default: integration creation date |
| Collect inventory snapshots at | Runs one full inventory refresh a day at the selected hour. By default, a full refresh runs every 1 to 12 hours, depending on how long a full refresh of your catalog takes. | 12am–11pm UTC. Default: Use default schedule |
| Force inventory resync | Starts a full inventory refresh on the next run, then turns itself off. | Default: Off |
| When a shipping request is fully canceled in Flexe, apply this status in Pipe17 | The status applied when Flexe cancels every line of an order and nothing shipped. Requires Pull shipment cancellations from Flexe. | Canceled Restock, Canceled, Review required, Failed. Default: Canceled Restock |
| Process only shipping requests for specific order IDs | Sends and cancels only the listed orders. Useful for a first test. | Default: all orders |
| Process only arrivals for specific order IDs | Sends and cancels only the listed purchase orders or transfers. | Default: all arrivals |
| Push expected arrival date changes to Flexe | Updates the delivery date in Flexe when you change the expected arrival date in the app. Flexe accepts changes only before the truck arrives. | Default: Off |
| Flexe inbound states that produce a Pipe17 receipt | Choose Completed for final quantities only, or add Receiving to see partial counts while a truck is unloaded. | Completed, Receiving. Default: Completed |
Flows
| Flow | Direction | Notes |
|---|---|---|
| Locations | Flexe → Pipe17 | Creates one location per Flexe reservation. Required for inventory, arrivals and receipts. |
| Shipping requests | Pipe17 → Flexe | Runs every 5 minutes. Sends shipping requests for a Flexe location that are ready for fulfillment, with customer name, address, phone, email, items, quantities and shipping or gift notes. The shipping request then shows Sent to fulfillment. |
| Fulfillments | Flexe → Pipe17 | Runs every 5 minutes. Creates one fulfillment per package, with tracking number, carrier, service level, shipping cost and ship date. Only for orders the app sent to Flexe. |
| Cancellations | Bidirectional | Runs every 5 minutes. Canceling in the app cancels all unshipped lines in Flexe. If Flexe cancels a whole order, the app applies your chosen status. If Flexe cancels part of an order, the unshipped quantity is recorded as rejected on the fulfillment. |
| Inventory | Flexe → Pipe17 | Runs on an adaptive schedule of 1 to 12 hours. Shown per SKU, not per lot. |
| Arrivals | Pipe17 → Flexe | Runs every 5 minutes. Sends purchase orders and transfers in Shipped status as inbound deliveries, with expected date, PO number, supplier, trailer and seal numbers, and expected items. The arrival then shows Expected. Canceling the arrival cancels the delivery in Flexe. |
| Receipts | Flexe → Pipe17 | Runs every 5 minutes. Creates receipts with the quantities Flexe counted, including damaged units. Cartons are converted to individual units automatically. |
Flexe doesn't accept edits to orders after they are sent. To change an order, cancel it in the app and send a new one. To connect more than one Flexe account, add a separate Flexe integration for each set of credentials.
To run a check without waiting for the next scheduled run, open the Integration Actions tab and use the Actions menu:
- Pull inventory by SKUs refreshes stock for the SKUs you choose.
- Push shipping requests by shipment IDs sends or resends the shipping requests you choose.
- Pull shipment cancellations by shipment IDs checks whether Flexe canceled the orders you choose.
- Pull fulfillments by shipment IDs and Pull fulfillments by date bring in missing tracking.
- Push arrivals by arrival IDs sends or resends the arrivals you choose.
- Pull receipts by arrival IDs and Pull receipts by date bring in missing receipts.
Date-based actions cover a window of 1 to 48 hours. Running an action never creates duplicates in Flexe.
Troubleshooting
-
Connecting fails with an authentication error such as invalid_client
Flexe rejected the credentials. Confirm that the environment matches your credentials and that the Client ID and Client Secret have no extra spaces, then save again. If you no longer have the secret, ask Flexe to issue a new pair. -
No locations appear after setup
Make sure Create Pipe17 locations from Flexe reservations is on and wait a few minutes. If your Flexe account has no active reservation, check with Flexe. -
Orders don't reach Flexe
Confirm that Push shipping requests to Flexe is on, the order is routed to a Flexe location and ready for fulfillment, and it isn't excluded by Process only shipping requests for specific order IDs. Then run Push shipping requests by shipment IDs. -
An order shipped in Flexe but has no tracking in the app
Confirm that Pull fulfillments from Flexe is on, then run Pull fulfillments by shipment IDs for that order. -
Inventory doesn't match Flexe
Run Pull inventory by SKUs for the affected SKUs, or turn on Force inventory resync for a full refresh. Check that the SKUs match exactly in both systems.
Need Help?
If you need additional assistance:
- Use Ask Pippen, our AI agent, located at the top of the app page.
- Submit a support request with as much relevant detail as possible. Learn how to submit a request.
We're here to help you succeed with your operations.
Comments
0 comments