Zoho inventory

Learn how to use Zoho inventory with Composio

Overview

SLUG: ZOHO_INVENTORY

Description

Zoho Inventory helps businesses track stock, manage orders, and sync inventory across multiple sales channels, streamlining supply chain operations

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 ZohoInventory.contacts.ALL,ZohoInventory.items.ALL,ZohoInventory.compositeitems.ALL,ZohoInventory.transferorders.ALL,ZohoInventory.salesorders.ALL,ZohoInventory.packages.ALL,ZohoInventory.shipmentorders.ALL,ZohoInventory.invoices.ALL,ZohoInventory.customerpayments.ALL,ZohoInventory.creditnotes.ALL,ZohoInventory.purchaseorders.ALL,ZohoInventory.purchasereceives.ALL,ZohoInventory.bills.ALL
bearer_token
string
suffix.one
stringRequired

Connecting to Zoho inventory

Create an auth config

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

1

Select App

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

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 inventory 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_inventory_auth_config_id = "ac_YOUR_ZOHO_INVENTORY_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 inventory: {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_inventory_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 inventory toolkit’s playground](https://app.composio.dev/app/Zoho inventory)

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["ZOHO_INVENTORY"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Add Invoice Attachment

Description

Tool to upload an attachment to a specific invoice. Use when you need to add a file attachment to an invoice.

Action Parameters

attachment
object
can_send_in_mail
boolean
file_path
string
invoice_id
stringRequired
organization_id
stringRequired
will_auto_attach
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Bulk Delete Sales Orders

Description

Tool to bulk delete sales orders. Use this to remove multiple sales orders at once.

Action Parameters

organization_id
stringRequired
salesorder_ids
stringRequired

Action Response

code
integerRequired
data
error
string
message
stringRequired
successful
booleanRequired

Tool Name: Bulk Email Invoices

Description

Tool to send multiple invoices by email in one call. Use when you need to notify customers for up to 10 invoices at once.

Action Parameters

invoice_ids
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Bulk Export Invoices

Description

Tool to bulk export invoices as a single PDF. Use when you need to download multiple invoices in a single file for archiving or sharing.

Action Parameters

invoice_ids
stringRequired
organization_id
stringRequired

Action Response

content
object
data
object
error
string
successful
booleanRequired

Tool Name: Bulk Print Invoices

Description

Tool to bulk print invoices as a consolidated PDF. Use when you need a PDF file of multiple invoices for printing or archiving.

Action Parameters

invoice_ids
stringRequired
organization_id
stringRequired

Action Response

content
object
data
object
error
string
successful
booleanRequired

Tool Name: Bulk Print Packages

Description

Tool to bulk print package slips as a consolidated PDF. Use when you need a PDF file of multiple package slips for printing or archiving.

Action Parameters

organization_id
stringRequired
package_ids
stringRequired

Action Response

content
object
data
object
error
string
successful
booleanRequired

Tool Name: Cancel Invoice Write Off

Description

Tool to cancel write off for an invoice. Use when undoing a previously applied write off on an invoice after verifying the invoice has a write off applied.

Action Parameters

invoice_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Composite Item

Description

Tool to delete a composite item. Use when you need to remove an existing composite item. Endpoint: DELETE /inventory/v1/compositeitems/{composite_item_id} Required query: organization_id Authorization header: Zoho-oauthtoken {access_token}

Action Parameters

composite_item_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Contact Person

Description

Tool to delete a contact person. Use when you need to remove a contact person from your organization after confirming it is no longer needed.

Action Parameters

contact_person_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Invoice

Description

Tool to delete an invoice. Use when you need to remove an existing invoice that has no payments or credits applied.

Action Parameters

invoice_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Invoice Attachment

Description

Tool to delete an invoice attachment. Use when you need to remove a file attached to an invoice.

Action Parameters

invoice_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Invoice Comment

Description

Delete a specific comment from an invoice in Zoho Inventory. Zoho API: DELETE /inventory/v1/invoices/{invoice_id}/comments/{comment_id} Required query param: organization_id Auth header format: Authorization: Zoho-oauthtoken <access_token>

Action Parameters

comment_id
stringRequired
invoice_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Item

Description

Tool to delete an item. Use when you need to remove an existing inventory item after confirming it is not referenced in any transactions.

Action Parameters

item_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Item Group

Description

Tool to delete an item group. Use to remove an existing item group that is no longer needed.

Action Parameters

itemgroup_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Item Image

Description

Tool to delete an image associated with an item. Use when you need to remove an item's image after ensuring it's no longer required.

Action Parameters

item_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Package

Description

Tool to delete a package. Use when you need to remove an existing package created for a sales order.

Action Parameters

organization_id
stringRequired
package_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Sales Order

Description

Tool to delete a sales order. Use when you need to remove an existing sales order.

Action Parameters

organization_id
stringRequired
salesorder_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Disable Payment Reminder

Description

Tool to disable payment reminders for an invoice. Use when you want to stop automatic payment reminders for an invoice after it has been issued.

Action Parameters

invoice_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Email Invoice

Description

Tool to email a specific invoice to customers. Use when you need to send an invoice via email, with optional attachments.

Action Parameters

attachments
array
body
string
cc_mail_ids
array
invoice_id
stringRequired
organization_id
stringRequired
send_attachment
boolean
send_customer_statement
boolean
send_from_org_email_id
boolean
subject
string
to_mail_ids
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Sales Orders

Description

Tool to list sales orders. Use when needing to fetch sales orders for an organization.

Action Parameters

organization_id
stringRequired
page
integerDefaults to 1
per_page
integerDefaults to 200

Action Response

data
objectRequired
error
string
successful
booleanRequired