FreshBooks

Provides integration with FreshBooks Accounting API using OAuth for identity lookup, membership discovery, and client query, create, update, and soft-delete operations from a Workflow.

Revision History

0.0.0.1 - Initial release for client query and CRUD operations.
0.0.0.3 - Added Get Identity (/me) query template, updated query template selection to use OperationId, and expanded identity validation coverage.
0.0.0.4 - Improved /me identity handling for current FreshBooks response shapes and kept query template contract aligned with OperationId-driven flow.

Connection

Use the Connection to store the OAuth application details, tokens, requested scopes, and cached membership details needed to access the selected FreshBooks account.

Property Type Description
Domain String Optional compatibility field retained from existing profiles; this value is kept for profile continuity and does not use it to switch API hosts.
Client ID String OAuth client identifier from your FreshBooks app registration.
Client Secret Masked OAuth client secret from your FreshBooks app registration.
Scope String Space-delimited FreshBooks OAuth scopes requested during authorization.
Access Token Masked OAuth access token used for FreshBooks API requests.
Refresh Token Masked OAuth refresh token used to renew the access token.
Account ID String FreshBooks account ID used for accounting endpoints.
Business ID String FreshBooks business ID discovered from the identity endpoint.
Memberships String Raw FreshBooks business membership payload returned by the identity endpoint, so you can confirm or copy the correct account details.

Setup Notes

You need a FreshBooks OAuth app registration before you can use this Node, because the connection requires Client ID and Client Secret.

Authorize the Connection to populate Access Token and Refresh Token. If Scope is blank, the Connection falls back to the built-in default FreshBooks scope set for user profile and client access.

Run the Connection Acquire Metadata and Test to refresh Memberships. If the connected identity returns one business membership, the Node can auto-select Account ID and Business ID. If multiple memberships are returned, use Memberships or the Get Identity (/me) query template to identify the correct account details.

This Node always targets the documented FreshBooks production API host. Domain is retained only for compatibility with imported profiles.

Methods

The FreshBooks Node exposes separate Methods for client reads, creates, updates, and soft deletes. Templates provide the expected request shape for each Method.

Query

Use Query to run the List Clients, Get Client, or Get Identity (/me) template.

This Method supports a list flow, a get-by-ID flow, and a Get Identity (/me) flow. The identity flow does not require Account ID or Options, so you can use it to inspect memberships before selecting an account.

Parameter Type Description
Connection Connection FreshBooks Connection containing OAuth credentials and, for client operations, the selected account.
OperationId String Operation identifier supplied by the selected template.
Options Object Template-driven query options for operations that require additional inputs. List Clients supports Email, EmailLike, UserLike, OrganizationLike, UpdatedMin, UpdatedMax, and VisState. Get Client requires Options.ClientId. Get Identity (/me) does not require Options. Paging is handled internally.
Return Type Description
Response Array One output item per returned provider record. Client templates return normalized client rows. Get Identity (/me) returns the authenticated identity payload in the same normalized response envelope.

Create

Use Create to add one or more FreshBooks clients from typed nested client payloads.

Parameter Type Description
Connection Connection FreshBooks Connection containing OAuth credentials and the selected account.
Items Array One or more objects that contain a nested client object with the FreshBooks client fields to create.
Return Type Description
Response Array One output item per created client in the normalized response envelope.

Update

Use Update to change one or more FreshBooks clients by ID using typed nested client payloads.

Parameter Type Description
Connection Connection FreshBooks Connection containing OAuth credentials and the selected account.
Items Array One or more objects that include an id value and a nested client object with the fields to update.
Return Type Description
Response Array One output item per updated client in the normalized response envelope.

Delete

Use Delete to soft-delete one or more FreshBooks clients by id.

Parameter Type Description
Connection Connection FreshBooks Connection containing OAuth credentials and the selected account.
Items Array One or more objects that include the FreshBooks client id to delete.
Return Type Description
Response Array One output item per deleted client in the normalized response envelope.

Usage Notes

  • Start by selecting a Method template so the Node can show the expected request shape for that FreshBooks operation.
  • Create and Update expect a nested client object rather than raw JSON text. This keeps the request contract structured in the designer.
  • Update items must not include client.vis_state. Use Delete for vis_state changes.

Known Issues

  • Current release is limited to client operations. Broader FreshBooks resources are not currently supported.