Set up FreshBooks MCP in ApexGenius: sign in on FreshBooks’ page, turn on one business, review the 21 operations, and test with a first read.
Status: Available. FreshBooks publishes no hosted MCP server, so ApexGenius calls the official FreshBooks API with FreshBooks’ own browser sign-in. You do not paste an API key. One connection is one FreshBooks login. Every call goes to the one business you turn on.Explore the FreshBooks connector.
A FreshBooks login that keeps books for the business you want to use
An ApexGenius account
How to connect FreshBooks
Before you start
An account with permission to use the FreshBooks resources you intend to connect.
1
Open FreshBooks in Connections
Choose Connect, or Add connection when offered. Give the connection a name if prompted. If Gateway setup pending appears, contact ApexGenius support before continuing.
2
Choose the account and review access
Sign in to FreshBooks in the browser and allow access for ApexGenius. FreshBooks uses browser authorization; no API key is pasted into ApexGenius. ApexGenius asks for read scopes plus project and time-entry access.
3
Review the connected account and resources
Find Allowed resources on the connection page. Each FreshBooks business your login keeps books for is listed. Turn on exactly one; every call goes to that business. A login with one business has it turned on already.
4
Check the connection
Use Test connection or Check again and read the reported status. Add an AI agent from the AI agents page, choose Read only for the first test, and try the question below.
The FreshBooks connection page after you connect. Choose Test connection to check that FreshBooks answers. The account email and credits are blurred in this capture.
Try a first question with your AI agent
Which FreshBooks business is connected? List its five most recent invoices with client, amount and status. Do not change anything.
Open Skills on the connection to read FreshBooks, or read that MCP prompt in a compatible AI client with prompts/get. It covers the first safe read, the business rule, how to log time, and what the connector cannot do.Three ApexGenius tools route the FreshBooks operations:
ApexGenius tool
What it does
Access
freshbooks_search_operations
Lists the 21 reviewed FreshBooks operations with their inputs
Read
freshbooks_read_operation
Runs the 17 reads, such as get_identity, list_invoices, list_expenses and get_profit_and_loss_report
Read
freshbooks_write_operation
Runs the 4 writes: create_project, update_project, create_time_entry and update_time_entry
Write
The reads cover your login and its businesses, clients, invoices, expenses, payments, projects, time entries, and the profit and loss, tax summary, invoice details and payments collected reports.Your AI discovers the tools with apex_search_tools. Reads use apex_call_read_tool; the project and time-entry writes use apex_call_write_tool. Enabled writes run immediately. Turn a tool off to block calls.
A FreshBooks login can keep books for more than one business. Each business shows up as an account on the FreshBooks connection page. Turn on exactly one. ApexGenius fills in the business for every call, so your AI never passes it and cannot reach a business that is off.
Accounting is read only. It cannot create, send or change an invoice, and it cannot record a payment.
It cannot delete anything, including a project or a time entry.
It cannot read estimates.
A project or time entry made by mistake can be fixed with update_project or update_time_entry, or deleted by you in FreshBooks. Disconnecting stops future access. It does not undo a change that already ran.
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"ApexGenius","description":"Connect one app to a supported AI client, then keep the account, available operations, and observed Activity clear.","colors":{"primary":"#0055FF","light":"#4C7FE5","dark":"#4C7FE5"},"logo":{"light":"https://mintcdn.com/apexgenius/PL1VOuYeZtypECmH/logo/apexgenius.svg?fit=max\u0026auto=format\u0026n=PL1VOuYeZtypECmH\u0026q=85\u0026s=ef6a088897a39f3ddbf23122743577fe","dark":"https://mintcdn.com/apexgenius/PL1VOuYeZtypECmH/logo/apexgenius-dark.svg?fit=max\u0026auto=format\u0026n=PL1VOuYeZtypECmH\u0026q=85\u0026s=90a72ff0da22baa182d13aa1ab8398d9","href":"https://www.apexgenius.ai"},"favicon":{"light":"https://mintcdn.com/apexgenius/PL1VOuYeZtypECmH/logo/apexgenius.svg?fit=max\u0026auto=format\u0026n=PL1VOuYeZtypECmH\u0026q=85\u0026s=ef6a088897a39f3ddbf23122743577fe","dark":"https://mintcdn.com/apexgenius/PL1VOuYeZtypECmH/logo/apexgenius-dark.svg?fit=max\u0026auto=format\u0026n=PL1VOuYeZtypECmH\u0026q=85\u0026s=90a72ff0da22baa182d13aa1ab8398d9"},"appearance":{"default":"system","strict":false},"background":{"color":{"light":"#FAF9F6","dark":"#15171B"}},"navbar":{"links":[{"icon":"blocks","href":"https://www.apexgenius.ai/connectors","label":"Connectors"},{"icon":"workflow","href":"https://www.gatechsolutionsllc.com/services/agentforce-consulting","label":"Implementation help"}],"primary":{"type":"button","label":"Connect it free","href":"https://www.apexgenius.ai/auth"}},"footer":{"socials":{"x":"https://x.com/ApexGeniusAI","linkedin":"https://www.linkedin.com/company/apexgenius","youtube":"https://www.youtube.com/@ApexGeniusAI"},"links":[{"header":"ApexGenius","items":[{"label":"Product","href":"https://www.apexgenius.ai/mcp"},{"label":"Connector catalog","href":"https://www.apexgenius.ai/connectors"},{"label":"Security","href":"https://www.apexgenius.ai/security"}]},{"header":"Implementation","items":[{"label":"GAT Solutions services","href":"https://www.gatechsolutionsllc.com/services"},{"label":"AI and Agentforce consulting","href":"https://www.gatechsolutionsllc.com/services/agentforce-consulting"},{"label":"Salesforce integrations","href":"https://www.gatechsolutionsllc.com/services/salesforce-integrations"}]},{"header":"Legal","items":[{"label":"Privacy","href":"https://www.apexgenius.ai/privacy"},{"label":"Terms","href":"https://www.apexgenius.ai/terms"}]}]},"fonts":{"family":"Urbanist"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":false},"errors":{"404":{"redirect":false,"title":"This route is not in the gateway docs","description":"Check the address or return to the [ApexGenius introduction](/getting-started/introduction)."}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"apexgenius","hasAudioNarration":false,"actualSubdomain":"apexgenius","customDomains":["docs.apexgenius.ai"],"gitSource":{"type":"github","owner":"ezscore","repo":"apexai","deployBranch":"main","contentDirectory":"content/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad58ac653bf1fc59b2b3f44","collectionId":"5d525a0c-7bc7-4411-ba24-23537ccf34eb","liveDeploymentHistoryId":"6ad58ac653bf1fc59b2b3f44","schemaVersion":"v3"},"entitlements":{},"buildId":"6ad766d87a3fec7fec58cb97","clientVersion":"0.0.3894","searchFilterCounts":[{"language":"default","tag":"Connect apps","count":39},{"language":"default","tag":"Additional connector guides","count":29},{"language":"default","tag":"Salesforce","count":5},{"language":"default","tag":"Connect an AI client","count":5},{"language":"default","tag":"Reference and support","count":4},{"language":"default","tag":"Governance and concepts","count":3},{"language":"default","tag":"Start here","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"teamspace","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"client-snapshot-docs-config","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":":root{--ag-canvas:#FAF9F6;--ag-surface:#FFFFFF;--ag-ink:#1A1A18;--ag-muted:#6B6B66;--ag-border:#E8E5DF;--ag-blue:#0055FF;--ag-blue-frame:rgb(0 85 255 / 18%);--ag-clay:#D97757}.dark{--ag-blue-frame:rgb(51 119 255 / 28%)}#navbar{border-bottom:1px solid var(--ag-blue-frame)}nav[aria-label=Pages]{border-right-color:var(--ag-blue-frame)}card,code-block{border-radius:14px}callout{border-radius:12px}@media (prefers-reduced-motion:reduce){*,::after,::before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}"}],"page":{"pagePath":"integrations/freshbooks","slug":"/integrations/freshbooks","pageMetadata":{"title":"FreshBooks MCP Setup","description":"Set up FreshBooks MCP in ApexGenius: sign in on FreshBooks' page, turn on one business, review the 21 operations, and test with a first read.","href":"/integrations/freshbooks"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Set up FreshBooks MCP in ApexGenius: sign in on FreshBooks’ page, turn on one business, review the 21 operations, and test with a first read.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,CodeBlock,Frame,Heading,OptimizedImage,Step,Steps,Table}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Status: Available.`}),` FreshBooks publishes no hosted MCP server, so ApexGenius calls the official FreshBooks API with FreshBooks’ own browser sign-in. You do not paste an API key. One connection is one FreshBooks login. Every call goes to the one business you turn on.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.apexgenius.ai/connectors/freshbooks`,children:`Explore the FreshBooks connector`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-you-need`,children:`What you need`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A FreshBooks login that keeps books for the business you want to use`}),`\n`,_jsx(_components.li,{children:`An ApexGenius account`}),`\n`]}),`\n`,_jsxs(Accordion,{title:`How to connect FreshBooks`,id:`how-to-connect-freshbooks`,children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Before you start`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`An account with permission to use the FreshBooks resources you intend to connect.`}),`\n`]}),_jsxs(Steps,{children:[_jsx(Step,{title:`Open FreshBooks in Connections`,children:_jsx(_components.p,{children:`Choose Connect, or Add connection when offered. Give the connection a name if prompted. If Gateway setup pending appears, contact ApexGenius support before continuing.`})}),_jsx(Step,{title:`Choose the account and review access`,children:_jsx(_components.p,{children:`Sign in to FreshBooks in the browser and allow access for ApexGenius. FreshBooks uses browser authorization; no API key is pasted into ApexGenius. ApexGenius asks for read scopes plus project and time-entry access.`})}),_jsx(Step,{title:`Review the connected account and resources`,children:_jsx(_components.p,{children:`Find Allowed resources on the connection page. Each FreshBooks business your login keeps books for is listed. Turn on exactly one; every call goes to that business. A login with one business has it turned on already.`})}),_jsxs(Step,{title:`Check the connection`,children:[_jsx(_components.p,{children:`Use Test connection or Check again and read the reported status. Add an AI agent from the AI agents page, choose Read only for the first test, and try the question below.`}),_jsx(Frame,{caption:`The FreshBooks connection page after you connect. Choose Test connection to check that FreshBooks answers. The account email and credits are blurred in this capture.`,children:_jsx(OptimizedImage,{src:`https://www.apexgenius.ai/images/integration-guides/freshbooks/20261020-connect.webp`,alt:`The full ApexGenius connection page for FreshBooks, marked Ready for tools with Provider check passed and five successful agent reads, a red box and arrow on Test connection, and the account email and credits blurred.`,width:`1232`,height:`962`,style:{width:`100%`,height:`auto`}})})]})]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Try a first question with your AI agent`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Which FreshBooks business is connected? List its five most recent invoices with client, amount and status. Do not change anything.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(_components.p,{children:`Compare the returned account and resource with FreshBooks. Check the connection status separately from the result of the first read.`}),_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/guides/mcp-setup`,children:`Add your AI agent`}),` · `,_jsx(_components.a,{href:`https://www.freshbooks.com/api/start`,children:`Official FreshBooks instructions`})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`tools-and-the-freshbooks-skill`,children:`Tools and the FreshBooks skill`}),`\n`,_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Skills`}),` on the connection to read `,_jsx(_components.strong,{children:`FreshBooks`}),`, or read that MCP prompt in a compatible AI client with `,_jsx(_components.code,{children:`prompts/get`}),`. It covers the first safe read, the business rule, how to log time, and what the connector cannot do.`]}),`\n`,_jsx(_components.p,{children:`Three ApexGenius tools route the FreshBooks operations:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`ApexGenius tool`}),_jsx(_components.th,{children:`What it does`}),_jsx(_components.th,{children:`Access`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`freshbooks_search_operations`})}),_jsx(_components.td,{children:`Lists the 21 reviewed FreshBooks operations with their inputs`}),_jsx(_components.td,{children:`Read`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`freshbooks_read_operation`})}),_jsxs(_components.td,{children:[`Runs the 17 reads, such as `,_jsx(_components.code,{children:`get_identity`}),`, `,_jsx(_components.code,{children:`list_invoices`}),`, `,_jsx(_components.code,{children:`list_expenses`}),` and `,_jsx(_components.code,{children:`get_profit_and_loss_report`})]}),_jsx(_components.td,{children:`Read`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`freshbooks_write_operation`})}),_jsxs(_components.td,{children:[`Runs the 4 writes: `,_jsx(_components.code,{children:`create_project`}),`, `,_jsx(_components.code,{children:`update_project`}),`, `,_jsx(_components.code,{children:`create_time_entry`}),` and `,_jsx(_components.code,{children:`update_time_entry`})]}),_jsx(_components.td,{children:`Write`})]})]})]}),`\n`,_jsx(_components.p,{children:`The reads cover your login and its businesses, clients, invoices, expenses, payments, projects, time entries, and the profit and loss, tax summary, invoice details and payments collected reports.`}),`\n`,_jsxs(_components.p,{children:[`Your AI discovers the tools with `,_jsx(_components.code,{children:`apex_search_tools`}),`. Reads use `,_jsx(_components.code,{children:`apex_call_read_tool`}),`; the project and time-entry writes use `,_jsx(_components.code,{children:`apex_call_write_tool`}),`. Enabled writes run immediately. Turn a tool off to block calls.`]}),`\n`,_jsx(Heading,{level:`2`,id:`one-business-per-connection`,children:`One business per connection`}),`\n`,_jsx(_components.p,{children:`A FreshBooks login can keep books for more than one business. Each business shows up as an account on the FreshBooks connection page. Turn on exactly one. ApexGenius fills in the business for every call, so your AI never passes it and cannot reach a business that is off.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-it-cannot-do`,children:`What it cannot do`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Accounting is read only. It cannot create, send or change an invoice, and it cannot record a payment.`}),`\n`,_jsx(_components.li,{children:`It cannot delete anything, including a project or a time entry.`}),`\n`,_jsx(_components.li,{children:`It cannot read estimates.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`A project or time entry made by mistake can be fixed with `,_jsx(_components.code,{children:`update_project`}),` or `,_jsx(_components.code,{children:`update_time_entry`}),`, or deleted by you in FreshBooks. Disconnecting stops future access. It does not undo a change that already ran.`]}),`\n`,_jsx(Heading,{level:`2`,id:`connector-tools-and-skill`,children:`Connector, tools, and skill`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Layer`}),_jsx(_components.th,{children:`What must work`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Connector`}),_jsx(_components.td,{children:`Sign-in completes, the FreshBooks login and its businesses are shown, exactly one business is on, and health is current.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tools`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`freshbooks_search_operations`}),`, `,_jsx(_components.code,{children:`freshbooks_read_operation`}),` and `,_jsx(_components.code,{children:`freshbooks_write_operation`}),` are discoverable and a real read such as `,_jsx(_components.code,{children:`get_identity`}),` succeeds.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Skill`}),_jsxs(_components.td,{children:[`The `,_jsx(_components.code,{children:`FreshBooks`}),` MCP prompt is readable and routes the agent through discovery, the business rule, the read route and the write limits.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`If any row fails, FreshBooks is `,_jsx(_components.strong,{children:`partially ready`}),`. A saved sign-in by itself is not a fully ready connection.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Unavailable to this account:`}),` check that you are signed in to the intended ApexGenius account and refresh Connections.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Turn on exactly one account:`}),` open the FreshBooks connection page and turn on one business.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Wrong business:`}),` turn that one off and turn on the business you want. To use a different FreshBooks login, disconnect and connect again.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reconnect required:`}),` use the connection page to sign in to FreshBooks again.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`A read returns nothing:`}),` check that the business you turned on is the one that holds the records.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Tool disabled:`}),` the owner has turned the tool off. Review tool access on the connection page.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.apexgenius.ai/connectors/freshbooks`,children:`Explore the FreshBooks connector`}),` · `,_jsx(_components.a,{href:`https://www.apexgenius.ai/connections/freshbooks`,children:`Open FreshBooks Connections`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"FreshBooks MCP Setup","description":"Set up FreshBooks MCP in ApexGenius: sign in on FreshBooks' page, turn on one business, review the 21 operations, and test with a first read.","href":"/integrations/freshbooks"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What you need","slug":"what-you-need","depth":2,"children":[]},{"title":"Tools and the FreshBooks skill","slug":"tools-and-the-freshbooks-skill","depth":2,"children":[]},{"title":"One business per connection","slug":"one-business-per-connection","depth":2,"children":[]},{"title":"What it cannot do","slug":"what-it-cannot-do","depth":2,"children":[]},{"title":"Connector, tools, and skill","slug":"connector-tools-and-skill","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"apexgenius","siteName":"ApexGenius","title":"FreshBooks MCP Setup - ApexGenius","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-20T13:04:30.098Z","gitLastModified":"2026-10-20T12:53:37.000Z","originalFileLocation":"integrations/freshbooks.mdx"},"headHtml":"\u003cmeta data-mint-head name=\"description\" content=\"Set up FreshBooks MCP in ApexGenius: sign in on FreshBooks\u0026#x27; page, turn on one business, review the 21 operations, and test with a first read.\">\u003cmeta data-mint-head name=\"application-name\" content=\"ApexGenius\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/apexgenius/of2iO4EQJQd_LzS2/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/apexgenius/of2iO4EQJQd_LzS2/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/apexgenius/of2iO4EQJQd_LzS2/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/apexgenius/of2iO4EQJQd_LzS2/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/apexgenius/of2iO4EQJQd_LzS2/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/apexgenius/of2iO4EQJQd_LzS2/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/apexgenius/of2iO4EQJQd_LzS2/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/apexgenius/of2iO4EQJQd_LzS2/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/apexgenius/of2iO4EQJQd_LzS2/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"FreshBooks MCP Setup - ApexGenius\">\u003cmeta data-mint-head property=\"og:description\" content=\"Set up FreshBooks MCP in ApexGenius: sign in on FreshBooks\u0026#x27; page, turn on one business, review the 21 operations, and test with a first read.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ApexGenius\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.apexgenius.ai/integrations/freshbooks\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"FreshBooks MCP Setup - ApexGenius\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Set up FreshBooks MCP in ApexGenius: sign in on FreshBooks\u0026#x27; page, turn on one business, review the 21 operations, and test with a first read.\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/apexgenius/of2iO4EQJQd_LzS2/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ApexGenius\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0055FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.apexgenius.ai/integrations/freshbooks\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/freshbooks.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.apexgenius.ai/#organization\",\"name\":\"ApexGenius\",\"url\":\"https://docs.apexgenius.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/apexgenius/PL1VOuYeZtypECmH/logo/apexgenius.svg?fit=max\u0026auto=format\u0026n=PL1VOuYeZtypECmH\u0026q=85\u0026s=ef6a088897a39f3ddbf23122743577fe\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.apexgenius.ai#website\",\"name\":\"ApexGenius\",\"url\":\"https://docs.apexgenius.ai\",\"publisher\":{\"@id\":\"https://docs.apexgenius.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.apexgenius.ai/integrations/freshbooks#webpage\",\"url\":\"https://docs.apexgenius.ai/integrations/freshbooks\",\"name\":\"FreshBooks MCP Setup\",\"description\":\"Set up FreshBooks MCP in ApexGenius: sign in on FreshBooks' page, turn on one business, review the 21 operations, and test with a first read.\",\"dateModified\":\"2026-10-20T12:53:37.000Z\",\"isPartOf\":{\"@id\":\"https://docs.apexgenius.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.apexgenius.ai/integrations/freshbooks#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.apexgenius.ai/integrations/freshbooks#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Connect apps\",\"item\":\"https://docs.apexgenius.ai/integrations/provider-connections\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Additional connector guides\",\"item\":\"https://docs.apexgenius.ai/integrations/hq-rental\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"FreshBooks MCP Setup\",\"item\":\"https://docs.apexgenius.ai/integrations/freshbooks\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.apexgenius.ai/integrations/freshbooks#article\",\"headline\":\"FreshBooks MCP Setup\",\"name\":\"FreshBooks MCP Setup\",\"description\":\"Set up FreshBooks MCP in ApexGenius: sign in on FreshBooks' page, turn on one business, review the 21 operations, and test with a first read.\",\"url\":\"https://docs.apexgenius.ai/integrations/freshbooks\",\"mainEntityOfPage\":{\"@id\":\"https://docs.apexgenius.ai/integrations/freshbooks#webpage\"},\"dateModified\":\"2026-10-20T12:53:37.000Z\",\"publisher\":{\"@id\":\"https://docs.apexgenius.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.apexgenius.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ApexGenius\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ApexGenius","nav":{"global":null,"groups":[{"group":"Start here","icon":"route","pages":[{"title":"Connect one app to the AI you already use","href":"/getting-started/introduction"},{"title":"Connect an AI client","href":"/guides/mcp-setup"},{"title":"Send the first safe request","href":"/guides/first-safe-request"}]},{"group":"Connect an AI client","icon":"message-square-code","pages":[{"title":"Connect Claude","href":"/guides/connect-claude"},{"title":"Connect ChatGPT","href":"/guides/connect-chatgpt"},{"title":"Connect Codex","href":"/guides/connect-codex"},{"title":"Connect Cursor","href":"/guides/connect-cursor"},{"title":"Connect VS Code","href":"/guides/connect-vscode"}]},{"group":"Salesforce","icon":"cloud","pages":[{"title":"Connect Salesforce","href":"/getting-started/connect-salesforce"},{"title":"Loading Metadata","href":"/getting-started/load-metadata"},{"title":"Using the Account App","href":"/getting-started/using-chat"},{"title":"Reports and Dashboards: Current Availability","href":"/guides/reports-and-dashboards"},{"title":"Salesforce connection model","href":"/integrations/salesforce-connection"}]},{"group":"Connect apps","icon":"plug-zap","pages":[{"title":"App connection guides","href":"/integrations/provider-connections"},{"title":"YouTube MCP Setup","href":"/integrations/youtube"},{"title":"YouTube Analytics MCP Setup","href":"/integrations/youtube-analytics"},{"title":"n8n MCP Setup","href":"/integrations/n8n"},{"title":"Confluence MCP Setup","href":"/integrations/confluence"},{"title":"Discord MCP Setup","href":"/integrations/discord"},{"title":"Jira MCP Setup","href":"/integrations/jira"},{"group":"Additional connector guides","icon":"flask-conical","pages":[{"title":"HQ Rental MCP Setup","href":"/integrations/hq-rental"},{"title":"Google Ads MCP Setup","href":"/integrations/google-ads"},{"title":"Google Search Console MCP Setup","href":"/integrations/google-search-console"},{"title":"Google Analytics MCP Setup","href":"/integrations/google-analytics"},{"title":"Google Workspace MCP Setup","href":"/integrations/google-workspace"},{"title":"Upwork MCP Setup","href":"/integrations/upwork"},{"title":"Apollo MCP Setup","href":"/integrations/apollo"},{"title":"Notion MCP Setup","href":"/integrations/notion"},{"title":"Connect Slack accounts","href":"/integrations/slack"},{"title":"ClickUp MCP Setup","href":"/integrations/clickup"},{"title":"Connect Blotato","href":"/integrations/blotato"},{"title":"Connect HighLevel","href":"/integrations/gohighlevel"},{"title":"ChatGPT Ads MCP Setup","href":"/integrations/chatgpt-ads"},{"title":"Semrush MCP Setup","href":"/integrations/semrush"},{"title":"Bing Webmaster MCP Setup","href":"/integrations/bing-webmaster"},{"title":"Apify MCP Setup","href":"/integrations/apify"},{"title":"Linear MCP Setup","href":"/integrations/linear"},{"title":"Attio MCP Setup","href":"/integrations/attio"},{"title":"Calendly MCP Setup","href":"/integrations/calendly"},{"title":"Connect Cal.com to your AI","href":"/integrations/cal-com"},{"title":"Mobbin MCP Setup","href":"/integrations/mobbin"},{"title":"Supabase MCP Setup","href":"/integrations/supabase"},{"title":"Context.dev MCP Setup","href":"/integrations/context-dev"},{"title":"Stripe MCP Setup","href":"/integrations/stripe"},{"title":"GitHub MCP Setup","href":"/integrations/github"},{"title":"monday.com MCP Setup","href":"/integrations/monday"},{"title":"Atlassian Rovo MCP Setup","href":"/integrations/atlassian-rovo"},{"title":"ElevenLabs MCP Setup","description":"Connect your ElevenLabs workspace to ApexGenius through ElevenLabs' official hosted MCP, review voice agents from your AI, and generate speech.","href":"/integrations/elevenlabs"},{"title":"FreshBooks MCP Setup","href":"/integrations/freshbooks"}]},{"title":"Connect Speedrun Alpha","description":"Read current Speedrun Alpha requirements and prepare a reviewed application with your AI. Applicant access is enabled separately.","href":"/integrations/speedrun"},{"title":"Connect OP.GG to your AI","href":"/integrations/opgg"},{"title":"Read Polymarket information with your AI","href":"/integrations/polymarket"}]},{"group":"Governance and concepts","icon":"shield-check","pages":[{"title":"How the MCP Connection Works","href":"/concepts/how-mcp-works"},{"title":"Orgs, Projects \u0026 Workspaces","href":"/concepts/orgs-and-projects"},{"title":"The Soul Doc","href":"/concepts/soul-doc"}]},{"group":"Reference and support","icon":"book-open-check","pages":[{"title":"MCP Tool Reference","href":"/reference/mcp-tools"},{"title":"Pricing and Account Limits","href":"/reference/plans-and-limits"},{"title":"Common Issues","href":"/troubleshooting/common-issues"},{"title":"How we record your signup source","href":"/reference/signup-source"}]}]},"title":"FreshBooks MCP Setup - ApexGenius","buildId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","deploymentId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DgIorxK1.js","DynamicMarkdown-43fmNsOD.js","zoom-image-lightbox-D9lJgLSo.js","PlusIcon-C1lem43w.js","lightbox-handle-r17bVUz3.js"]}