Last Updated: Oct 9, 2026
Any number InfiPlex holds can land in your team's inbox every morning: every SKU with its quantity per warehouse, a SKU list with a secondary ID, yesterday's orders by channel, or a report nobody has built yet. Two of InfiPlex's reports already run on their own. For everything else, the InfiPlex MCP server and the REST API give you two ways to run a custom report on a schedule and deliver it, without waiting for a report to be built into the Reports menu. This page is the decision guide; the linked agent guides are the copy-ready builds.
Jump to What You Need
| If You Want To… | Go To |
|---|---|
| See what already runs daily | What Runs Automatically Today |
| Pick agent or script | Two Ways to Schedule a Report |
| Find the tool for each report | Which Tools Feed Which Report |
| Get the file to your team | Delivery: Email, Slack, Shared Folder |
| Start from a working example | Reports Sellers Ask For |
What Runs Automatically Today
Two reports run every day with nothing scheduled on your side:
- Daily Restock Report. An email listing every SKU at or below its reorder point, with sales over 180, 60, and 14 days, on-hand inventory, and the calculated reorder point. It goes to every address in the restock_report_email setting, separated by semicolons, so a whole buying team can be on it. See Restock Alerts.
- FTP Package Report. A .csv of every package shipped the previous day, pushed to your FTP server at 2AM when enabled. See the SFTP integration guide.
The four reports on the Reports menu (Shipping Item, SKU Cost of Goods, Order Reports, Settlement) run when you run them. A saved Order Report re-runs with one click from the Saved Reports panel, which is fast but still a click. OMS Alerts email a list the moment a SKU hits a stock level you set; that is a trigger, not a schedule. Everything beyond this list is a scheduled job on your side, built one of two ways.
Two Ways to Schedule a Report
| MCP Server + AI Agent | REST API + Your Own Script | |
|---|---|---|
| What you write | A plain-English instruction file, a three-line run script, a cron line | A script in any language that calls the endpoints, pages, joins, and writes the file |
| Who does the paging and joining | The agent, from the instruction file | Your code |
| Changing the report | Edit the instruction file | Edit the code |
| Runs on | A server with cron and Claude Code or the Codex CLI installed | Any server, scheduler, or ERP job runner that can make HTTPS calls |
| Key scopes | Read scopes for the areas the report touches; no write tools are published | Read scopes for the endpoints called |
| Best for | Reports that change often, teams without a developer, reports that need judgment (flag the odd rows, write a summary) | Fixed-format feeds into another system, very large catalogs, teams that already run cron jobs |
| Cost | API access plus model usage from your AI vendor, a fraction of a dollar per nightly run | API access only |
Both routes read the same data through the same scopes; the MCP server is a layer over the REST API, so a tool on the tools reference and its endpoint on the API reference return the same rows. Pick the agent route first if nobody on the team writes code; every agent guide on this site ships the instruction file, the MCP config, the run script, and the cron line, so the first report is a copy, a key, and one test run. The MCP set-up guide covers creating the key and connecting Claude Code or the Codex CLI.
Which Tools Feed Which Report
| Report | MCP Tool / API Endpoint | What Comes Back |
|---|---|---|
| Every SKU, quantity per warehouse | inventory_search / Inventory Search | One row per SKU per warehouse: quantity in that warehouse, total across warehouses, bin location, restock settings. 100 rows a page. |
| Low stock with velocity | inventory_restock_list + inventory_change_history_get / Restock List, Change History | SKUs at or below reorder point, then each SKU's dated quantity changes to compute units sold. |
| SKU plus secondary ID, supplier code, or any custom field | sku_data_search / SKU Data Search | One row per SKU with one column per data name requested. Join on SKU to any other report. |
| Yesterday's orders by channel, status, or SKU | order_search / Order Search | Orders in a date range with source, status, totals, and line items; filter by status, source, or SKU. |
| What shipped, with tracking | order_search with packages / Order Get | Each order's packages, carrier, tracking number, and ship date. |
| Warehouse names for any report | warehouse_search / Warehouse Search | warehouse_id to name map, called once per run. |
| Failed channel calls overnight | log_search / Shop Log | Every failed order or inventory call by channel, which the failed sync watch agent turns into a morning report. |
Two habits keep every scheduled report cheap and correct. Call warehouse_search once per run and map IDs to names, instead of asking per row. And on inventory and order searches, pass the date_modified or date filter so a nightly run only reads what changed since the last one; the first run pages through everything, every later run reads the delta.
Delivery: Email, Slack, Shared Folder
InfiPlex is the data source. Getting the file to people is the last line of the job, and it is the same line whichever route you pick:
- Email to a list. One mail command after the file is written. The daily inventory by warehouse agent shows the exact line with the CSV attached and a distribution list.
- Slack or Teams. Post the summary text to an incoming webhook and attach or link the file.
- Shared folder. Write the file into a synced Drive, Dropbox, or network folder and let the folder do the distribution; the agent guides write to a folder by default.
- Another system. Push the rows straight into a sheet, a warehouse dashboard, or your ERP; the script route is usually the better fit here.
Reports Sellers Ask For
- Every SKU with quantity per warehouse, every evening, to the team. Built and ready to copy: Daily Inventory by Warehouse Report Agent.
- SKU list with a secondary ID or supplier code. Same agent with a sku_data_search step joined on SKU; the field set-up is in Custom SKU Data.
- Reorder sheet with seven-day velocity and a suggested quantity. Nightly Restock Agent.
- The day's unshipped orders by channel ship window, before the shift starts. Morning Unshipped Orders Agent.
- Every failed channel call overnight. Failed Sync Watch Agent.
- A report inside the Reports menu, for people who will never run a script. Ask for it; see Reports Overview. Describe the question you are answering and any custom SKU data or order tags it uses.
Scheduled Custom Reports Checklist
- Write down the question the report answers and who opens it, not just the columns.
- Find each column in the tools table above; if it is all reads, create a read-only key at Tools > Admin API with only those scopes.
- Copy the closest agent guide, change the instruction file to your columns, and run it by hand once.
- Check two rows against the OMS screen the report mirrors.
- Add the mail or webhook line, then the cron line. Open the file the next morning.
Scheduled Custom Reports Questions
Can I schedule one of the built-in InfiPlex reports to email itself every day?
The Restock Report email and the FTP Package Report already run daily on their own. The reports on the Reports menu run when you run them, and a saved Order Report re-runs with one click but is not scheduled. To get the same numbers on a schedule, pull them from the API or the MCP server with the tools listed on this page and have the job send the file.
Do I need a developer to set up a scheduled report?
Not for the agent route. The instruction file is plain English, the run script is three lines, and the agent does the paging, joining, and formatting. The script route needs someone comfortable with a cron job and a small script in any language.
How does the report reach my team?
The same job that writes the file sends it. The agent guides use a one-line mail command; a script can call your mail server, post to a Slack webhook, or save to a shared folder. InfiPlex is the data source; delivery is the job's last step.
Can the report include custom SKU data like a secondary ID or supplier code?
Yes. SKU Data Search returns one row per SKU with one column per data name you ask for, and the agent or script joins it to inventory or order rows on SKU. See the custom SKU data guide.
Does a report agent need a key that can write?
No. Every report is reads only, so the key carries read scopes only. The MCP server publishes no write tool to that key, so the agent cannot change inventory, prices, or settings no matter what the instruction file says.
Can I run the same report per warehouse or per client?
Per warehouse, add a warehouse_id filter to the inventory calls. Per client on a 3PL account, one folder, one key, and one cron line per client instance; each key sees only its own instance.
What does InfiPlex charge for scheduled reports?
Nothing beyond API access, which is part of the Growth and Enterprise packages. MCP calls are not metered. Model usage for the agent route is billed by your AI vendor and a nightly run costs a fraction of a dollar.
Every report you wish you had, written while you sleep.
A read-only key, an instruction file, and a cron line turn any InfiPlex data into a scheduled report for your team. Included with API access on every Growth plan.
Related report guides
- Daily Inventory by Warehouse Report Agent
- Nightly Restock Agent
- Morning Unshipped Orders Agent
- Failed Sync Watch Agent
- Reports Overview
- Order Reports
- InfiPlex Restock Alerts
- Custom SKU Data: Secondary IDs and Supplier Codes
