Connect Fishbowl: pull sales and purchase orders in, check inventory
Point Integration at your own Fishbowl Server address, sign in with a Fishbowl username and password, approve the integration app once under Settings → Integrated Apps in the Fishbowl client, then test, map, activate.
The Fishbowl connector connects to the Fishbowl Server you run yourself and pulls sales orders and purchase orders from Fishbowl Advanced into this system, and can check inventory by part number. That is the whole scope: it does not pull or push customers, and it does not push inventory or any other records back to Fishbowl. Because the server is yours, it must be reachable from this system — a server that only answers inside your local network, with no public or VPN route to it, cannot be connected.
Prerequisites#
- A running Fishbowl Server (Fishbowl Advanced) whose address this system can reach. The server address must be reachable over a public route or a VPN — if the address only works inside your local network, fix the route first; no set of credentials will connect through a closed route.
- The server web address and port, for example http://192.168.1.10:80. Port 80 is the usual web port; if 80 is already in use on that machine, Fishbowl uses 2456 instead — confirm which port your server answers on.
- A Fishbowl username and password to sign in with. Use a dedicated integration account in Fishbowl for this connection, so its sign-ins are easy to recognise and its password can be managed separately from personal accounts.
- Access to the Fishbowl client, so that after the first sign-in you can open Settings → Integrated Apps and approve this integration app. Without that one approval, the test answers 403 no matter how correct the other values are.
Get your credentials#
- There is no cloud portal and no key to generate for Fishbowl. The credentials are simply the Fishbowl username and password of the account the connection signs in with — create a dedicated integration user in Fishbowl first if you do not have one.
- Note the Fishbowl Server address in the form the fill-in step needs, for example http://192.168.1.10:80 — the same address and port the server answers on, with 2456 instead of 80 if port 80 is already in use on that machine.
- Decide the integration app name now — Docklify Integration unless you already use another name. This name is what appears in the Fishbowl client under Settings → Integrated Apps after the first sign-in, and it is the entry you will approve there.
- Leave App ID aside for the first setup. An App ID only exists if an administrator assigns a numeric ID to the approved app in Integrated Apps — if that has not happened, there is nothing to look for yet.
Fill it into Integration#
- Open Integration → Connector Marketplace → Fishbowl → New connection.
- server_url — required, Fishbowl server URL: the address of your Fishbowl Server, for example http://192.168.1.10:80. Use port 2456 instead of 80 if port 80 is occupied on that machine. The address must be reachable from this system over a public route or VPN.
- username — required, Fishbowl username: the username of the Fishbowl account for the integration, ideally a dedicated integration account.
- password — required, Fishbowl password: the password of that same Fishbowl account. It is a password-type field and is stored as a secret.
- app_name — required, Integration app name: the name decided in the credentials step, for example Docklify Integration. After the first sign-in this name appears in the Fishbowl client under Settings → Integrated Apps, where you approve it.
- app_id — optional, App ID: leave it empty on the first setup. Fill it only if an administrator has assigned a numeric ID to the approved app in Integrated Apps and given it to you.
- Then do the approval step in the right order: save the connection and run Test connection once so the first sign-in registers the app, open the Fishbowl client → Settings → Integrated Apps, find the entry with your app_name and Approve it, then come back and test again. The approval happens in the Fishbowl client, not in Integration.
Test the connection#
Click Test connection. The test performs a real sign-in: it posts your appName, appId, username and password to POST {server_url}/api/login on your Fishbowl Server, and a returned sign-in token counts as a pass — the result shows which server answered. Straight after a successful sign-in the test signs back out again. If server_url is missing, the test stops with MISSING_SERVER_URL; if another required field is missing, it stops with the matching missing-field error. A 401 means the username or password was refused. A 403 is returned as MISSING_SCOPE and means the integration app may not be approved in Settings → Integrated Apps yet. The sign-in times out after 12 seconds.
Mapping / pick a template#
Pick the Fishbowl standard mapping. It covers sales orders and purchase orders in their standard Fishbowl form, and inventory checks by part number. After the test passes, run one pull and check a real sales order side by side — order number, lines and quantities — do the same for one purchase order, and compare the inventory of one part number with what Fishbowl shows, before activating.
Activate#
After activation, the connection signs in to your Fishbowl Server on the schedule you set, pulls sales orders and purchase orders into this system, and reads inventory by part number when inventory is checked. Watch the first pulls in Runs / Logs and compare them with Fishbowl before leaving the connection unattended — and if the server address or route changes later, update server_url and test again.
What this connection does not do: it does not pull or push customers, and it does not push inventory, orders or any other records back to Fishbowl. Fishbowl stays the place where those records are managed; this connection reads orders and inventory from it.
FAQ#
Test fails with 403 / MISSING_SCOPE — integration app may not be approved
In this connection 403 has one specific meaning: the integration app may not be approved in Settings → Integrated Apps in the Fishbowl client. The server received the sign-in, but the app named by your app_name has not been approved yet, so the sign-in is not allowed to proceed.
Open the Fishbowl client → Settings → Integrated Apps, find the entry with the same name as your app_name and Approve it. Then run Test connection again in Integration with the same values — no other field needs to change.
Test fails with 401 — username or password refused
The server answered and the app check passed, but the Fishbowl sign-in itself was refused: the username and password pair does not match an account on that server, or the password was typed with something extra or missing.
Sign in to the Fishbowl client yourself with the same username and password to confirm they work, preferably with the dedicated integration account. Then re-enter username and re-paste password in Integration and test again.
Test stops with MISSING_SERVER_URL or another missing-field error
A required field is empty, so no sign-in was attempted. MISSING_SERVER_URL specifically means server_url is empty; the other missing-field errors name the empty field among username, password and app_name. app_id is optional and never causes this stop.
Fill in the named field from the fill-in step — server_url with the full server address including its port — leave app_id empty unless an administrator assigned one, save, and test again.
Test times out — the server cannot be reached at all
The sign-in got no answer within 12 seconds. With a self-hosted server the usual reason is reachability: the address in server_url only answers inside your local network and there is no public or VPN route from this system to it, or the port in the address is not the port the server answers on — 80 and 2456 are the two to check.
First confirm the Fishbowl Server is running and note the exact address and port it answers on. Then make that address reachable from outside your local network over a public route or VPN, update server_url to match exactly, and test again. Changing the username or password will not fix a timeout.
Where do I find the App ID before the first setup?
Nowhere — on a first setup it normally does not exist yet. An App ID is a numeric ID that an administrator may assign to the app after it has been approved in Settings → Integrated Apps, so looking for one before the approval is looking for something that has not been created.
Leave app_id empty, finish the setup and the approval first. Only if an administrator later assigns an App ID and gives it to you, edit the connection, fill app_id with that number, save and test again.
Connected, but no customers come in and nothing is written back
That is the boundary of this connection, not a failure: it pulls sales orders and purchase orders and reads inventory by part number. Customer records are not part of it in either direction, and no records of any kind are pushed back to Fishbowl.
Keep managing customers and stock changes in Fishbowl itself. Use this connection for the order flow — check a pulled sales order or purchase order in Runs / Logs to confirm the connection is doing its part.