Get the FREE Ultimate OpenClaw Setup Guide →

FreshBooks Automation

Scanned
npx machina-cli add skill ComposioHQ/awesome-claude-skills/freshbooks-automation --openclaw
Files (1)
SKILL.md
4.5 KB

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:

  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

PitfallDetail
business_id requiredMost FreshBooks operations require a business_id. Always call FRESHBOOKS_LIST_BUSINESSES first to obtain it.
Date formatThe updated_since parameter must be in RFC3339 format: "2026-01-01T00:00:00Z". Other formats will fail.
Paginated resultsProject list responses are paginated. Check for additional pages in the response.
Empty resultsReturns an empty list if no projects exist or match the applied filters. This is not an error.
Logged duration unitsWhen include_logged_duration is true, the duration is returned in seconds. Convert to hours (divide by 3600) for display.

Quick Reference

Tool SlugDescription
FRESHBOOKS_LIST_BUSINESSESList all businesses for the authenticated user
FRESHBOOKS_LIST_PROJECTSList projects with filtering and sorting for a business

Powered by Composio

Source

git clone https://github.com/ComposioHQ/awesome-claude-skills/blob/master/composio-skills/freshbooks-automation/SKILL.mdView on GitHub

Overview

FreshBooks Automation automates core FreshBooks cloud accounting tasks for SMBs, including listing businesses, managing projects, tracking time, and monitoring budgets. It leverages the Rube MCP server and FreshBooks toolkit to streamline workflows and keep project data up-to-date for invoicing and budgeting.

How This Skill Works

The skill requires a running Rube MCP server and an active FreshBooks toolkit connection. It uses tools like FRESHBOOKS_LIST_BUSINESSES to fetch a business_id, then FRESHBOOKS_LIST_PROJECTS with filters to retrieve projects and logged time for time tracking and budget monitoring.

When to Use It

  • Set up the connection and fetch the valid business_id before any project operations.
  • List all projects for a given business to prepare for time tracking and invoicing.
  • Filter projects by active/incomplete status, completion, and sort order to focus on urgent work.
  • Review recently updated projects by using updated_since to catch changes and reallocate resources.
  • Monitor budgets and logged durations to keep projects on track and within budget.

Quick Start

  1. Step 1: Ensure Rube MCP server is active and the freshbooks toolkit is connected at https://rube.app/mcp.
  2. Step 2: Call FRESHBOOKS_LIST_BUSINESSES to fetch your business_id.
  3. Step 3: Use FRESHBOOKS_LIST_PROJECTS with the obtained business_id and desired filters to retrieve projects and track time.

Best Practices

  • Always call FRESHBOOKS_LIST_BUSINESSES first to obtain a valid business_id.
  • Store and reuse the business_id for subsequent FRESHBOOKS_LIST_PROJECTS calls.
  • Use updated_since and sort_by to efficiently surface relevant projects.
  • Consider include_logged_duration to assess time spent per project for accurate invoicing.
  • If response size is large, use skip_group to reduce payloads when team data is unnecessary.

Example Use Cases

  • Example 1: List all businesses you have access to via FRESHBOOKS_LIST_BUSINESSES with Arguments: {}
  • Example 2: Retrieve all active projects for business 123456, including total logged duration: Arguments: { business_id: 123456, active: true, complete: false, include_logged_duration: true }
  • Example 3: Get projects updated since 2026-02-01T00:00:00Z to spot recent activity: Arguments: { updated_since: "2026-02-01T00:00:00Z", sort_by: "created_at" }
  • Example 4: List completed projects to review invoices and final budgets: Arguments: { business_id: 123456, complete: true }
  • Example 5: List projects for a client with due-date sorting to prioritize Billing tasks: Arguments: { business_id: 123456, sort_by: "due_date" }

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers