Clientary

Learn how to use Clientary with Composio

Overview

SLUG: CLIENTARY

Description

A full-suite platform to manage Clients, Invoices, Projects, Proposals, Estimates, Hours, Payments, Contractors and Staff. The perfect solution to win clients and save time.

Authentication Details

subdomain
stringRequired
generic_api_key
stringRequired

Connecting to Clientary

Create an auth config

Use the dashboard to create an auth config for the Clientary toolkit. This allows you to connect multiple Clientary accounts to Composio for agents to use.

1

Select App

Navigate to Clientary.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Clientary Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4clientary_auth_config_id = "ac_YOUR_CLIENTARY_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Clientary for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, clientary_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Clientary toolkit’s playground

For code examples, see the Tool calling guide and Provider examples.

Tool List

Tool Name: Create Client

Description

Tool to create a new client record in Clientary. Use when you need to add a new client to the system with company details and contact information.

Action Parameters

address
string
address_2
string
city
string
country
string
description
string
invoice_extra_fields
object
name
stringRequired
number
string
state
string
website
string
zip
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Contact

Description

Tool to create a new contact within a specified client. Use when you need to add a contact to a client account with name and email as required fields.

Action Parameters

client_id
integerRequired
client_user
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Expense

Description

Tool to create a new expense record in Clientary to track expenditures within your account. Use when you need to record expenses, optionally assigning them to specific clients or projects. Requires an amount field.

Action Parameters

amount
numberRequired
client_id
integer
description
string
incurred_on
string
project_id
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Lead

Description

Tool to create a new lead record in Clientary. Use when you need to add a new lead to the system with company details and contact information.

Action Parameters

address
string
address_2
string
city
string
country
string
description
string
invoice_extra_fields
object
name
stringRequired
number
string
state
string
website
string
zip
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Project

Description

Tool to create a new project in Clientary with name and rate. Use when you need to set up a new project for tracking time, expenses, or managing client work.

Action Parameters

project
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Task

Description

Tool to create a new task in Clientary. Use when you need to create a task with a title, optionally associating it with a project and assignee.

Action Parameters

assignee_id
integer
description
string
due_date
string
project_id
integer
title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Client

Description

Tool to remove a client and all associated projects, invoices, estimates, and contacts. Use when you need to permanently delete a client from Clientary. WARNING: Deletions are permanent and not reversible.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Lead

Description

Tool to permanently delete a lead and all associated Estimates and Contacts. Use when you need to remove a lead that is no longer needed. Warning: This action is irreversible.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Payment

Description

Tool to remove an existing payment from an invoice. Use when you need to permanently delete a payment record. WARNING: Deletions are permanent and not reversible.

Action Parameters

id
stringRequired
invoice_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Payment Profile

Description

Tool to remove a specific payment profile from a client's account. Use when you need to delete a payment profile. Note: Client must have an active payment integration with Stripe to manage payment profiles.

Action Parameters

client_id
integerRequired
id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Recurring Schedule

Description

Tool to remove a recurring schedule by its identifier. Use when you need to permanently delete a recurring schedule from Clientary. Once deleted, the recurring schedule will no longer generate periodic invoices.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Client

Description

Tool to fetch details for a specific client using its ID. Use when you need to retrieve complete information about a client from Clientary.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Contact

Description

Tool to retrieve a single contact by its ID. Use when you need to fetch detailed information about a specific contact from Clientary.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Estimate

Description

Tool to retrieve details for a single estimate by ID. Use when you need to obtain comprehensive estimate information including line items, tax details, and financial data.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Expense

Description

Tool to retrieve details for a single expense record in Clientary. Use when you need to get specific information about an expense by its unique identifier.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Hour Entry

Description

Tool to obtain details about a specific time entry in Clientary. Use when you need to retrieve information about a logged hour entry by its unique identifier.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Invoice

Description

Tool to retrieve detailed information for a specific invoice by ID. Use when you need to fetch invoice details including line items, payments, tax information, and current status.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Lead

Description

Tool to retrieve a single lead by its ID. Use when you need to fetch detailed information about a specific lead from Clientary.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Project

Description

Tool to retrieve a single project by its identifier. Use when you need to fetch detailed information about a specific project in Clientary.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Staff

Description

Tool to retrieve a single staff member by their ID. Use when you need to fetch detailed information about a specific staff member from Clientary.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Task

Description

Tool to retrieve a specific task by its ID. Use when you need to fetch detailed information about a task from Clientary.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Client Contacts

Description

Tool to retrieve all contacts for a specific client with pagination support. Use when you need to fetch the list of contacts associated with a particular client in Clientary.

Action Parameters

client_id
integerRequired
page
integer
page_size
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Client Expenses

Description

Tool to retrieve all expenses for a specific client within an optional date range. Use when you need to fetch expense records associated with a particular client from Clientary.

Action Parameters

client_id
integerRequired
from_date
string
to_date
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Client Invoices

Description

Tool to retrieve all invoices for a specific client with pagination support (30 results per page). Use when you need to fetch invoices associated with a particular client from Clientary.

Action Parameters

client_id
integerRequired
page
integer
updated_since
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Client Projects

Description

Tool to retrieve all projects associated with a specific client with pagination support (10 results per page). Use when you need to fetch projects for a particular client from Clientary.

Action Parameters

client_id
integerRequired
page
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Clients

Description

Tool to retrieve all clients with pagination support (10 results per page). Use when you need to fetch a list of clients from Clientary with optional filtering by modification date or custom sorting.

Action Parameters

page
integer
sort
string
updated_since
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Expenses

Description

Tool to retrieve expenses by date range (defaults to current fiscal year). Use when you need to fetch a list of expenses from Clientary with optional filtering by start and end dates.

Action Parameters

from_date
string
to_date
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Leads

Description

Tool to retrieve all leads with pagination support. Use when you need to fetch a list of leads from Clientary with optional sorting by name or date.

Action Parameters

page
integer
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Payments

Description

Tool to retrieve all payments with pagination support (30 results per page). Use when you need to fetch a list of payments from Clientary with optional pagination and custom sorting.

Action Parameters

page
integer
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Project Estimates

Description

Tool to retrieve estimates scoped to a particular project with pagination support (30 results per page). Use when you need to fetch all estimates associated with a specific project.

Action Parameters

page
integer
project_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Project Expenses

Description

Tool to retrieve all expenses for a specific project within an optional date range. Use when you need to fetch expense records associated with a particular project from Clientary.

Action Parameters

from_date
string
page
integer
project_id
integerRequired
to_date
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Project Hours

Description

Tool to retrieve all time tracking entries logged against a specific project. Use when you need to fetch hour entries for a particular project, optionally filtering by billed or unbilled status.

Action Parameters

filter
string
project_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Project Invoices

Description

Tool to retrieve all invoices linked to a specific project with pagination support (30 results per page). Use when you need to fetch invoices associated with a particular project from Clientary.

Action Parameters

page
integer
project_id
integerRequired
updated_since
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Projects

Description

Tool to retrieve all projects with pagination support (10 results per page). Use when you need to fetch a list of projects from Clientary with optional filtering for closed projects.

Action Parameters

filter
string
page
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Staff

Description

Tool to retrieve all staff members for an account. Use when you need to fetch a complete list of staff members from Clientary.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Tasks

Description

Tool to retrieve all tasks with pagination support (50 results per page). Use when you need to fetch a list of tasks from Clientary.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Send Invoice Message

Description

Tool to send an invoice message to recipients via email. Use when you need to email an invoice to clients with customizable subject, message content, and options to send a copy to yourself or attach a PDF.

Action Parameters

attach_pdf
integer
id
integerRequired
message
string
recipients
arrayRequired
send_copy
integer
subject
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Client

Description

Tool to update an existing client record in Clientary with partial or complete field modifications. Use when you need to modify client details such as name, address, description, or custom fields. All fields except ID are optional.

Action Parameters

address
string
address_2
string
city
string
country
string
description
string
id
integerRequired
invoice_extra_fields
object
name
string
number
string
state
string
website
string
zip
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Expense

Description

Tool to update an existing expense record in Clientary with partial or complete field modifications. Use when you need to modify expense details such as amount, description, client assignment, project assignment, or incurred date. All fields except ID are optional.

Action Parameters

amount
number
client_id
integer
description
string
id
integerRequired
incurred_on
string
project_id
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Hour Entry

Description

Tool to modify an existing time entry in Clientary with partial or complete field updates. Use when you need to update hours, title, date, description, rate, or billing status of a logged hour entry.

Action Parameters

billed
boolean
date
string
description
string
hours
number
id
integerRequired
rate
number
title
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Project

Description

Tool to update an existing project in Clientary with partial or complete field modifications. Use when you need to modify project details such as name, rate, description, budget, status, or other project attributes. All fields except ID are optional - only provided fields will be updated.

Action Parameters

budget
number
budget_type
integer
currency_code
string
description
string
end_date
string
id
integerRequired
name
string
number
string
project_type
integer
rate
number
status
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Task

Description

Tool to update an existing task in Clientary with partial or complete field modifications. Use when you need to modify task details such as title, description, completion status, assignee, or due date. All fields except ID are optional.

Action Parameters

assignee_id
integer
client_id
integer
complete
boolean
completed_at
string
description
string
due_date
string
id
integerRequired
project_id
integer
title
string

Action Response

data
objectRequired
error
string
successful
booleanRequired