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

  1. 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.
  2. Project install: commit the same folder at .claude/skills/freshbooks-automation/ so teammates get the skill with the repo.
  3. 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.

Full install guide for Claude, Cursor, and Codex

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

2chat Automation

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

View skill

productivity

Ably Automation

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

View skill

Ranked Claude skills