FreshBooks Automation
Scannednpx machina-cli add skill ComposioHQ/awesome-claude-skills/freshbooks-automation --openclawFreshBooks 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_idbefore 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 fromFRESHBOOKS_LIST_BUSINESSESactive-- Filter by active status:true(active only),false(inactive only), omit for allcomplete-- Filter by completion:true(completed),false(incomplete), omit for allsort_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--trueto include total logged time (in seconds) per projectskip_group--trueto 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_BUSINESSESto getbusiness_id - Call
FRESHBOOKS_LIST_PROJECTSwithactive: 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_BUSINESSESto getbusiness_id - Call
FRESHBOOKS_LIST_PROJECTSwithupdated_sinceset 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_PROJECTSwith the obtainedbusiness_id - Filter as needed using
active,complete,updated_since, andsort_byparameters
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
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
- Step 1: Ensure Rube MCP server is active and the freshbooks toolkit is connected at https://rube.app/mcp.
- Step 2: Call FRESHBOOKS_LIST_BUSINESSES to fetch your business_id.
- 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" }