Zoho invoice

Learn how to use Zoho invoice with Composio

Overview

SLUG: ZOHO_INVOICE

Description

Zoho Invoice simplifies billing, recurring payments, and expense management, helping freelancers and small businesses send professional invoices

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to ZohoInvoice.contacts.ALL,ZohoInvoice.settings.ALL,ZohoInvoice.estimates.ALL,ZohoInvoice.invoices.ALL,ZohoInvoice.customerpayments.ALL,ZohoInvoice.creditnotes.ALL,ZohoInvoice.projects.ALL,ZohoInvoice.expenses.ALL
suffix.one
stringRequired

Connecting to Zoho invoice

Create an auth config

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

1

Select App

Navigate to [Zoho invoice](https://platform.composio.dev?next_page=/marketplace/Zoho invoice).

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 Zoho invoice 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 OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4zoho_invoice_auth_config_id = "ac_YOUR_ZOHO_INVOICE_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Zoho invoice: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, zoho_invoice_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the [Zoho invoice toolkit’s playground](https://app.composio.dev/app/Zoho invoice)

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

Tool List

Tool Name: Get Zoho Invoice Item

Description

Tool to retrieve the details of a specific item by item_id. Use when you need to fetch an item's data after confirming its existence.

Action Parameters

item_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Contacts

Description

Tool to list contacts. Use after obtaining the organization ID to retrieve contacts with optional filters and pagination.

Action Parameters

address
address_contains
address_startswith
company_name
company_name_contains
company_name_startswith
contact_name
contact_name_contains
contact_name_startswith
email
email_contains
email_startswith
filter_by
first_name
first_name_contains
first_name_startswith
last_name
last_name_contains
last_name_startswith
organization_id
stringRequired
page
per_page
phone
phone_contains
phone_startswith
search_text
sort_column
zcrm_account_id
zcrm_contact_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Expenses

Description

Tool to list all expenses with optional pagination. Use when you need to retrieve expenses with simple pagination.

Action Parameters

page
per_page

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Invoices

Description

Tool to list invoices. Use when you need to retrieve all invoices with optional filters and pagination.

Action Parameters

balance
custom_field
custom_field_contains
custom_field_startswith
customer_id
customer_name
date
date_after
date_before
date_end
date_start
due_date
due_date_after
due_date_before
due_date_end
due_date_start
email
filter_by
invoice_number
item_description
item_description_contains
item_description_startswith
item_id
item_name
item_name_contains
item_name_startswith
page
per_page
recurring_invoice_id
reference_number
search_text
sort_column
status
total
zcrm_potential_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Items

Description

Tool to list all items. Use when you need to retrieve your item catalog with optional pagination and filtering after specifying the organization ID.

Action Parameters

filter_by
organization_id
stringRequired
page
per_page
search_text

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Payments

Description

Tool to list payments. Use when you need to retrieve all payments with optional filters like customer, invoice, date range, and pagination.

Action Parameters

customer_id
date_end
date_start
filter_by
invoice_id
mode
page
payment_number
per_page
reference_number
sort_column
sort_order

Action Response

data
objectRequired
error
successful
booleanRequired