Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install composiohq-awesome-claude-skills-composio-skills-freshbooks-automationgit clone https://github.com/ComposioHQ/awesome-claude-skills.gitcp awesome-claude-skills/SKILL.MD ~/.claude/skills/composiohq-awesome-claude-skills-composio-skills-freshbooks-automation/SKILL.md---
name: FreshBooks Automation
description: "FreshBooks Automation: manage businesses, projects, time tracking, and billing in FreshBooks cloud accounting"
requires:
mcp: [rube]
---
# 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)*