AI agent skill
FreshBooks Automation
FreshBooks Automation: manage businesses, projects, time tracking, and billing in FreshBooks cloud accounting
·
When to use this skill
Use FreshBooks Automation when an AI agent needs a reusable SKILL.md workflow for this job: FreshBooks Automation: manage businesses, projects, time tracking, and billing in FreshBooks cloud accounting
When not to use it
Skip FreshBooks Automation when the task is outside the productivity category, or when a more specific skill in this directory already covers the same workflow with clearer triggers.
How to install
- Personal install: create ~/.claude/skills/freshbooks-automation/SKILL.md (and any bundled scripts) so Claude Code, Claude Desktop, and compatible agents can load it in every project.
- Project install: commit the same folder at .claude/skills/freshbooks-automation/ so teammates get the skill with the repo.
- Restart the agent session after copying files so it re-scans the skills directory, then ask for the task in words that match the skill description.
What this skill does
# 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)*
Intended uses
- Use FreshBooks Automation when this documented workflow matches the task.
Related skills
Related skills in this directory, for comparison before you install another skill.
productivity
21risk Automation
Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.
productivity
2chat Automation
Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.
productivity
Ably Automation
Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.
productivity
Abstract Automation
Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.