---
title: "Connect DonorPerfect to Zoho Inventory - APIANT.ai"
description: "When \"New donor\" fires in DonorPerfect, your agent runs \"Add Invoice Attachment\" in Zoho Inventory."
canonical: "https://apiant.ai/connect/donorperfect-to-zoho-inventory"
---

# Connect DonorPerfect to Zoho Inventory

When **New donor** fires in [DonorPerfect](https://apiant.ai/connections/donorperfect), your agent runs **Add Invoice Attachment** in [Zoho Inventory](https://apiant.ai/connections/zoho-inventory). Describe the whole flow and it is built, tested on every scenario and kept running.

DonorPerfect **6** triggers DonorPerfect **36** actions Zoho Inventory **64** actions

What the catalog holds today. Ask for anything missing and your agent reads the API documentation and adds it.

## What do you want DonorPerfect and Zoho Inventory to do together?

Give your AI client this address.

`https://mcp.apiant.ai`

One connection does both: ask your client to act in an app once, or have it build an automation that keeps running. Any client that takes a remote MCP server. Nothing to install. Create your free account, then sign in once in your browser.

### Set it up in your client

### Claude Code

Run this in the directory you want to work in.

`claude mcp add --transport http -s project apiant-ai https://mcp.apiant.ai`

Start Claude Code there, approve the server, and sign in in the browser page it opens.

[Claude Code guide (opens in a new tab)](https://apiant.ai/docs/mcp/claude-code)

### Claude, web and desktop

Open Customize, then Connectors, then Add custom connector, and paste the address. On Team and Enterprise an owner adds it first.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Cursor

Add the address to your MCP configuration as a server URL. Cursor signs you in in your browser.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Zed

Open Settings, then AI, then MCP Servers, then Add Server, then Add Remote Server.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Codex and the ChatGPT desktop app

Open Settings, then MCP servers, then Add server, and choose Streamable HTTP. From the terminal, Codex takes the address with its own add command and then signs you in.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Any other MCP client

Paste the address where the client asks for a remote MCP server URL, and name the server apiant-ai where it lets you. APIANT's skills reach the client over the same connection.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

Example flows

## What DonorPerfect can start in Zoho Inventory

- When **New donor** in DonorPerfect then **Add Invoice Attachment** in Zoho Inventory
- When **New gift** in DonorPerfect then **Add Invoice Comment** in Zoho Inventory

Starting points drawn from the triggers and actions in the catalog today. Describe the flow you need, at any depth, and your agent builds it and tests every scenario before it ships.

Everything your agent can do with DonorPerfect and Zoho Inventory

## Triggers and actions 6 triggers · 100 actions

- Trigger

**New donor**

Polling trigger. Fires when a new donor is added in DonorPerfect. Polls the dp table ordered by donor_id descending; dedups on each record's donor_id.

- Trigger

**New gift**

Polling trigger. Fires when a new gift (donation) is created in DonorPerfect. Polls the dpgift table ordered by gift_id descending; dedups on each record's gift_id.

- Trigger

**New or updated donor**

Triggered when a donor is added or updated.

- Trigger

**New or updated gift**

Triggered when a gift (donation) is created or modified.

- Trigger

**Two-way sync new or updated donors**

A trigger for two-way syncing new and updated donors, with enhanced on-the-fly mapping. Can only be used with enhanced two-way sync actions that support on-the-fly mapping.

- Trigger

**Two-way sync new or updated gifts**

A trigger for two-way syncing new and updated gifts (donations), with enhanced on-the-fly mapping. Polls the DonorPerfect dpgift table.

- Action

**Add code**

Adds a new code and description to the DPCODES table. Allows you to add things like new GL Code, Solicitation, Campaign code and other code values administered in the Code Maintenance screen of DPO.

- Action

**Add contact**

Adds a contact (activity/task) record to a donor in DonorPerfect via the dp_savecontact stored procedure. Supply Donor Id, Activity Code, and contact details.

- Action

**Add donor**

Creates a new donor in DonorPerfect via the dp_savedonor stored procedure. Leave Donor Id empty (0) to create; the new donor_id is returned. Common fields: first/last name, address, city, state, zip, email, phones.

- Action

**Add gift**

Creates a new gift (donation) for a donor in DonorPerfect via the dp_savegift stored procedure. Supply Donor Id, Amount, Gift Date and code fields (GL, Solicit, Sub-solicit, Gift Type, Campaign).

- Action

**Add new donor gift**

Creates a new donation (gift) for the donor with the specified ID.

- Action

**Add new donor gift by email**

Creates a new donation for the donor with the specified email. The gift will only be added if the donor's email is found.

- Action

**Add new pledge**

Adds a new pledge to the specified donor. If successful, the pledge's ID is output.

- Action

**Add other info**

Adds an Other Info record to a donor in DonorPerfect via the dp_saveotherinfo stored procedure. Supply Donor Id, and optionally the date and comments.

- Action

**Add other info by email**

Adds "other info" for the first donor found with the given email address. The other info is not added if the email address is not found.

- Action

**Delete donor**

Deletes the donor with the specified Donor Id from DonorPerfect via the dp_deletedonor stored procedure.

- Action

**Find donor by first and last name**

Returns the first donor whose first and last name exactly match, plus how many donors matched

- Action

**Find filters by name**

Returns one or more filters that match the specified name. Supports wildcard matching. An empty result is returned if no matching filter is found.

- Action

**Get 20 donor field values**

Returns up to 20 field values for the specified donor. An error occurs if the donor is not found.

- Action

**Get active code by description**

Returns the code having the specified description. An error occurs if the code is not found or is inactive.

- Action

**Get active code description**

Gets the specified code's description. An error occurs if the code is not found or is inactive.

- Action

**Get code description**

Returns the description for a code value in the specified DPO code field (e.g. GL, CAMPAIGN, SOLICIT) from the dpcodes table.

- Action

**Get contact**

Returns a single DonorPerfect contact (activity) record by its contact ID, with its standard contact columns.

- Action

**Get donor**

Returns all available fields for the donor with the specified Donor ID from the DPO donor (dp) table.

- Action

**Get donor by email**

Returns the DonorPerfect donor whose email address matches the one supplied, with the donor's standard fields. Use Get donor user-defined field values for custom fields. An error occurs if no donor has that email address.

- Action

**Get donor by email, first name, and last name**

Returns all available donor fields if one or more donor matches the email, first name, and last name. No error occurs if a donor is not found, the emitted 'donor_id' will be empty instead.

- Action

**Get donor default field info**

Returns information about the specified donor field.

- Action

**Get donor default fields**

Returns all default fields for donors.

- Action

**Get donor gifts**

Returns all gifts (donations) for the donor with the specified Donor ID from the DPO dpgift table.

- Action

**Get donors by filter**

Returns the donor IDs that match the saved DPO filter with the specified Filter ID, via the dp_filterids stored procedure.

- Action

**Get donor user-defined field info**

Returns information about the specified donor user-defined field.

- Action

**Get donor user-defined fields**

Returns all user-defined donor fields.

- Action

**Get donor user-defined field values**

Returns all user-defined field values for the specified donor. An error occurs if the donor is not found.

- Action

**Get field display type**

Gets the specified field's display type, which can either be "code" or "description"

- Action

**Get flags by donor ID**

Returns the specified donor's flags. No error occurs if the donor is not found.

- Action

**Get gift**

Returns all fields for the gift (donation) with the specified Gift ID from the DPO dpgift table.

- Action

**Get gift user-defined field values**

Returns all user-defined field values for the specified gift (donation). An error occurs if the gift is not found.

- Action

**Get other info**

Returns one DonorPerfect Other Info record by its id, with its standard columns.

- Action

**List filters**

Returns the ID and name of all saved DPO filters that have non-empty names from the dpfilter table.

- Action

**Post pledge payment**

Posts a payment to the specified pledge for the specified donor.

- Action

**Set gift custom field**

Sets one of your organization's custom fields (such as Class) on an existing gift

- Action

**Update donor**

Updates an existing donor in DonorPerfect via the dp_savedonor stored procedure. Supply the Donor Id of the record to update along with the field values.

- Action

**Add Credit Note Comment**

Tool to add a comment to a credit note in Zoho Inventory. Use when needing to add notes or comments to a specific credit note for record-keeping or audit purposes.

- Action

**Add Invoice Attachment**

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

- Action

**Add Invoice Comment**

Tool to add a comment to a specific invoice in Zoho Inventory. Use when you need to add notes, updates, or internal/client-visible comments to an invoice.

- Action

**Apply Credits To Invoices**

Tool to apply credits from a credit note to one or more invoices. Use when you need to apply available credits from a credit note to settle invoice balances.

- Action

**Bulk Delete Sales Orders**

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

- Action

**Bulk Email Invoices**

Sends multiple invoices by email to a contact in a single API call. Use this tool when you need to email up to 10 invoices at once to a customer. The invoices will be scheduled for delivery and the contact will receive individual emails for each invoice. If contact_id is not provided, the action will automatically fetch the customer_id from the first invoice and use that as the contact.

- Action

**Bulk Export Invoices**

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

**Bulk Print Invoices**

Generate a consolidated PDF containing multiple invoices for printing or archiving. Use this tool to download one or more invoices as a single PDF document. The PDF can contain up to 25 invoices and is useful for bulk printing, record keeping, or sharing with customers.

- Action

**Bulk Print Packages**

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

**Create Bill**

Tool to create a bill in Zoho Inventory. Use when a vendor supplies goods/services on credit and you need to track the amount owed.

- Action

**Create Contact**

Tool to create a new contact (customer or vendor) in Zoho Inventory. Use when you need to add a new business relationship to your organization.

- Action

**Create Contact Person**

Tool to create a contact person. Use when you need to add a new contact person to an existing contact in Zoho Inventory.

- Action

**Create Credit Note**

Tool to create a new credit note in Zoho Inventory. Use when you need to issue a credit note to a customer for returns, refunds, or adjustments.

- Action

**Create Customer Payment**

Tool to create a customer payment in Zoho Inventory. Use when recording a payment received from a customer against one or more invoices.

- Action

**Create Invoice**

Tool to create a new invoice in Zoho Inventory. Use when you need to invoice a customer for products or services sold.

- Action

**Create Item**

Tool to create a new item in Zoho Inventory. Use when you need to add a new product or service to your inventory catalog.

- Action

**Create Item Group**

Tool to create an item group in Zoho Inventory. Use when you need to create a new item group with multiple items that share common attributes like size or color variations.

- Action

**Create Package**

Tool to create a package for a sales order in Zoho Inventory. Use when you need to prepare items from a sales order for shipping.

- Action

**Create Purchase Order**

Tool to create a purchase order in Zoho Inventory. Use when you need to order goods or services from a vendor.

- Action

**Create Sales Order**

Tool to create a sales order in Zoho Inventory. Use when a customer places an order for products and you need to track the sale before invoicing.

- Action

**Deactivate Contact**

Tool to mark a contact as inactive in Zoho Inventory. Use when you need to deactivate a contact without permanently deleting it.

- Action

**Deactivate Item**

Tool to mark an item as inactive in Zoho Inventory. Use when you need to deactivate an item without permanently deleting it.

- Action

**Deactivate Item Group**

Tool to mark an item group as inactive in Zoho Inventory. Use when you need to deactivate an item group and all its items without permanently deleting them.

- Action

**Delete Contact**

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

- Action

**Delete Contact Person**

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

**Delete Invoice**

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

- Action

**Delete Invoice Attachment**

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

- Action

**Delete Invoice Comment**

Delete a specific comment from an invoice in Zoho Inventory.

- Action

**Delete Item**

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

**Delete Item Group**

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

- Action

**Delete Item Image**

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

**Delete Package**

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

- Action

**Delete Sales Order**

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

- Action

**Disable Payment Reminder**

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

**Email Contact**

Tool to email a contact in Zoho Inventory. Use when you need to send an email to a specific contact with a custom subject and body.

- Action

**Email Contact Statement**

Tool to email a statement of transactions to a contact. Use when you need to send account statements to customers or vendors.

- Action

**Email Credit Note**

Tool to email a credit note to customers. Use when you need to send a credit note via email to recipients.

- Action

**Email Invoice**

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

- Action

**Enable Invoice Payment Reminder**

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

- Action

**Get Contact**

Tool to retrieve a specific contact by ID from Zoho Inventory. Use when you need to get detailed information about a customer or vendor contact.

- Action

**Get Contact Address**

Tool to get contact address. Use when you need to retrieve address information for a specific contact.

- Action

**Get Credit Note**

Tool to retrieve a credit note by ID. Use when you need to fetch detailed information about a specific credit note.

- Action

**Get Credit Note Email Content**

Tool to get credit note email content including subject, body, recipients, and available templates. Use when you need to preview or retrieve the email content for a credit note before sending it.

- Action

**Get Current User**

Tool to get details of the currently authenticated user in Zoho Inventory. Use when you need to retrieve user profile information, permissions, or validate the authenticated user.

- Action

**Get Invoice**

Retrieve the complete details of one existing invoice by invoice ID.

- Action

**Get Item**

Retrieve the complete details of one existing inventory item by item ID.

- Action

**Get Package**

Retrieve complete details for one existing package by ID.

- Action

**Get Purchase Order**

Retrieve complete details for one existing purchase order by ID.

- Action

**Get Sales Order**

Tool to retrieve the details of an existing sales order. Use when you need to get complete information about a sales order including line items, customer details, shipping information, and order status.

- Action

**Get Variant Opening Stock**

Retrieve opening-stock configuration for one item variant.

- Action

**List Bills**

Tool to list bills. Use when needing to fetch bills for an organization.

- Action

**List Contacts**

Tool to list all contacts (customers and vendors) in Zoho Inventory. Use when needing to fetch contacts for an organization.

- Action

**List Credit Notes**

Tool to list all credit notes. Use when needing to fetch credit notes for an organization. Supports filtering by status, customer, date, and other criteria.

- Action

**List Currencies**

Tool to list all currencies configured in Zoho Inventory. Use when you need to retrieve available currencies, exchange rates, or identify the base currency for an organization.

- Action

**List Customer Payments**

List customer payments for a Zoho Inventory organization.

- Action

**List Invoice Payments**

Tool to list all payments received for a specific invoice. Use when you need to retrieve payment records for an invoice.

- Action

**List Invoices**

Tool to list all invoices in Zoho Inventory. Use when you need to retrieve invoices for an organization.

- Action

**List Items**

Tool to list all items in Zoho Inventory. Use when you need to retrieve inventory items for an organization.

- Action

**List Organizations**

Tool to list all organizations the user has access to in Zoho Inventory. Use when you need to get organization IDs or view available organizations. This action does not require organization_id as a parameter.

- Action

**List Purchase Orders**

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

- Action

**List Sales Orders**

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

- Action

**Update Contact**

Update editable details for one customer or vendor contact.

- Action

**Update Item**

Update editable catalog details for one existing Zoho Inventory item.

- Action

**Update Variant Opening Stock**

Update organization-level or location-level opening stock for one variant.

## Each app on its own

- [ **DonorPerfect** DonorPerfect Online (DPO) is fundraising and donor-management software for nonprofits.](https://apiant.ai/connections/donorperfect)
- [ **Zoho Inventory** Zoho Inventory helps businesses track stock, manage orders, and sync inventory across multiple sales...](https://apiant.ai/connections/zoho-inventory)

Reviews

## What our customers say

## More from DonorPerfect

- [ **DonorPerfect to HubSpot** HubSpot is your all-in-one stop for all of your marketing software needs.](https://apiant.ai/connect/donorperfect-to-hubspot)
- [ **DonorPerfect to Salesforce** Salesforce is a leading enterprise customer relationship management (CRM) platform.](https://apiant.ai/connect/donorperfect-to-salesforce)
- [ **DonorPerfect to Slack** Slack is a messaging platform for teams. Post messages, manage channels, users, reminders, and react to...](https://apiant.ai/connect/donorperfect-to-slack)
- [ **DonorPerfect to Mailchimp** Mailchimp marketing automation and email platform.](https://apiant.ai/connect/donorperfect-to-mailchimp)
- [ **DonorPerfect to Shopify** Shopify is a commerce platform for online stores and retail point-of-sale.](https://apiant.ai/connect/donorperfect-to-shopify)
- [ **DonorPerfect to QuickBooks Online** QuickBooks Online accounting — manage customers, invoices, bills, payments, vendors, expenses, and more via...](https://apiant.ai/connect/donorperfect-to-quickbooks-online)

## More into Zoho Inventory

- [ **HubSpot to Zoho Inventory** HubSpot is your all-in-one stop for all of your marketing software needs.](https://apiant.ai/connect/hubspot-to-zoho-inventory)
- [ **Salesforce to Zoho Inventory** Salesforce is a leading enterprise customer relationship management (CRM) platform.](https://apiant.ai/connect/salesforce-to-zoho-inventory)
- [ **Slack to Zoho Inventory** Slack is a messaging platform for teams. Post messages, manage channels, users, reminders, and react to...](https://apiant.ai/connect/slack-to-zoho-inventory)
- [ **Google Sheets to Zoho Inventory** Google Sheets](https://apiant.ai/connect/google-sheets-to-zoho-inventory)
- [ **Gmail to Zoho Inventory** Gmail is Google’s email service, featuring spam protection, search functions, and seamless integration with...](https://apiant.ai/connect/gmail-to-zoho-inventory)
- [ **Google Calendar to Zoho Inventory** Google Calendar is a time management tool providing scheduling features, event reminders, and integration...](https://apiant.ai/connect/google-calendar-to-zoho-inventory)

Questions

## DonorPerfect and Zoho Inventory, answered

###

### What can start an automation from DonorPerfect?

Any of DonorPerfect's 6 triggers in the catalog, including New donor, New gift, New or updated donor and New or updated gift. Describe the moment in plain language and your agent picks the right one.

###

### What can your agent do in Zoho Inventory when something happens in DonorPerfect?

Any of Zoho Inventory's 64 actions, including Create Bill, Create Contact, Create Contact Person and Create Credit Note. Your agent maps the data both ways and tests every scenario before it ships.

###

### Can it also run from Zoho Inventory to DonorPerfect?

Zoho Inventory has no triggers in the catalog today, so automations start in DonorPerfect. If you need the other direction, ask: your agent reads Zoho Inventory's API documentation and adds it.

###

### Do I have to build a connector for DonorPerfect or Zoho Inventory?

No. Both are in the catalog with their triggers and actions. You describe the automation; your agent builds it, tests every scenario and keeps it running.

###

### Can my AI client use DonorPerfect and Zoho Inventory without building an automation?

Yes. With your AI client connected to APIANT, ask it to do something in either app once and it runs that action on the spot. Ask for an automation and your agent builds it, tests every scenario and keeps it running. One connection covers both.

###

### What happens when something fails?

Your agent works that out for you. It plans the failure paths along with the happy path, then tests every scenario before it ships.

###

### Is there a free plan?

Yes. Every plan includes the agent, including free, and building from your own AI client spends no assistant credits.
