Zoho Books ACTION
Update Sales Order
Updates an existing sales order. See the documentation
- Action
- Writes data
- Destructive
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Zoho Books account once, then configure and run Update Sales Order from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "zoho_books-update-salesorder",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
zoho_books: { authProvisionId: "apn_xxxxxxx" },
salesorderId: "Salesorder Id",
customerId: "Customer Id",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "zoho_books-update-salesorder",
"configured_props": {
"zoho_books": { "authProvisionId": "apn_xxxxxxx" },
"salesorderId": "Salesorder Id",
"customerId": "Customer Id"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "zoho_books",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "zoho_books-update-salesorder",
arguments: {
salesorderId: "Salesorder Id",
customerId: "Customer Id",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
salesorderId Salesorder Id | string | ID of the sales order to update. Required Dynamic |
customerId Customer Id | string | ID of the customer to whom the sales order has to be created. Optional Dynamic |
contactPersons Contact Persons | string[] | A list of contact person(s) for whom sales order has to be sent. Optional Dynamic |
date date | string | The date, the sales order is created. Optional |
shipmentDate Shipment Date | string | Shipping date of sales order. Optional |
customFields Custom Fields | string[] | A list of custom field objects for a sales order. Example: {"customfield_id": "1352827000000156060", "value": "value" } See the documentation for further details. Optional |
placeOfSupply Place Of Supply | string | Place where the goods/services are supplied to. (If not given, place of contact given for the contact will be taken). Optional |
salespersonId Salesperson Id | string | ID of the salesperson. Optional |
merchantId Merchant Id | string | ID of the merchant. Optional |
gstTreatment GST Treatment | string | Choose whether the contact is GST registered/unregistered/consumer/overseas. Optional |
gstNo GST No | string | 15 digit GST identification number of the customer. Optional |
isInclusiveTax Is Inclusive Tax | boolean | Used to specify whether the line item rates are inclusive or exclusive of tax. Optional |
lineItems Line Items | string[] | A list of line items objects of a sales order. Example: {"item_order": "1352827000000156060", "name": "name", "description": "description", "quantity": "1" } See the documentation for further details. Optional |
notes Notes | string | Notes for this Sales Order. Optional |
terms Terms | string | The terms added below expressing gratitude or for conveying some information. Optional |
billingAddressId Billing Address Id | string | ID of the Billing Address Optional |
shippingAddressId Shipping Address Id | string | ID of the Shipping Address. Optional |
crmOwnerId CRM Owner Id | string | Optional |
crmCustomReferenceId CRM Custom Reference Id | string | Optional |
vatTreatment VAT Treatment | string | Enter vat treatment. Optional |
taxTreatment Tax Treatment | string | VAT treatment for the invoice. Optional |
salesorderNumber Salesorder Number | string | Mandatory if auto number generation is disabled. Optional |
referenceNumber Reference Number | string | For Customer Only : If a contact is assigned to any particular user, that user can manage transactions for the contact Optional |
isUpdateCustomer Is Update Customer | boolean | Boolean to update billing address of customer. Optional |
discount Discount | string | Discount applied to the sales order. It can be either in % or in amount. e.g. 12.5% or 190. Optional |
exchangeRate Exchange Rate | string | Exchange rate of the currency. Optional |
salespersonName Salesperson Name | string | Name of the sales person. Optional |
notesDefault Notes Default | string | Default Notes for the Sales Order Optional |
termsDefault Terms Default | string | Default Terms of the Sales Order. Optional |
taxId Tax Id | string | ID of the tax. Optional Dynamic |
taxAuthorityId Tax Authority Id | string | ID of the tax authority. Tax authority depends on the location of the customer. For example, if the customer is located in NY, then the tax authority is NY tax authority. Optional Dynamic |
taxExemptionId Tax Exemption Id | string | ID of the tax exemption. Optional Dynamic |
taxAuthorityName Tax Authority Name | string | Tax Authority's name. Optional |
taxExemptionCode Tax Exemption Code | string | Code of Tax Exemption that is applied. Optional |
avataxExemptNo Tax Exemption Id | string | ID of the tax exemption. Optional Dynamic |
avataxUseCode Avatax Use Code | string | Used to group like customers for exemption purposes. It is a custom value that links customers to a tax rule. Optional |
shippingCharge Shipping Charge | string | Shipping charges applied to the invoice. Optional |
adjustment Adjustment | string | Optional |
deliveryMethod Delivery Method | string | Optional |
estimateId Estimate Id | string | ID of the estimate associated with the Sales Order. Optional |
isDiscountBeforeTax Is Discount Before Tax | boolean | Used to specify how the discount has to applied. Either before or after the calculation of tax. Optional |
discountType Discount Type | string | How the discount is specified. Allowed values are entity_level or item_level. Optional |
adjustmentDescription Adjustment Description | string | Optional |
pricebookId Pricebook Id | string | Optional |
templateId Template Id | string | ID of the PDF template. Optional |
documents Documents | string[] | A list of documents. Optional |
zcrmPotentialId ZCRM Potential Id | string | Optional |
zcrmPotentialName ZCRM Potential Name | string | Optional |
ignoreAutoNumberGeneration Ignore Auto Number Generation | boolean | Ignore auto sales order number generation for this sales order. This mandates the sales order number. Optional |
canSendInMail Can Send In Mail | string | Can the file be sent in mail. Optional |
totalFiles Total Files | string | Total number of files. Optional |
doc doc | string | Document that is to be attached Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- zoho_books-update-salesorder
- Version
- 0.3.1
- App
- Zoho Books
- Authentication
- OAuth
- Read-only
- No
- Destructive
- Yes
- Open world
- Yes
- Source
- View on GitHub ↗