FreshBooks is a cloud-based accounting software service designed for small and medium-sized businesses, offering features like invoicing, expense tracking, and time management.
FreshBooks is a cloud-based accounting software service designed for small and medium-sized businesses, offering features like invoicing, expense tracking, and time management. On Nagent, FreshBooks is exposed as a fully-configurable accounting integration that any agent can call — 10 actions, and OAuth authentication. No code is required to wire FreshBooks into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use FreshBooks to automate the kinds of tasks accounting teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire FreshBooks into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against FreshBooks, with input parameters and output schema. Drop these into any step of an agent built in Helix.
FRESHBOOKS_CREATE_WEBHOOKRegister a new webhook callback for a FreshBooks account. Webhooks notify your application when specified events occur (e.g., when invoices are created, clients are updated, or payments are received). **Prerequisites:** Obtain a valid account_id using the List Businesses action first. **Important Notes:** - FreshBooks implements a verification mechanism to ensure you own the callback URI. The 'verified' field will initially be false. - Your webhook endpoint must respond with a 2xx HTTP status code. Any other status code (including 3xx redirects) is treated as a failure. - Webhook requests have a 10-second timeout. - Requires 'user:webhooks:write' OAuth scope. **Common Event Types:** client.create, client.update, client.delete, invoice.create, invoice.update, invoice.delete, payment.create, payment.update, payment.delete, expense.create, expense.update, expense.delete.
Input parameters
URL endpoint to receive webhook notifications. Must be a valid HTTPS URL that can receive POST requests. FreshBooks will send webhook payloads to this URI when the subscribed event occurs. The endpoint must respond with a 2xx status code (redirects and other codes are treated as failures).
Event type to subscribe to. Specifies which FreshBooks events will trigger the webhook. Common events include: client.create, client.update, client.delete, invoice.create, invoice.update, invoice.delete, payment.create, payment.update, payment.delete, expense.create, expense.update, expense.delete.
Unique identifier of the FreshBooks account to register the webhook for. Obtain this from the account_id field in the List Businesses action response.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FRESHBOOKS_DELETE_WEBHOOKDelete a webhook callback from a FreshBooks account. Use when you need to remove an existing webhook subscription that is no longer needed.
Input parameters
The unique FreshBooks account identifier. Obtain this from the account details or business information.
The unique identifier of the webhook callback to delete. Obtain this from the list webhooks response.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FRESHBOOKS_GET_BUSINESS_USERSRetrieves staff identities and members for a specific FreshBooks business. This action returns detailed information about all staff members (owners, admins, employees) in a business group, including their roles, email addresses, and active status. Use this to discover team members before assigning time entries or tasks.
Input parameters
The unique identifier of the business whose staff identities you want to retrieve. Obtain this from the List Businesses action.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FRESHBOOKS_LIST_BUSINESSESList all businesses associated with the authenticated user. This action retrieves business membership information from the FreshBooks Identity endpoint, showing all businesses the user has access to along with their role in each business. The business_id from this response is required for many other FreshBooks API calls.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FRESHBOOKS_LIST_CLIENTSRetrieves all clients for a FreshBooks account. Clients are entities you send invoices to. Supports pagination, filtering by email/user ID/visibility state, sorting, and includes optional balance data (outstanding, credit, draft, overdue).
Input parameters
Page number for pagination. Pages are 1-indexed.
Sort results by field: client_id, organization_name, email, updated, fullname, or outstanding.
Include additional balance data in response. Options: outstanding_balance, credit_balance, draft_balance, overdue_balance.
Number of results per page. Default is 15.
Unique identifier of the FreshBooks account. Obtain this from the List Businesses action (use the account_id field from the business object).
Filter by exact email address match.
Filter by exact user ID match.
Visibility state for clients.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FRESHBOOKS_LIST_JOURNAL_ENTRIES2Retrieves all journal entries for a FreshBooks business account. Journal entries are the building blocks of financial accounting, recording all business transactions including invoices, payments, credits, and expenses. Use this action to get a comprehensive view of your accounting records.
Input parameters
Number of journal entries to return per page. Use to control response size. Defaults to 30 if not specified.
The page number to retrieve. Use for pagination when there are many journal entries. Defaults to 1 if not specified.
The UUID of the business whose journal entries you want to list. Obtain this from the List Businesses action.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FRESHBOOKS_LIST_PROJECTSRetrieves all projects associated with a FreshBooks business account. This action returns a paginated list of projects with comprehensive details including client information, billing rates, budget, completion status, team members, and associated services. Use this to discover available projects before performing project-specific operations. **Prerequisites:** Obtain a valid business_id using the List Businesses action first. **Use Cases:** - Get all projects for time tracking or invoicing - Find projects by client, status, or date range - Monitor project completion and budget tracking - Retrieve team assignments and project groups **Response:** Returns an empty list if no projects exist or match the filters.
Input parameters
Filter by active status. Set to true to return only active projects, false for inactive projects. Omit to return all projects regardless of active status.
Sort order for the returned projects. Choose 'created_at' for creation date, 'due_date' for project due date, or 'title' for alphabetical order. Omit for default API ordering.
Filter by completion status. Set to true to return only completed projects, false for incomplete projects. Omit to return all projects regardless of completion status.
Exclude group membership data. Set to true to omit the group field (which contains team member and invitation details) from each project to reduce response size.
The unique identifier of the business whose projects you want to list. Obtain this from the List Businesses action.
Filter by last update time. Only returns projects updated at or after this UTC datetime. Must be in RFC3339 format (e.g., '2023-01-01T00:00:00Z').
Include time tracking data. Set to true to include the total logged duration (in seconds) for each project in the response.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FRESHBOOKS_LIST_WEBHOOKSList all webhook callbacks registered for a FreshBooks account. Webhooks notify your application when events occur (e.g., invoice creation, payment received). Use this to discover what webhook callbacks are currently active for an account before creating or managing webhook subscriptions.
Input parameters
Unique identifier of the FreshBooks account. Obtain this from the List Businesses action (corresponds to account_id field in the business object).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FRESHBOOKS_REGISTER_AS_A_NEW_USERRegister a new user account in FreshBooks. Returns an access token upon successful registration. Use this action when you need to create a new FreshBooks user account programmatically with their business information.
Input parameters
Valid email address for the new user. Must use a real domain (e.g., gmail.com, outlook.com). This will be the user's login email.
Password for the new user account. Should be strong and meet security requirements.
Last name of the user being registered.
First name of the user being registered.
Name of the business to register for the new user. This will be associated with their FreshBooks account.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FRESHBOOKS_UPDATE_WEBHOOKUpdate or verify a FreshBooks webhook callback. Use this to verify a newly created webhook by providing the verification code, or to request a new verification code be sent to the callback URI. **Prerequisites:** You need the account_id (from List Businesses as business_uuid) and callback_id (from webhook creation). **Use Cases:** - Verify a webhook after creation by providing the verifier code received at your callback URI - Request a new verification code if the original was lost or expired (set resend=true) **Important:** The verifier and resend parameters are mutually exclusive - provide only one per request.
Input parameters
Set to true to resend the verification code to the callback URI. Mutually exclusive with verifier. Only use when you need a new verification code.
Verification code received at the callback URI. Provide this to verify a newly created webhook. Mutually exclusive with resend.
The account ID for the FreshBooks account. Obtain this from the List Businesses action as business_uuid.
The unique identifier of the webhook callback to update. Obtain this from the list or create callbacks endpoints.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 64 agents privately built on Nagent that already use FreshBooks.
Build on Nagent
Connect FreshBooks to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find FreshBooks, and click "Connect Now." You'll authenticate with OAuth — Nagent handles credential storage and refresh automatically. Once connected, FreshBooks is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once FreshBooks is connected, you configure its 10 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop FreshBooks steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a FreshBooks event fires, the agent kicks off automatically.
Every FreshBooks action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While FreshBooks ships with 10 pre-built accounting actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching FreshBooks together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build FreshBooks-based workflows tailored to your business.