Fergus + AI: 86 tools, and the quote goes out the same night
Fergus runs on a connector we build and maintain ourselves. 86 tools that follow the shape of the work rather than the shape of the API: an enquiry becomes a quote, the quote becomes a job, the job splits into phases that carry the labour and the materials. Including the part integrations usually skip.
Ask an electrician where the week actually goes and you get the same answer twice: on the tools, then quoting at the kitchen table at nine at night. The second one is the bit that decides whether the business grows, and it’s the bit that gets done last, tired, on a phone.
Fergus is live on FloConnector, on a connector we build and maintain ourselves, with 86 tools. It started as an electrical tool and there are plainly more trades on it now, which shows in the API: quoting is the most developed thing in it, and quoting is where this connector spends most of its effort.
What “86 tools” means here
Tool counts are easy to inflate, so here is the honest framing. Fergus is a compact API. 86 tools is not a fraction of a giant surface the way 262 is for Simpro, it is close to the whole thing, minus what the vendor doesn’t publish and what we chose not to ship.
| Area | Tools | What it reaches |
|---|---|---|
| Quotes | 14 | Build, price, publish, send, accept, decline, void, supersede |
| Jobs and phases | 16 | Create, hold, resume, finalise, and per-phase financial summaries |
| Customers, sites, contacts, enquiries | 17 | Who the work is for and where it happens |
| Calendar, tasks, time entries | 13 | When it happens, who's doing it, what's outstanding |
| Invoices, pricebooks, pricing tiers | 9 | Your real prices, and what has been billed |
| Notes, files, favourites | 7 | What was written down and attached |
| Materials | 6 | Stock on a phase, and stock used across jobs |
| Users and company | 4 | Who's on the account |
| 86 tools | 46 read, 40 write | 43 flagged sensitive |
The shape matters more than the number. The tools follow the shape of the work rather than the shape of the API: an enquiry becomes a quote, the quote becomes a job, the job splits into phases (Fergus calls them site visits) that carry the labour and the materials, and those become an invoice.
Quoting, and the question customers actually ask
Every quoting integration can create a quote. The interesting part is what happens in the four days after you send it, because that is where the work is.
The whole lifecycle is here. A quote can be built, priced, published, marked as sent, then accepted, declined or voided, and superseded by a new version when the customer changes their mind. That last one is the bit integrations usually skip, and it’s the one that happens most.
Fergus versions quotes properly: editing a published quote produces a new version number and supersedes the old one, so the trail of what was offered when survives. A draft can be edited in place; once it leaves draft, Fergus expects a new version rather than a quiet rewrite. That is the right behaviour for a document a customer might hold you to, and the connector follows it rather than working around it.
Then there is the one worth the whole post:
YouThey want to know what the two optional sections would cost. Price them, but don't change the quote.
ClaudeWith both optional sections included: $14,280 plus GST, up from $11,150. The under-floor run is $2,180 of that and the extra outdoor circuit is $950. The quote itself is unchanged, still at version 2.
fergus_calculate_quote_totals prices a selection of sections and returns per-section totals plus subtotal, discount, GST and total, changing nothing. Fixed sections are always included, optional ones are whatever you name. It’s the question customers ask on the phone, and until now the answer was “let me work that out and get back to you”.
Two more things that make a quote faster to build:
- Favourites. A favourite is a saved quote section a business reuses, the bathroom rough-in you have priced a hundred times. Your AI can build a section straight from one instead of retyping the lines. It can use them and deliberately cannot manage them, which is the right split: managing them is setup work you do once, using them is the daily job.
- The pricebook. Search your actual pricebook, with your actual pricing tiers, and price a line off it. Not a guess and not last year’s numbers.
- Start the quote against the customer and site
- Build the bathroom section from our saved favourite
- Add the switchboard section, priced off the pricebook
- Show me the total with and without the optional outdoor run
- Publish version 2 and mark it sent
The pipeline is a thing you can ask about
This is the part that surprised us, and the reason we think Fergus rewards a connector more than its size suggests.
Fergus phases move through a fixed sequence: To Schedule → To Start → In Progress → Labour Complete → To Invoice → To Be Approved → Invoiced. Jobs carry their own statuses beside that: To Price, Quote Sent, Estimate Sent, Active, Completed, and the two rejection states.
Which means your pipeline is not a screen you have to remember to go and look at. It’s a question.
YouWhat's sitting in To Invoice, how long has it been there, and what's it worth?
ClaudeEleven phases across nine jobs, $38,400 in total. Four have been there more than three weeks. The oldest is the Kingsland rewire at $6,120, labour complete on 9 July.
Work sitting in To Invoice is money you have already spent and not yet asked for. Nobody schedules a weekly review of it. Asking is free.
The same shape answers the questions underneath it:
- Pull the job, its phases and the quote it was won on
- Compare the phase financial summary against what was quoted
- Read the time entries and the materials on each phase
- Show me every phase where labour ran over quote by more than 15%
fergus_get_job_financial_summary and fergus_get_phase_financial_summary are two of the most useful tools in the set, because the answer they give is the one a business actually argues about. Doing this by hand means two exports and a spreadsheet, which is why it happens quarterly at best.
Once you’re across more than a handful of jobs, the numbers stop fitting in a conversation. Ask about a quarter and the connector loads the set, the model queries the aggregate, and thousands of rows never enter the chat. There’s more on how that works and why it isn’t a code sandbox, but you don’t have to do anything to get it.
What Fergus will not let anyone write, including us
Two things are read-only, and neither is our choice. We would rather say so here than have you find out mid-task.
Time entries. GET /timeEntries is the only time-entry endpoint that exists. There is no create, update or delete, so hours cannot be pushed into Fergus from any integration, ours included. “Log two hours against this job” cannot be satisfied through this API. You can read every hour recorded, by job, by phase, by person, and that is genuinely useful, but the writing stays in Fergus. The tool says so plainly so the model stops looking instead of hunting for a write that doesn’t exist.
Invoices. You can read one in full, down to the line items, and filter by customer, job, number or due date. Raising, sending and paying stay in Fergus. The furthest the API goes is fergus_mark_phase_ready_for_invoice, which is the handoff, and the invoice tools point the model at it rather than letting it flail.
Materials are the opposite, and the asymmetry is worth knowing: material lines on a phase have full read and write. You can add what was fitted, correct a quantity, and remove a line.
A few smaller ones in the same spirit:
- Files can be read, not uploaded. Fergus’s upload endpoint is a multipart binary body, which nothing on an MCP surface can supply. It would ship as a tool that always fails. The delete is cut as a consequence: with no way to put a file back, an AI should not be able to remove one.
- Notes are permanent. There is no delete, and no single-note read either. Worth knowing before writing one.
- An enquiry can’t be converted. You can create and read enquiries, and a job created afterwards shows up linked, but no endpoint turns one into the other. That link is observable, not settable.
- Favourites and pricebooks are read-only, because Fergus publishes no write for them.
None of that is a policy cut. It’s the API, stated out loud.
The task bug we decided not to hide
One thing we found on the live pass that says something about how we build these.
Every task write except delete answers 500 Internal Server Error and then applies the change anyway. Not intermittent, and not caused by anything we send. A body of {"description": "x"}, which is the whole of Fergus’s own required set, does it.
The danger is the obvious reading. A 5xx invites a retry, and retrying a create that already worked duplicates the task. That is exactly what happened on our live pass: three calls, three tasks, three “errors”.
So those four tools don’t report it as a failure. You are told the change almost certainly went through, told not to retry, and pointed at the tool that confirms it. It is an ugly answer to an ugly problem, and it is a great deal better than three copies of the same task. We’ve raised it with Fergus.
We handle the rate limit the same way. Fergus allows 100 requests a minute per company, counted across every token and every other integration on the account, so minting a second token buys nothing. We stay inside it for you rather than letting calls fail, and when it genuinely runs out you’re told when it clears instead of the request hanging.
Connecting is a pasted token, and the token is a person
Fergus does not offer integrations like ours a sign-in-and-approve flow, so you create a personal access token in your own Fergus account and paste it into FloConnector. That’s the whole setup.
The consequence is the useful part. Fergus has no scope model at all, its OAuth declares an empty scopes map, and access is simply whatever the person who created the token can do in Fergus. So if a tool comes back refused, it is not a permission we failed to request. It is that person’s access, and the fix is in Fergus.
That also makes the token a real control. Create it from an estimator and the connection is an estimator. Reopening a completed phase needs a specific Fergus permission; a user without it gets a clean refusal rather than a surprise.
On top of that, a profile decides which of the 86 tools a given endpoint publishes and who can use it. Describe what the profile is for in your own words and we turn on the ones it needs, including the supporting reads a write depends on. Or tick whole endpoint read only and hand out something that can answer questions and change nothing, which for a lot of businesses is the right first month.
Your Fergus token never goes near the model either way. We hold it encrypted, the AI only ever gets to ask. That’s how the credentials work on every connector we run.
How to connect Fergus to Claude
- Create a FloConnector workspace and open the Fergus connector
- In Fergus, create a personal access token from an account whose access is the access you want your AI to have
- Paste it into FloConnector
- Create a profile, describe what it’s for, and save
- Copy that profile’s endpoint into Claude as a custom connector, then ask it something. “What’s sitting in To Invoice” is a good first test
Common questions
Do I need Fergus’s permission, or a partner agreement? No. The token is one you create in your own account. FloConnector is an independent connector built on Fergus’s public API, not an official Fergus integration. Fergus is a trademark of its owner.
Does it work with ChatGPT as well as Claude? Your Fergus MCP endpoint is a standard connector, so it works with any client that supports them. If the term is new, we wrote a plain-English explainer.
Can it send a quote to a customer by itself? It can publish a version and mark it as sent, which is what Fergus’s API offers. The three verbs that change what a customer owes are flagged sensitive, and every write goes through the same confirmation your AI client gives you for any tool call. If you’d rather it never got the chance, leave those tools off the profile.
Can it log my hours? No, and nothing can. Fergus publishes no way to write a time entry. It can read every hour already recorded.
Can I use it alongside my accounting? Yes, and it’s where this gets interesting. A workspace holds more than one platform, so with Xero connected beside it, “what did we quote, what’s ready to invoice, and what’s still unpaid” is one question. The rest of the catalogue is at connectors.
What does it cost? Fergus is included on every plan, see pricing. New accounts get free credits to try it. It’s in beta, which means connectable today and still being exercised in the wild, and we’d rather badge that than not.
86 tools. And a quote that gets priced, versioned and sent while the customer is still on the phone.
Keep reading
More from the blog
Deputy + AI: 174 tools, and the pay run stops being a surprise
Deputy runs on a connector we build and maintain ourselves, with 174 tools across rosters, timesheets, leave, awards, people and locations. Ask what the fortnight cost while there is still time to do something about it.
MCP Apps: fifty connectors, one widget
MCP Apps is the first official extension to the Model Context Protocol: a server can now render its own interface inside the conversation. Here's why a platform sitting in front of 50+ vendors should build exactly one of them, which one we picked, and what the protocol taught us on the way.
I gave Claude access to my entire business, and filmed what happened
A walkthrough of FloConnector doing real work in real systems: a lead in Gmail becomes a ServiceM8 job, a stale CRM pipeline gets chased and pushed through to a work order, and a supplier remittance marks off a month of invoices. Including the two things it got wrong.