QuickBooks User Connector
Connect your own QuickBooks Online account to Abacus.AI so that ChatLLM Teams chats with RouteLLM, the Abacus AI Agent and Custom Chatbots can read and write your accounting data under your own Intuit identity.
Prerequisites​
- Access to ChatLLM Teams
- A QuickBooks Online account
- For the required config connector: administrative access in Abacus.AI to create connectors, and your QuickBooks Company ID (Realm ID)
Config connector (required)​
A config connector is required for the QuickBooks user connector to work. User-level authentication depends on it to supply the OAuth client configuration, the scopes and the Company ID. Without it, users cannot authenticate and API calls have no company to target.
An organization administrator creates it once:
- Navigate to the Connected Services Dashboard.
- Click Add New Connector.
- Select QuickBooks from the "Select a Service" popup.
- Toggle Config Only to Yes.
- Enter the Company ID (Realm ID) of your QuickBooks Online company. You can find it in QuickBooks Online under Settings → Additional information.
- (Optional) Adjust the Scopes. The defaults provide full accounting access:
com.intuit.quickbooks.accounting— full access to QuickBooks accounting data (required)email,openid,profile— sign the user in and read their email and profile
- Click Create.
Users who connected QuickBooks before a scope or Company ID change must reconnect it from Profile → User Connectors.
Use QuickBooks in ChatLLM​
Step 1 — Connect QuickBooks​
In ChatLLM Teams, click the Connectors link on the home page, or click your profile in the top right and navigate to Profile → User Connectors.

- Scroll the connector list and click QuickBooks.
- A browser pop-up opens asking you to sign in to QuickBooks and authorize Abacus.AI.
- Review the requested permissions and click Allow (or Authorize).
- After authorization completes, QuickBooks appears under your connected services and is ready to use.
User connectors are configured once per user and run under your own identity. After the connector is set up, every chatbot and the Abacus AI Agent in your workspace can query data from it.
Step 2 — Chat with RouteLLM​
- Open a new chat in ChatLLM Teams.
- From the model selector, choose RouteLLM (
route-llm). RouteLLM automatically routes each request to the most suitable underlying model, and is available for unlimited use to ChatLLM subscribers.

- Ask a question that references QuickBooks, for example "List my open QuickBooks invoices". RouteLLM invokes the QuickBooks tool, fetches the data under your identity, and responds in chat.
The first time you query a newly connected service in a chat, you may be prompted to authorize the connector. Complete the sign-in once and the request continues automatically; subsequent requests reuse the connection.
You don't need to train a Custom Chatbot to use QuickBooks with RouteLLM. Once the connector is configured in the User Connectors panel, it is immediately available across your workspace chats and to the Abacus AI Agent.
If you want a dedicated bot with its own instructions and a restricted set of tools, train a Custom Chatbot in the Developer Platform and, under Advanced Options → Tool Use, select Quickbooks_Tool. You must also pick the QuickBooks config connector under **Config Connectors**; without it, the chatbot's users cannot authenticate. End users of that chatbot are prompted to sign in to QuickBooks once, and the bot then acts under each user's own identity. See the Custom Chatbots guide for the full training and deployment walkthrough.
Supported QuickBooks tool actions​
The QuickBooks user connector provides a flexible REST wrapper that lets the AI agent call any QuickBooks Online API endpoint. The tool automatically handles authentication, token refresh, and the Company ID (Realm ID) prefix.
| Operation | Endpoint Example | Description |
|---|---|---|
| List Customers | customer | Fetch all customers |
| Get Customer | customer/{id} | Fetch a specific customer by ID |
| List Invoices | invoice | Fetch all invoices |
| Get Invoice | invoice/{id} | Fetch a specific invoice by ID |
| List Items | item | Fetch products and services |
| List Accounts | account | Fetch chart of accounts |
| List Vendors | vendor | Fetch all vendors |
| List Bills | bill | Fetch all bills |
| List Payments | payment | Fetch all payments |
| List Employees | employee | Fetch all employees |
| Query Data | query?query=SELECT * FROM Customer | Run a QBO SQL-style query |
| Company Info | companyinfo/{realmId} | Fetch company profile |
| Run Report | reports/ProfitAndLoss | Run a standard QBO report |
| Preferences | preferences | Fetch company preferences |
The tool supports all standard QuickBooks Online entities: Customer, Vendor, Employee, Invoice, Bill, Payment, Purchase, Estimate, CreditMemo, SalesReceipt, Account, JournalEntry, BillPayment, Item, TaxCode, TaxRate, Department, Class, and CompanyInfo.
Important notes​
- Token refresh: OAuth tokens are refreshed automatically. QuickBooks refresh tokens are valid for 100 days.
- Rate limits: QuickBooks enforces API rate limits; the tool automatically retries with exponential backoff when limits are hit.
- Read and write: the QuickBooks tool supports GET, POST, PUT, PATCH and DELETE operations depending on the endpoint called.
Troubleshooting​
- "Missing realm_id" error: the config connector has no Company ID. Edit it and add the Realm ID.
- Users cannot authenticate: verify that a config connector exists (and, for a Custom Chatbot, that it is selected under Tool Use → Config Connectors).
- Token expired: refresh tokens are valid for 100 days. Reconnect QuickBooks from Profile → User Connectors.
- Permission errors: ensure the
com.intuit.quickbooks.accountingscope was granted during authorization. - Wrong company data: verify the Company ID on the config connector matches the QuickBooks Online company you want to query.