FreshBooks Automation
Automate FreshBooks operations including listing businesses, managing projects, tracking time, and monitoring budgets for small and medium-sized business accounting.
Toolkit docs: composio.dev/toolkits/freshbooks
Setup
This skill requires the Rube MCP server connected at https://rube.app/mcp.
Before executing any tools, ensure an active connection exists for the freshbooks toolkit. If no connection is active, initiate one via RUBE_MANAGE_CONNECTIONS.
Core Workflows
1. List Businesses
Retrieve all businesses associated with the authenticated user. The business_id from this response is required for most other FreshBooks API calls.
Tool: FRESHBOOKS_LIST_BUSINESSES
Parameters: None required.
Example:
Tool: FRESHBOOKS_LIST_BUSINESSES
Arguments: {}
Output: Returns business membership information including all businesses the user has access to, along with their role in each business.
Important: Always call this first to obtain a valid business_id before performing project-specific operations.
2. List and Filter Projects
Retrieve all projects for a business with comprehensive filtering and sorting options.
Tool: FRESHBOOKS_LIST_PROJECTS
Key Parameters:
business_id (required) -- Business ID obtained from FRESHBOOKS_LIST_BUSINESSES
active -- Filter by active status: true (active only), false (inactive only), omit for all
complete -- Filter by completion: true (completed), false (incomplete), omit for all
sort_by -- Sort order: "created_at", "due_date", or "title"
updated_since -- UTC datetime in RFC3339 format, e.g., "2026-01-01T00:00:00Z"
include_logged_duration -- true to include total logged time (in seconds) per project
skip_group -- true to omit team member/invitation data (reduces response size)
Example:
Tool: FRESHBOOKS_LIST_PROJECTS
Arguments:
business_id: 123456
active: true
complete: false
sort_by: "due_date"
include_logged_duration: true
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
3. Monitor Active Projects
Track project progress and budgets by filtering for active, incomplete projects.
Steps:
- Call
FRESHBOOKS_LIST_BUSINESSES to get business_id
- Call
FRESHBOOKS_LIST_PROJECTS with active: true, complete: false, include_logged_duration: true
- Analyze logged duration vs. budget for each project
4. Review Recently Updated Projects
Check for recent project activity using the updated_since filter.
Steps:
- Call
FRESHBOOKS_LIST_BUSINESSES to get business_id
- Call
FRESHBOOKS_LIST_PROJECTS with updated_since set to your cutoff datetime
- Review returned projects for recent changes
Example:
Tool: FRESHBOOKS_LIST_PROJECTS
Arguments:
business_id: 123456
updated_since: "2026-02-01T00:00:00Z"
sort_by: "created_at"
Recommended Execution Plan
- Get the business ID by calling
FRESHBOOKS_LIST_BUSINESSES
- List projects using
FRESHBOOKS_LIST_PROJECTS with the obtained business_id
- Filter as needed using
active, complete, updated_since, and sort_by parameters
Known Pitfalls
| Pitfall |
Detail |
| business_id required |
Most FreshBooks operations require a business_id. Always call FRESHBOOKS_LIST_BUSINESSES first to obtain it. |
| Date format |
The updated_since parameter must be in RFC3339 format: "2026-01-01T00:00:00Z". Other formats will fail. |
| Paginated results |
Project list responses are paginated. Check for additional pages in the response. |
| Empty results |
Returns an empty list if no projects exist or match the applied filters. This is not an error. |
| Logged duration units |
When include_logged_duration is true, the duration is returned in seconds. Convert to hours (divide by 3600) for display. |
Quick Reference
| Tool Slug |
Description |
FRESHBOOKS_LIST_BUSINESSES |
List all businesses for the authenticated user |
FRESHBOOKS_LIST_PROJECTS |
List projects with filtering and sorting for a business |
Powered by Composio
---
name: freshbooks-automation
description: Manage businesses, projects, time tracking, and budgets in FreshBooks cloud accounting via automated API calls.
---
# FreshBooks Automation
Automate FreshBooks operations including listing businesses, managing projects, tracking time, and monitoring budgets for small and medium-sized business accounting.
**Toolkit docs:** [composio.dev/toolkits/freshbooks](https://composio.dev/toolkits/freshbooks)
---
## Setup
This skill requires the **Rube MCP server** connected at `https://rube.app/mcp`.
Before executing any tools, ensure an active connection exists for the `freshbooks` toolkit. If no connection is active, initiate one via `RUBE_MANAGE_CONNECTIONS`.
---
## Core Workflows
### 1. List Businesses
Retrieve all businesses associated with the authenticated user. The `business_id` from this response is required for most other FreshBooks API calls.
**Tool:** `FRESHBOOKS_LIST_BUSINESSES`
**Parameters:** None required.
**Example:**
```
Tool: FRESHBOOKS_LIST_BUSINESSES
Arguments: {}
```
**Output:** Returns business membership information including all businesses the user has access to, along with their role in each business.
> **Important:** Always call this first to obtain a valid `business_id` before performing project-specific operations.
---
### 2. List and Filter Projects
Retrieve all projects for a business with comprehensive filtering and sorting options.
**Tool:** `FRESHBOOKS_LIST_PROJECTS`
**Key Parameters:**
- `business_id` (required) -- Business ID obtained from `FRESHBOOKS_LIST_BUSINESSES`
- `active` -- Filter by active status: `true` (active only), `false` (inactive only), omit for all
- `complete` -- Filter by completion: `true` (completed), `false` (incomplete), omit for all
- `sort_by` -- Sort order: `"created_at"`, `"due_date"`, or `"title"`
- `updated_since` -- UTC datetime in RFC3339 format, e.g., `"2026-01-01T00:00:00Z"`
- `include_logged_duration` -- `true` to include total logged time (in seconds) per project
- `skip_group` -- `true` to omit team member/invitation data (reduces response size)
**Example:**
```
Tool: FRESHBOOKS_LIST_PROJECTS
Arguments:
business_id: 123456
active: true
complete: false
sort_by: "due_date"
include_logged_duration: true
```
**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
---
### 3. Monitor Active Projects
Track project progress and budgets by filtering for active, incomplete projects.
**Steps:**
1. Call `FRESHBOOKS_LIST_BUSINESSES` to get `business_id`
2. Call `FRESHBOOKS_LIST_PROJECTS` with `active: true`, `complete: false`, `include_logged_duration: true`
3. Analyze logged duration vs. budget for each project
---
### 4. Review Recently Updated Projects
Check for recent project activity using the `updated_since` filter.
**Steps:**
1. Call `FRESHBOOKS_LIST_BUSINESSES` to get `business_id`
2. Call `FRESHBOOKS_LIST_PROJECTS` with `updated_since` set to your cutoff datetime
3. Review returned projects for recent changes
**Example:**
```
Tool: FRESHBOOKS_LIST_PROJECTS
Arguments:
business_id: 123456
updated_since: "2026-02-01T00:00:00Z"
sort_by: "created_at"
```
---
## Recommended Execution Plan
1. **Get the business ID** by calling `FRESHBOOKS_LIST_BUSINESSES`
2. **List projects** using `FRESHBOOKS_LIST_PROJECTS` with the obtained `business_id`
3. **Filter as needed** using `active`, `complete`, `updated_since`, and `sort_by` parameters
---
## Known Pitfalls
| Pitfall | Detail |
|---------|--------|
| **business_id required** | Most FreshBooks operations require a `business_id`. Always call `FRESHBOOKS_LIST_BUSINESSES` first to obtain it. |
| **Date format** | The `updated_since` parameter must be in RFC3339 format: `"2026-01-01T00:00:00Z"`. Other formats will fail. |
| **Paginated results** | Project list responses are paginated. Check for additional pages in the response. |
| **Empty results** | Returns an empty list if no projects exist or match the applied filters. This is not an error. |
| **Logged duration units** | When `include_logged_duration` is true, the duration is returned in seconds. Convert to hours (divide by 3600) for display. |
---
## Quick Reference
| Tool Slug | Description |
|-----------|-------------|
| `FRESHBOOKS_LIST_BUSINESSES` | List all businesses for the authenticated user |
| `FRESHBOOKS_LIST_PROJECTS` | List projects with filtering and sorting for a business |
---
*Powered by [Composio](https://composio.dev)*