Ask your Fishbowl anything. Act on the answer. Build the report.
ILC MCP for Fishbowl connects the AI tools your team already uses to your live Fishbowl database: get answers from your data as it is right now, make changes that aren't written until you approve them, and build reports from a conversation. AI is becoming part of how every business runs — this is how your team reaches Fishbowl through it, safely and on your terms.
Ask, act, and report — in one connector
Ask
Ask in plain language. The AI finds the best way to answer — reusing a saved query or writing a new one — runs it against your live Fishbowl, and explains what came back. You just wait for the answer.
Jump to ask →Act
Turn a conversation or a spreadsheet into a sales order, a purchase order, or an import. The AI prepares the change and shows you a preview. Nothing is written until you say yes.
Jump to act →Report
Jasper reports, BI reports, Data Module queries, and CloudPages — drafted in a conversation, previewed with diagnostics, and installed only on your approval.
Jump to report →Your Fishbowl as it is right now
Every question runs against your live Fishbowl database. The order that shipped ten minutes ago, the stock that was just received, the PO issued this morning: it's all in the answer, with no copy to wait on.
Live, with no copy
Answers come straight from your Fishbowl database, usually in under a second per query. We don't copy your data to the cloud, and there are no inbound firewall ports to open.
Reads run on their own
Reading is safe, so it's automatic. Every read is still checked and row-capped, and system tables and password fields are always off-limits.
Approved queries
Your admins write and approve saved queries. Everyone else runs those, with their own inputs, and never sees the SQL. Admins manage access right from the chat: "Give James access to the BOM requirements query."
Your Fishbowl logins
Each person signs in with their own Fishbowl username and password, including MFA. Grant access by user or Fishbowl group. Deactivate someone in Fishbowl and their access stops.
Every step logged
See who asked, what they were trying to find out, and the exact query that ran. Results are not stored.
Your own instance
Every customer gets a separate instance. Nothing is shared between companies.
A real question, answered from Fishbowl
Type the question the way you would ask a coworker. The AI picks the right query, runs it against your live data, and explains the answer.
Yes on materials, with two things to resolve. Every ingredient for 40 batches of BB2005 is covered by available stock company-wide, except the items below.
| Issue | Need | Status |
|---|---|---|
| Water | 13.2 fl oz | Zero on hand anywhere. It's set up as an Inventory part, so Fishbowl will treat it as short and the pick won't fully fill until stock is adjusted in. |
| Butter (BP203) at Main | 320 oz (20 lbs) | Main has none. LA, MI and SLC each have 3,453 oz, so this only matters if you build at Main. |
Everything else has plenty of room. The tightest ingredients are still well clear:
| Ingredient | Need for 40 | Available (all sites) | Batches covered |
|---|---|---|---|
| Chocolate Chips (CR403) | 40 lbs | 349.5 lbs | 349 |
| All Purpose Flour (B201) | 60 lbs | 591 lbs | 394 |
| Chopped Walnuts (H902) | 20 lbs | 247.5 lbs | 495 |
| White egg (BP204) | 80 ea | 1,455 ea | 727 |
| Brown Sugar (C502) | 20 lbs | 481.5 lbs | 963 |
By site, LA and MI can each build all 40 from their own stock (apart from water). Main can too once butter is transferred in; its walnuts are the closest call at 25 lbs against 20 needed. SLC can't, since it only holds butter.
Two caveats:
- This checks materials only. I didn't look at labor, oven capacity, or the schedule for the week, so "by Friday" depends on those.
- Available stock already nets out current allocations, but not Entered manufacture orders that haven't been issued yet, which could be competing for the same ingredients.
Which site is the build planned for? I can check open manufacture orders there to confirm nothing else is competing for the butter or walnuts.
Two open manufacture orders at Main want the same ingredients, but they're small. Walnuts still cover everything with 2 lbs to spare, and the butter transfer needs to grow by about 3 lbs.
| MO | Status | Scheduled | Builds | Butter | Walnuts |
|---|---|---|---|---|---|
| 45 | Entered | Jul 18 | 1 × BB2005 Chocolate Chip Batch | 8 oz | 0.5 lb |
| 46 | Entered | Aug 8 | 1 × BB2003 Oatmeal Chocolate Chip Batch, 1 × FG2200 Sugar Cookie Batch | 40.5 oz | 2.5 lbs |
| Total competing | 48.5 oz (about 3 lbs) | 3 lbs |
What that does to your 40 batches at Main:
| Ingredient | On hand at Main | Your 40 batches | Other MOs | Result |
|---|---|---|---|---|
| Walnuts (H902) | 25 lbs | 20 lbs | 3 lbs | 2 lbs left over |
| Butter (BP203) | 0 | 320 oz | 48.5 oz | Transfer in 368.5 oz (about 23 lbs) to cover all three |
A few things worth knowing:
- Both MOs are past their scheduled dates and still Entered, so neither has been issued and nothing is allocated yet. Whichever order gets issued and picked first takes the stock.
- MO 45 is itself one batch of BB2005. If it's meant to be part of your 40, the real competition is only MO 46.
- No open sales orders are selling butter or walnuts directly, and nothing is on order for either at Main, so the butter has to come from LA, MI or SLC (3,453 oz each).
I didn't check for transfer orders already moving butter toward Main.
Nothing changes without your yes
Reads run on their own because reading is safe. A change is different: every write — a new order, an import — is shown to you as a preview first and waits for your confirmation. It runs under your own Fishbowl login and can never do something you couldn't do yourself.
Preview, then confirm
The AI prepares the change and shows you exactly what it will create or update. You approve it, and only then is it written. No surprise edits.
Orders from chat
Turn an answer, or a spreadsheet, into a sales order, purchase order, manufacture order, or transfer order. Each one is created under that person's own Fishbowl login, limited to what they're allowed to create.
Imports from chat
Parts, customers, vendors, pricing, inventory moves, receiving, picking, shipping — the same imports your team does by hand, prepared from a conversation or a file and committed on your approval.
Your permissions, always
The AI acts as you. If your Fishbowl login can't do it, neither can the AI. Admins decide who can prepare which changes, by user or Fishbowl group.
Every change logged
Who prepared it, who confirmed it, what was written, and when. A full, auditable trail for every action — not just reads.
Custom tools for your rules
For agentic ERP work, we build tools around your business rules — approval limits, preferred vendors, how a rush order is priced — so the rules live in the tool and the AI can't skip them.
A real change, previewed and confirmed
A buyer asks, in plain language, to set up a new part and place a starter order. The AI checks what it's allowed to do, asks what it needs, then prepares a new part and a purchase order — and writes nothing until each one is confirmed.
You have rights to create both the part and the purchase order. Before I create anything, I need these details, since a part is permanent once it's in Fishbowl:
The part
- Part number and description
- Unit of measure (each, case, lb…)
- Type: inventory, non-inventory, or service. I'll assume inventory if you don't say.
- Is it tracked by lot, serial, or expiration date? Optional.
The starter order
- Vendor. These are your most active ones right now:
- Rocky Mountain Chocolate
- Williams Treat Company
- A&B Distribution
- Brent's Food Supply
- Mike's Salt
- Chuck's Flour Shop
- Johnson Manufacturing
- Or any other vendor you name.
- Quantity and unit cost
- The vendor's part number, if it differs from yours. Optional.
- Should the PO go in as a bid request (draft) or issued (sent to the vendor)? I'd suggest a bid request so you can review it in Fishbowl first.
Once you reply, I'll prepare both and show you a preview. Nothing gets committed until you approve it.
The part is ready to create. Here's the preview:
New part: DARK-COCOA
| Field | Value |
|---|---|
| Description | Dark Cocoa Powder |
| Unit of measure | Pound (lbs) |
| Type | Inventory |
| PO item type | Purchase |
| Tracking | None |
| Active | Yes |
This creates a new part. It doesn't update an existing one.
Next step: the bid request to Brent's Food Supply. Fishbowl won't check the PO until the part exists, so I'll prepare it right after this part is created. Here's my plan for it:
- Line: 100 lbs of DARK-COCOA at $1.00/lb, for a total of $100.00
- Status: Bid Request
- Location group: Main
- Remit-to: Brent's Food Supply, 777 South Delivery Lane, Salt Lake City, UT 84111
- Carrier: Will Call
- Ship-to: I'll copy it from your last Brent's PO (#231): "Default Address, Main Street." That looks like a placeholder. If you'd like your real warehouse address on this PO, send it to me. Otherwise I'll use that one so it matches your past orders.
Should I create the part now? The preview expires in about 30 minutes.
I created the part and the bid request in Fishbowl:
- DARK-COCOA (Dark Cocoa Powder) is a new inventory part, bought in pounds, with no tracking.
- PO 232 went to Brent's Food Supply as a Bid Request. It's for 100 lbs of DARK-COCOA at $1.00/lb, $100.00 total, with Will Call as the carrier, from location group Main.
PO 232 is waiting in Fishbowl for you to review. Once the price is confirmed, issue it from there. You'll also want to put your real warehouse address in place of the placeholder ship-to before it goes to Brent's.
Every order and import type
Beyond that example, these are the transactions and imports the AI can prepare for you today — each one previewed and written only on your confirmation.
Transaction types
| Type | What it creates |
|---|---|
| Sales Order | Orders your customers place — items, pricing, status, dates. |
| Purchase Order | Orders you place with vendors to restock. |
| Manufacture Order | Builds that consume components and produce finished goods. |
| Transfer Order | Moves stock between your warehouses. |
Import types · 44 supported
| Family | Imports |
|---|---|
| Parts & products | Parts, Products, Product Tree, Product Tree Categories, Part / Product Renaming, Part Units of Measure, Units of Measure, UOM Conversions, Part Costs, Part Standard Costs |
| Inventory | Add Inventory, Part & Quantity, Inventory Moves, Reorder Levels, Default Locations, Locations, Scrap |
| Customers & pricing | Customers, Customer Parts, Customer Group Relations, Discounts, Product Pricing, Associated Pricing, Associated Pricing Types, Pricing Rules |
| Vendors | Vendors, Vendor Parts, Vendor Cost Rules |
| Fulfillment | Picking, Packing, Shipping, Receiving, Ship Carton Tracking |
| Finance & tax | Payments, Payment Terms, Tax Rates, Currencies, QuickBooks Classes |
| Setup & custom fields | Carriers, Countries & States, Custom Fields, Custom Field Lists, Custom Field Data, Memo Data |
Four report formats, one conversation
For years we've built custom Fishbowl reports by hand. Now the AI drafts them with you — and the same preview-and-approve rule applies: nothing is installed until you've seen it.
Jasper reports
The full Fishbowl report format. Drafted from your description, compiled, and checked before it ever reaches your report list.
BI reports
Dashboard-style reporting for the numbers your team watches, built from a conversation about what you need to see.
Data Module queries
Saved queries with their prompts turned into inputs, ready for your team to run — new ones built, existing ones reused.
CloudPages
Shareable pages driven by your Fishbowl data, drafted and published on your say-so.
Previewed, with diagnostics
Before anything is installed, the AI runs diagnostics and shows you the result, so you approve a report you've actually seen work.
Versioned and reversible
Every report carries history. Your admins can read a version, roll it back, or uninstall it — all from the chat.
A real report, previewed before it's installed
Someone asks for a CloudPage showing what inventory is worth at each location — and to see it first. The AI drafts it, builds each section, renders a live preview, and installs it only after you've looked.
The draft is ready to look at — nothing is installed yet.
Preview (live data, read-only): https://your-fishbowl.cloudpages.app/preview/inventory-value-by-location
What it shows
- One row per location, with its type, number of distinct parts, quantity on hand and value.
- Rows are grouped by location group (LA, Main, MI, SLC), with qty and value subtotals for each group.
- An optional location group filter, and CSV/XLSX export.
- It loads as soon as it opens.
What your data shows right now (I checked this with the same query)
| Group | Value |
|---|---|
| LA | $44,870 |
| MI | $32,803 |
| Main | $19,117 |
| SLC | $4,002 |
| Total | ≈ $100,792 |
Things to check while you look
- Value is on-hand qty × Fishbowl's current average cost per part. I couldn't read your costing-method setting, because that table is blocked. If you're on FIFO or Standard cost, these numbers won't exactly match your GL. I can switch the page to cost layers or standard cost instead.
- Receiving, Shipping and Manufacturing locations are included. For example, Main/Receiving holds about $5.8k. Tell me if you want stock-type locations only.
- LA has a location called "ZZTESTLOC" with $19.60 in it. You may want to clean that up, or I can exclude it.
- There's no grand-total row on the page. CloudPages supports only one subtotal level, so I chose per-group subtotals. The overall total is one XLSX export away.
Once you've looked at the preview, tell me any changes, or just say "install". After it's installed, an admin will need to grant access to the page in Fishbowl.
The Inventory Value by Location page is now installed in Fishbowl as version 1, with the page ID inventory-value-by-location.
To start using it:
- Open the page: reopen the CloudPages module to see it now. Otherwise it appears within about 10 minutes.
- Grant access: no one can open the page until an admin gives a group access to its entry in Fishbowl. Make sure your own group is included.
The preview reported no errors.
If you want to switch to FIFO or standard cost later, I can update this page in place, and the access grants will still apply. Each install is kept as a version, so you can roll back if needed.
The page the AI rendered for review — nothing was installed until it was approved.
See all 4 reporting examples — Jasper, BI, CloudPages, saved queries →
Every report format
Beyond that example, these are the formats the AI can build with you — drafted, previewed, and installed only on your approval.
| Format | What it is |
|---|---|
| Jasper report | The full Fishbowl report format — drafted, compiled, and installed. |
| BI report | Dashboard-style reporting on the numbers your team watches. |
| Data Module query | Saved queries with their prompts turned into inputs. |
| CloudPage | Shareable pages driven by your live Fishbowl data. |
Fishbowl knowledge built in
Out of the box, the AI has our notes on how Fishbowl works: sales, purchasing, receiving, shipping, inventory, manufacturing, accounting, setup, and reporting. That comes from 10+ years of Fishbowl work.
As your team uses it, the AI writes down what it learns about your setup, like your part numbering or how you use location groups, so the next session starts from there. Your admins can read, edit, and roll back those notes, and share how-to guides with specific Fishbowl groups.
Getting started
Show us your questions and workflows
We meet with you to learn what your team needs to know, what they create by hand today, and who should be able to do what.
We set it up
We install our Integration Server next to your Fishbowl and create your instance. You'll need Fishbowl Advanced.
We set up your power users
Your executives and power users get admin access, so they can ask anything, prepare changes, and build reports. For the rest of your team, we set up the saved queries, approved changes, and reports they need, and grant them to the right people.
Your team connects
Each person adds the connector in ChatGPT or Claude and signs in with their Fishbowl login. That's it.
Common questions
What is MCP?
MCP (Model Context Protocol) is an open standard that lets AI assistants like ChatGPT and Claude connect to other software. An MCP server gives the AI a set of tools it can use, and nothing more. ILC MCP for Fishbowl is an MCP server for your Fishbowl: its tools let the AI read your data, prepare changes you approve, and build reports, under the rules you set.
What do I need to run it?
Fishbowl Advanced and ILC's Integration Server, which we install for you. Your Fishbowl stays where it is. The connection goes out from your site, so there are no firewall ports to open.
Which AI tools does it work with?
ChatGPT and Claude today, connected as a custom connector. Other tools that support MCP can connect with a token your admin creates. Ask us about the one you use.
Is there documentation?
Yes. Step-by-step guides for connecting each AI tool and for using ILC MCP for Fishbowl — asking questions, approving changes, and building reports — are in our documentation. Read the documentation →
Can the AI change my Fishbowl data?
Yes, when you tell it to — and only then. Reads run on their own. A change, like a new order or an import, is shown to you as a preview first and is not written until you confirm it. It runs under your own Fishbowl login, limited to what you're allowed to do, and every step is logged.
So is it still safe?
That's the point of the design. Nothing is written or installed without a preview and your explicit yes. The AI acts as you, with your Fishbowl permissions — it can never do something you couldn't do yourself. Admins decide who can prepare what, and the full log shows who did what, when.
Do you keep a copy of my data?
No. Everything runs against your live Fishbowl database. We log the question that was asked, the change that was prepared, and the action that ran, so you can audit them, but not the rows that came back.
Who on my team can use it?
Only the people your admin allows. Each person signs in with their own Fishbowl login, and you choose which saved queries, which changes, and which reports each user or Fishbowl group can run. If you deactivate a user in Fishbowl, their access stops on the next request.
Can my team ask or do anything they want?
Your admins can. Everyone else works from the saved queries, approved changes, and reports your admins have set up, with their own inputs: a BOM, a date range, a customer. That keeps answers consistent and keeps sensitive actions where they belong.
How do admins manage who can run what?
From the AI chat itself. An admin can say "Give James access to the BOM requirements query" or "Let the Purchasing group prepare purchase orders," and it is done, using your Fishbowl users and groups. Each item can also carry a usage note, like "internal use only", that comes back every time.
What can it build in reporting?
Jasper reports, BI reports, Data Module queries, and CloudPages — drafted from a conversation, previewed with diagnostics, and installed only when you say so. Your admins can read, roll back, and manage every version.
Can I use the Data module queries we already have?
Yes. Your admin can turn on Fishbowl Data module queries so the AI can run them, with their prompts turned into inputs.
How much does it cost?
It depends on how many people use it and how much we build with you — queries, approved changes, and reports. Request a demo and we will scope it with you.
See it on your own Fishbowl
Tell us what your team asks most often, what they create by hand, and the reports they wish they had — and we'll show you how it would work.